Avatar billede thediabloman Nybegynder
12. november 2007 - 08:34

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?
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