Vi spoler lige tilbage og så vil jeg prøve at besvare dine første spørgsmål:
Dim PersonNavn(10)Dim nøgleordet i VB betyder at du opretter en variabel. I VB kan du gøre det
on-the-fly, men det er ikke særlig hensigtsmæssig. (For at tvinge dig til at deklarere en variabel, kan du skrive "Option Explicit" i toppen af hver modul.)
Dim PersonNavn(10) deklarerer altså en variabel. Ydermere har du i parentes 10, hvilket indikerer at det er en array der bliver oprettet med 10 indgange, nr. 1-10 (de fleste andre programmeringssprog starter med at tælle fra
0).
Prøv at se mere her:
http://www.geocities.com/alpha_productions2/vb_arrays.htmDu kan også vælge at deklarere dit array som:
Dim PersonNavn() As String
Inden du begynder at udfylde den, finder du ud af, hvor mange navne du vil bruge:
antal = 8
Og du kan tilpasse dit array:
ReDim PersonNavn(antal)
Nu har du initialiseret dit array til 8 pladser og vil gerne indsætte noget på den 4. plads:
PersonNavn(4) = "H. C. Andersen"
Dvs. "PersonNavn(4)" opfattes som "tag variablen kaldet PersonNavn og på den 4. plads...". Vil du efterfølgende vise hvad der står, skriver du:
MsgBox PersonNavn(4)
For-løkkenEn For-løkke er rigtig smart, for den gentager noget kode hvor den eneste forskel er en tæller. I eksemplet:
For NavnId = 1 to 10
MsgBox PersonNavn(NavnId)
Next
Gentages "MsgBox PersonNavn(NavnId)" 10 gange, men hvor "NavnId" tælles én op for hver omgang. Det svarer altså til at du i stedet skrev:
MsgBox PersonNavn(1)
MsgBox PersonNavn(2)
MsgBox PersonNavn(3)
MsgBox PersonNavn(4)
MsgBox PersonNavn(5)
MsgBox PersonNavn(6)
MsgBox PersonNavn(7)
MsgBox PersonNavn(8)
MsgBox PersonNavn(9)
MsgBox PersonNavn(10)
For-løkken har altså den styrke, at du ikke behøver vide på forhånd hvor mange gange den skal gennemløbes. Hvis størrelsen på PersonNavn er variabelt, kan du skrive:
For NavnId = LBound(PersonNavn) to UBound(PersonNavn)
MsgBox PersonNavn(NavnId)
Next
LBound og UBound returnerer hhv. den laveste (Lower) og øverste (Upper) tæller i arrayet.
Til dit sidste kodeeksempel er der flere fejl:
dim ArryId as Integer
dim data as string
open "fil.navn" for output as #1
for Arryid(data) fra start to slut
next
end if
close #1
"ArryId(data)" giver bare ikke mening, da ArryId er en Integer og data en streng; så kan de bare ikke sættes sammen på den måde.
Desuden har du en "End if" stående midt i det hele.
Jeg lader det stå til dig, om at skrive koden, for at gemme indholdet af dit array/listbox i en fil. Med det jeg har beskrevet, håber jeg du kan løse problemet.