Gå til innhold

endring i coden for hver start


Anbefalte innlegg

er i nybegynner klasse å tenkte at eg skulle lage eit program som telte kor mangen ganger det hadde blit startet.

er komt så langt:

Private Sub Form_Load()

lbl1.Caption = lbl1.Caption + 1

End Sub

 

så kommer spørsmålet. korleis lagre dette til neste gang programmet bilr startet.

Lenke til kommentar
Videoannonse
Annonse

Du kan lagre og åpne en tekstfil hver gang. Denne koden åpner tekstfila:

Dim anntall

Private Sub Form_Load()
Open "C:\testfil.txt" For Input As #1
Line Input #1, anntall
Close #1

'anntall blir her da hvor mange ganger programmet HAR VÆRT åpnet
'derfor plusser vi på en

Label1.Caption = "Så mange ganger er programmet nå blitt åpnet: " & antall + 1
End Sub

og denne lagrer den:

'form_unload er det som skjer når du trykker i kryset i programmet
Private Sub form_unload(cancel As Integer)
Open "C:\testfil.txt" For Output As #1
'og vi plusser på 1 og lagrer
Print #1, (anntall + 1)
Close #1
End Sub

Endret av Jonas
Lenke til kommentar

da eg prøvde coden fikk eg error :

 

Input past end of file

 

eg prøvde å skrive #1 inn i txt fila, da for error, men det kom framleis ikkje noko nytt i programmet. tallet auka derimot inne i text fila.

Lenke til kommentar

Istedenfor å lagre antallet i en tekstfil ville jeg brukt Windows-registeret. I mangen tillfeller er dette mye lettere, selv om det vil føre til at nummeret ikke tas med fra pc til pc. Uansett, her er koden:

 

Dim Antall

Private Sub Form_Load()

' Henter informasjonen fra windows registeret
Antall = GetSetting("TestProgram", "Generelt", "Antall", 1)

Label1.Caption = "Antall ganger programmet har blitt åpnet: " & Antall

End Sub

 

Så for å lagre:

 

' Unload kjøres når programmet avslutter
Private Sub Form_Unload(Cancel As Integer)

SaveSetting "TestProgram", "Generelt", "Antall", Antall + 1

End Sub

Lenke til kommentar

For å resette antallet kan du bruke følgende kode hvor jeg antar denne knappen heter cmdReset:

 

Private Sub cmdReset_Click()

SaveSetting "TestProgram", "Generelt", "Antall", 0

End Sub

 

EDIT: Skriveleif

Endret av aadnk
Lenke til kommentar

Istedenfor å lagre antallet i en tekstfil ville jeg brukt Windows-registeret. I mangen tillfeller er dette mye lettere, selv om det vil føre til at nummeret ikke tas med fra pc til pc. Uansett, her er koden

 

er helt uenig! Kan ikke fordra programmer som skal skrive til registeret. Jeg for min del lager alltid en tekstfil på samme sted som exe fila, som jeg kaller for settings.ini, eller så lager jeg en settings.xml.

 

Det er mange folk som ikke liker programmer som skal legge alt mulig inn i registeret, fordi at programmet ikke er helt vekke fra disken din selv om du sletter mappa.

 

Dessuten lærer du deg litt enkle skrive/lese operasjoner til disk når du velger å lagre ting du vil huske til disk kontra registeret.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...