Fejl ved hentning af data fra ekstern fil
Jeg har lavet denne kode, hvor man i formen kan vælge et af tre folkeslag, der giver FolkeslagValg værdien 1, 2 eller 3.Når folkeslagvalg er 2 skal programmet hente værdien Speed fra de enheder i filen fra 11-20.
Derfor laver jeg FolkeslagValg og LoadStopper om til at blive:
Folkeslagvalg = (FolkeslagValg*10)-9
LoadStopper = FolkeslagValg-9
Her er koden
Open "f:\Ny Mappe\Travian helper\Troops.txt" For Input As #1
Do While FolkeslagValg <= LoadStopper And Not EOF(1)
'Så længe FolkeslagValg er mindre eller lig Loadstopper vil programmet blive _
ved med at hente information fra den eksterne fil
Input #1, Troop, Dump, Dump, Dump, Dump, Speed(SpeedArray)
If Troop = FolkeslagValg Then
'Hvis Troop-tallet er det samme som FolkeslagValg vil der blive _
til SpeedArray, så indtil dette sker vil SpeedArray=1 blive _
overskrevet hver gang den når næste linie, og der vil blive lagt _
1 til FolkeslagValg.
picVis.Print (Speed(SpeedArray) & " " & FolkeslagValg)
FolkeslagValg = FolkeslagValg + 1
SpeedArray = SpeedArray + 1
End If
Loop
Close
Jeg henter information fra denne fil:
1,120,100,180,40,6
2,100,130,160,70,5
3,150,160,210,80,7
4,140,160,20,40,16
5,550,440,320,100,14
6,550,640,800,180,10
7,900,360,500,70,4
8,950,1350,600,90,3
9,30750,27200,45000,37500,4
10,5800,5300,7200,5500,5
11,95,75,40,40,7
12,145,70,85,40,7
13,130,120,170,70,6
14,160,100,50,50,9
15,370,270,290,75,10
16,450,515,480,80,9
17,1000,300,350,70,4
18,900,1200,600,60,3
19,35500,26600,25000,27200,4
20,7200,5500,5800,6500,5
21,100,130,55,30,7
22,140,150,185,60,6
23,170,150,20,40,17
24,350,450,230,60,19
25,360,330,280,120,16
26,500,620,675,170,13
27,950,555,330,75,4
28,960,1450,630,90,3
29,30750,45400,31000,37500,5
30,5500,7000,5300,4900,5
Og når jeg så sætter programmet til at køre hvor FolkeslagValg er 2, henter den fint informationerne fra 11-19, men når den henter fra 20, vil Speed(10) blive 21, altså det første tal i næste linie.
Når FolkeslagValg antager værdien 3, vil programmet crashe pga at filen er slut inden Loopet slutter.
Hvorfor går Loopet ned og henter information fra næste linie?