Scix Skrevet 2. mai 2004 Del Skrevet 2. mai 2004 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
Jonas Skrevet 2. mai 2004 Del Skrevet 2. mai 2004 (endret) 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 2. mai 2004 av Jonas Lenke til kommentar
Scix Skrevet 2. mai 2004 Forfatter Del Skrevet 2. mai 2004 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
aadnk Skrevet 2. mai 2004 Del Skrevet 2. mai 2004 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
Scix Skrevet 2. mai 2004 Forfatter Del Skrevet 2. mai 2004 det funket bedre! men kordan blir reset knappen. må eg inn i regedit eller er det ein mulig komando for slikt og? Lenke til kommentar
aadnk Skrevet 2. mai 2004 Del Skrevet 2. mai 2004 (endret) 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 2. mai 2004 av aadnk Lenke til kommentar
d0ppler Skrevet 3. mai 2004 Del Skrevet 3. mai 2004 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå