Avatar billede zkou Nybegynder
09. december 2004 - 19:32 Der er 10 kommentarer og
1 løsning

Hvordan gemmer man en værdi og viser den igen

Hej,
jeg er newbie når det gælder VB, men har alligevel fået en opgave i det...

Jeg har en række tekstfelter og radiobuttons, som hver i sær har en værdi. fx.  () bil

Når folk krydser dem af og skriver noget i felter skal det gemmes, så jeg kan vise dem i et tekstfelt til sidst, så man kan se hvad man har svaret.

HELP?
Avatar billede joern Nybegynder
09. december 2004 - 19:59 #1
Hej.

Det letteste er at gemme i en ascii-fil, - ren tekst.

Open App.Path & "\gemme.txt" for Output as #1
  print #1, text1.text
  Print #1, text2.text
    .
    .
    .
  print Option1.Value
  Print option2.Value
Close #1

Open App.Path &"\gemme.txt" for InPut as #1
  Do while EOF(1) = False
    Line Input #1, data
    text1.text = data
    Line Input #2, data
    text2.text = data
  Loop
Close #1

Sådan ville jeg i øvrigt ikke gøre.  Mine tekstfelter og optionbokse ville være kontrol-arrays og jeg ville ligeledes lade data være et array.

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

Du skal naturligvis dimensionere de variabler du bruger.

Der er online hjælp i VB.  markér en kommando (reserveret ord) og tryk F1

M.v.h.  Jørn
Avatar billede brynil Nybegynder
09. december 2004 - 21:28 #2
Men, det er vel kun nødvendigt at gemme i en fil hvis der lukkes for programmet mellem afkrydsning og den senere visning. Sker det ikke, kan man nøjes med at opbevare dataene i variabler, fx. arrays, og kalde dem når de skal bruges.
Avatar billede zkou Nybegynder
09. december 2004 - 22:48 #3
hmmm....jeg skal ikke lukke programmet, det bliver vist til sidst......kan jeg bare bruge det som er skrevet eller er det lidt anderledes?
Avatar billede joern Nybegynder
09. december 2004 - 22:50 #4
Hej.

Hvis data ikke skal bevares når programmet lukkes, skal du blot gemmes i variable.
Det kan være et array, hvis du kan finde ud af at bruge det.  Elles kan du blot kalde dem noget der svarer til det, de skal indeholde.  Variable skal dimensioneres læs i hjælpen under DIM.

M.v.h.  Jørn
Avatar billede martin_moth Mester
10. december 2004 - 12:21 #5
Meget kort eksempel:

Dim strText1 as string
Dim blnRadio1 as boolean
strText1 = text1.text 'hvis du har en textbox ved navn Text1
blnRadio1 = Radiobutton1.value 'hvis du har en radiobutton ved navn Radiobutton1
Msgbox "I textboxen står der : " & strText1 & ", og radiobutton har værdien : " & blnRadio1
Avatar billede zkou Nybegynder
12. december 2004 - 20:21 #6
Ok....viser det så værdien af radioknappen? fx. hvis man kan krydse af at man har en bil, vil den så vise ordet bil i tekstfeltet?
Avatar billede joern Nybegynder
12. december 2004 - 21:16 #7
Hej.

En optionbox kan have værdien 'True' eller 'False*.

Når du ønsker dette oversat til 'bil' må du løbe markeringerne i alle option-bokse igennem og se hvilken der er 'True'.    Hvis optionbox 7 handler om bil bliver det.

If optionbox7.value = True then Text1.text = bil.

Men der er noget kluns at gøre det på den måde.  Du skal tænke dit projekt om.
I øvrigt kan man kun have én gruppe optionbokse på formen.  Vil du have flere serier af sådanne bokse, skal de være indenfor hver sin ramme.

M.v.h.  Jørn
Avatar billede martin_moth Mester
13. december 2004 - 08:24 #8
"Ok....viser det så værdien af radioknappen?"
Prøv dog - copy-paste koden, og se :o) Eller læs joerns svar...
Evt. kunne du læse i hjælpen om optionsbuttons, eller på msdn.microsoft.com
:o)
Avatar billede martin_moth Mester
28. december 2004 - 11:21 #9
Og evt. kunne du følge op på dit spørgsmål, og lukke det hvis du har fået svar nok
Avatar billede zkou Nybegynder
05. januar 2005 - 16:36 #10
Så det vil sige, at hvis jeg ønsker at have dem til at gå en række sider igennem og derved besvare en række spørgsmål, som jeg så vil vise frem igen, så skal det gøres på en anden måde?
Hvis ja...har I nogle forslag?

ps.
Grunden til jeg ik har fulgt op er at jeg har været væk fra dette projekt i lang tid, pga. skole, arbejde osv.
Avatar billede joern Nybegynder
05. januar 2005 - 22:36 #11
Velkommen i 2005.

Ja, mit forslag er fra 9-12 sidste år.  Det gælder fortsat.

M.v.h. Jørn
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