Toon posts:

[VB6] Save and Open file*

Pagina: 1
Acties:
  • 817 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
beste tweakers,

Voor m'n eindwerk moet ik een programma programmeren die aantal onderdelen berekent naargelang de hoogte, breedte, soort bedekking,... van de serre.

Hoe kan ik nu een ingevuld formulier laten opslaan, en dan terug laten openen met gebruikte textboxen.

Moet dit aan de hand van axcess? of zijn er nog andere manieren? En er bestaat er ergens op het internet meer informatie over dat onderwerp? Hoe dat je dit moet programmeren

Gisteren tot drie uur 's nachts gezocht maar kben niet veel verder gekomen

Groeten

p.s: werk met VB6

[ Voor 13% gewijzigd door Verwijderd op 28-12-2003 13:55 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Welke taal?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09-2025
Verwijderd schreef op 28 december 2003 @ 13:54:
beste tweakers,

Voor m'n eindwerk moet ik een programma programmeren die aantal onderdelen berekent naargelang de hoogte, breedte, soort bedekking,... van de serre.

Hoe kan ik nu een ingevuld formulier laten opslaan, en dan terug laten openen met gebruikte textboxen.

Moet dit aan de hand van axcess? of zijn er nog andere manieren? En er bestaat er ergens op het internet meer informatie over dat onderwerp? Hoe dat je dit moet programmeren

Groeten
Praktisch iedere programmeertaal kan een database aanspreken om hieren bepaalde waardes op te slaan en die later weer op de roepen. Een voorbeeld van een database is inderdaad ACCESS.

Het principe is simpel, je laat iemand de waardes invullen, slaat ze op in de database en laat je berekeningen zien. Als je nog meer wil weten moet je wat informatie over databases opzoeken op google.com :)

Verwijderd

Topicstarter
Werk dus met VB6

Het gisteren voortdurend gezocht op internet naar Database's maar kom altijd terecht op cursussen om te betalen

  • Mizitras
  • Registratie: September 2002
  • Niet online
Gebruik je VB écht of heb je VB (illegaal) gedownload en wat zitten slepen en plakken? ;)

Check google desnoods eens op VBA. Kan je dit ahv MS Acces doen.
Geen SQL-database toeren opgaan, dat heb je hiervoor zeker niet nodig.

"the fucking alpha cpp compiler seems to fuck up the goddam type "LPITEMIDLIST", so to work around the fucking peice of shit compiler we pass the last param as an void *instead of a LPITEMIDLIST"


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Een database is niet eens per se nodig. Ik neem aan dat je sowieso ook de boel intern wel kan opslaan, eventueel op schijf. Zeker als het niet veel data is dat bewaard moet worden.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Ja werk met VB6, Ken iemand uit een bedrijf die voortdurend naar het buitenland gaat, Hij heeft dat programma daar ergens gevonden

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09-2025
Je kan natuurlijk ook zonder een database werken. Dan moet je zelf gaan uitzoeken hoe je dingen in text-files wegschrijft en weer uitleest :)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

courvoisier schreef op 28 december 2003 @ 14:01:
Je kan natuurlijk ook zonder een database werken. Dan moet je zelf gaan uitzoeken hoe je dingen in text-files wegschrijft en weer uitleest :)
Hoezo textfiles? Zo goed ken ik VB6 niet; maar ik gok dat je de boel ook binair kan serializen en zo op disk opslaan.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Programma moet ook New file bevatten,

Programma heeft nu 30 forms en moet voortdurend gerest kunnen worden, maar ook opgeslagen worden voor de andere serres

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09-2025
gorgi_19 schreef op 28 december 2003 @ 14:02:
[...]

Hoezo textfiles? Zo goed ken ik VB6 niet; maar ik gok dat je de boel ook binair kan serializen en zo op disk opslaan.
In dat geval moet de TS hier eens naar kijken:

http://www.vb-helper.com/howto_vb6_serialize.html

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 28 december 2003 @ 14:02:
Programma moet ook New file bevatten,

Programma heeft nu 30 forms en moet voortdurend gerest kunnen worden, maar ook opgeslagen worden voor de andere serres
een form geresetten is gewoon alle items van een form doorlopen en op de default value zetten.

Ook oude serres opvragen? Lijkt me geen probleem; of zelf een bestand (laten) maken door data te serializen, op te slaan in tekstbestanden, in een database, etc.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Ok begrijp ik,

Maar hoe? heb jammer genoeg nog niet veel gevonden op internet, weet niemand een url met meer informatie over database's

met http://www.vb-helper.com/howto_vb6_serialize.html

geraak ik al verder, weet er iemand nog url's?

[ Voor 30% gewijzigd door Verwijderd op 28-12-2003 14:08 ]


  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09-2025
Verwijderd schreef op 28 december 2003 @ 14:07:
Ok begrijp ik,

Maar hoe? heb jammer genoeg nog niet veel gevonden op internet, weet niemand een url met meer informatie over database's

met http://www.vb-helper.com/howto_vb6_serialize.html

geraak ik al verder, weet er iemand nog url's?
Je moet wel weten dat je dan serialized naar XML maar je moet naar binary voor het geval je data op je schijf wil opslaan was eigenlijk een fout link :)

Voor informatie hoe je VB6 aan een database kan koppen is genoeg info te vinden op vbCity Forums en google :)

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Getting started with VB 6 and XML

Accessing INI Files

Mischien dat je hier verder mee kunt komen?

Noushka's Magnificent Dream | Unity


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Voor het niveau van de TS lijkt me dit makkelijker dan XML files:

Demo:

Maak een form met 4 textboxes (text1 t/m text4) en 2 buttons erop (Command1 en Command2)

Plak de volgende code:
Visual Basic 6:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Option Explicit

Private Type myData
    Name As String * 200
    Height As Long
    Width As Long
    Texture As String * 100
End Type
    
Private Sub Command1_Click()
    Dim strFilename As String
    
    strFilename = InputBox("Geef een bestandsnaam om op te slaan", "Opslaan data", "C:\test.dat")
    SaveData strFilename
End Sub

Private Sub Command2_Click()
    Dim strFilename As String
    
    strFilename = InputBox("Geef een bestandsnaam om op te openen", "Openen data", "C:\test.dat")
    LoadData strFilename
End Sub

Private Sub Form_Load()
    Text1.Text = "Testnaam"
    Text2.Text = "10"
    Text3.Text = "20"
    Text4.Text = "Testbedekking"
    Command1.Caption = "Save"
    Command2.Caption = "Load"
End Sub

Private Sub LoadData(strFilename As String)
    Dim tmpData As myData
    Dim ff As Integer
    
    If Len(Dir(strFilename, vbNormal)) > 0 Then
        ff = FreeFile
        Open strFilename For Binary As #ff Len = Len(tmpData)
        Get #ff, 1, tmpData
        Close #ff
        
        Text1.Text = tmpData.Name
        Text2.Text = tmpData.Height
        Text3.Text = tmpData.Width
        Text4.Text = tmpData.Texture
    Else
        MsgBox "File not found!", vbCritical + vbOKOnly, "Error opening file"
    End If
End Sub

Private Sub SaveData(strFilename As String)
    Dim tmpData As myData
    Dim ff As Integer
    
    tmpData.Name = Text1.Text
    tmpData.Height = Text2.Text
    tmpData.Width = Text3.Text
    tmpData.Texture = Text4.Text
    ff = FreeFile
    Open strFilename For Binary As #ff Len = Len(tmpData)
    Put #ff, 1, tmpData
    Close #ff
End Sub


Dit voorbeelt toont:
• Het gebruik van UDT's (User defined types)
• Het openen en sluiten van een file handle (Freefile, Open en Close)
• Het lezen en schrijven van binary files m.b.v. een UDT (Get en Put)
• Het controleren of een file bestaat (LoadData sub)

Dit voorbeeld toont niet:
• Dat er meerdere records in 1 bestand kunnen @TS: Record 1 wordt in dit voorbeeld altijd ge-get en ge-put, maar je kan dus ook een ander record nummer gebruiken om zo meerdere berekeningen in 1 bestand op te slaan
• Foutafhandeling
• Invoer controle (er wordt niet gecontroleerd op geldige input)
• Vele andere basisprincipes

Besef overigens goed dat deze manier ook zat nadelen kent, waaronder problemen met backwards compatibility van je software als je je UDT verandert. In zo'n geval (en overigens in de meeste gevallen) is XML een betere/mooiere oplossing. Maar gezien het niveau van TS lijkt me dat nog even "out of reach" :) (NOFI natuurlijk!)

Maar TS moet hier makkelijk mee op weg kunnen. Overigens bevat de VB6 help functie en MSDN hier uitgebreide documentatie over...


...en weer kan RobIII het niet laten complete voorbeelden voor te kauwen :P

[ Voor 33% gewijzigd door RobIII op 28-12-2003 17:27 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Ok, heb het getest zou hieruit verder kunnen werken.

Heeft iemand nog een voorbeeld met een Database in Acess, let wel men zou kunnen moeten opnieuw beginnen en het voorgaande opslaan en openen

en voor ik het vergeet thx Rob 3

En Rob3 zou dit ook werken als ik gebruik maak van een MDI- form, of moet ik dan save en load in ieder formulier apart plaatsen???

[ Voor 32% gewijzigd door Verwijderd op 30-12-2003 00:10 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
• a) Mijn naam is RobIII, niet Rob3... [/flauw]

• b) Waarom zou dit niet werken in een MDI? Als je de documentatie had nagelezen dan kon je zien dat allebei de subs (LoadData en SaveData) hun eigen filehandle aanvragen met freefile en in diezelfde sub weer vrijgeven, dus ze staan compleet los van elkaar...

• c1) Probeer voortaan duidelijker te zijn in je posts, want hier is soms geen touw aan vast te knopen.

• c2) Probeer voortaan eerst te zoeken (@Got, @Google, @MSDN en @VB documentatie) voordat je hier iets vraagt. Deze vragen zijn erg basic en makkelijk te vinden.

• c3) Je zou het natuurlijk ook effe kunnen proberen voordat je het hier vraagt. Die post maken duurt langer dan je vraag gewoon effe uit te proberen.

Oh, ... en graag gedaan :P

[ Voor 15% gewijzigd door RobIII op 30-12-2003 01:21 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Klopt wat je zegt, maar ik heb voortdurend gezocht naar een oplossing op het internet via google, maar had nooit echt iets gevonden die klopte.
Of ik had te weinig verstand van VB6 om de code's aan te passen volgens mijn wensen, volgens hoe het programma moet zijn.
Maar met deze code dat u mij gegeven hebt ben ik al mooi vergeraakt, ook in een MDI-form, toch moet ik elk formulier nog met een aparte command-button opslaan omdat deze fomulieren niet dezelfde textboxen bevatten.
Wat ik wel kan doen is gebruik maken met Save All, maar ik heb nog niet de code gevonden.
Wanneer m'n programma van m'n eindwerk klaar is, zal ik je het bezorgen. U kunt dan uitgebreid commentaar geven ;-)

Nogmaals Dank
Pagina: 1