Avatar billede knedergaard Nybegynder
25. juni 2006 - 15:55 Der er 5 kommentarer

Gemme indstillinger

Hej. Er der nogen der kan fortælle mig hvordan jeg skal gøre for at læse og skrive fra en fil. jeg har 5 Checkboxe, som jeg gerne vil have skal huske deres status, i det det er indstillinger for nogle knapper skal enten skal vises eller ikke, og det skulle gerne huskes også nå programmet lukkes. skal jeg bruge en INI fil eller en XML fil, og hvordan gør jeg lige. Håber i kan hjælpe
Avatar billede joern Nybegynder
25. juni 2006 - 17:33 #1
Hej.

Dim ini(30) as String, a as Integer 

Open App.Path & "\ditprogram.ini" for Output as #1
    print #1, checkbox1.value
    print #1, checkbox2.value
close #1

a = 0
Open App.Path & "\ditprogram.ini" for InPut as #1
    Do while EOF(1) = False
      Line Input #1, ini(a)
      a = 1 +1
    Loop
  Close #1

  If IsNumeric(ini(0) = True then IF val(ini(0)) < 2 then checkbox1.value = val(ini(0))

I denne form for ini-fil er det påkrævet at hver værdi står på den rigtige plads (linienr.)  Med IsNumeric tester jeg på om det er et tal og med < 2 tester jeg på om værdien er 0 eller 1 (men ikke negativ).  Ellers får du fejl hvis en forkert værdi får sneget sig ind på denne plads i ini-filen.

Du kan udelade array og indlæse direkte til checkboksene, men det vil jeg fraråde.
Avatar billede inglenook Praktikant
25. juni 2006 - 20:15 #2
nu spoerger du specielt efter at gemme i en fil, men jeg vil foreslaa du kigger paa kommandoerne SaveSetting og GetSetting der bruger registry i stedet for.
Avatar billede knedergaard Nybegynder
25. juni 2006 - 21:47 #3
Hej inglenook, kan du forklare lidt nærmere hvordan jeg skal gøre. har har VB 2005 og er let øvet VB bruger
Avatar billede inglenook Praktikant
25. juni 2006 - 22:03 #4
OK, bruger selv VB 6 men regener med disse funktioner ogsaa er i 2005. Gaa ind i hjaelp og soeg efter de to funktioner.

Et hurtigt eksempel:
For at gemme en vaerdi:
SaveSetting "MyKey","MySubKey","MyValue","Eksperten"

For at hente vaerdien (feks. under Form Load):
MinVariabel = GetSetting ("MyKey","MySubKey","MyValue","Ikke defineret")

Hvis MyKey findes i registry hentes vaerdien "Eksperten", ellers hentes default vaerdien (i dette tilfaelde "Ikke defineret")
Avatar billede martin_moth Mester
27. juni 2006 - 11:10 #5
Ja, der er 2 muligheder:

joern nævner hvordan du bare kan læse/skrive værdierne for dine checkboxes til en txt-fil. Du kan så skrive til filerne, når du lukker programmet, og hente igen når programmet startes

inglennook beskriver løsningen, hvor du gemmer værdierne for dine checkboxe i regrestry - så skal du ikke rode med text-filer, men skriver i stedet for i regestry - dvs. du "snavser" regestry til.

Men jeg bruger selv sidstnævnte løsning ofte. Det er beskrevet på eksperten, hvis du søger på fx. GetSetting e.l.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester