Har et problem med denne kode.
Programmet skal kunne hente hastigheden på forskellige tropper fra den eksterne fil. Det første tal er tallet på tropper, de næste 4 hvor mange råstoffer de koster, og det 5. hastigheden på troppen.
Her har jeg de relevante koder fra programmet:
Option Explicit
Dim FolkeslagValg As Integer
Dim Speed(0 To 11) As Integer
Dim TSpeed(10) As Integer
Dim SpeedArray As Integer
Dim x As Integer
Dim y As Integer
Dim Afstand As Double
Dim TAfstand As Double
Dim dy As Integer
Dim dx As Integer
Dim LoadStopper As Integer
Dim Troop As Integer
Dim Dump As String
------------
Private Sub Form_Load()
FolkeslagValg = 0
End Sub
------------
Private Sub chk11_Click()
'FolkeslagValg antager værdien 2 når man sidst har klikket på Germanerne
FolkeslagValg = 2
End Sub
Public Sub Afstandsberegning()
'x og y koordinaterne for startsted og destination gemmes
x = txtKoordX.Text
y = txtKoordY.Text
dx = txtDx
dy = txtDy
'Loadstopper defineres som 10 gange FolkeslagValg som bruges når vi skal _
loade fra den eksterne fil
LoadStopper = FolkeslagValg * 10
'FolkeslagValg ændres så den antager startværdien hvor loopet skal loade _
fra den eksterne fil
FolkeslagValg = (FolkeslagValg * 10) - 9
'SpeedArray nulstilles til 1
SpeedArray = 1
picVis.Print (FolkeslagValg)
If txtTurnPlads.Text = "0" Then
'Afstanden fra start til slutdestinationen beregnes
Afstand = ((dx - x) ^ 2 + (dy - y) ^ 2) ^ 0.5
picVis.Print (Afstand)
Else
End If
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
End Sub
Den eksterne 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
Mit problem er at de første 9 hastigheder er rigtige, men den 10. er forkert. Her er mit output:
7 11
7 12
6 13
9 14
10 15
9 16
4 17
3 18
4 19
21 20
Hvis der er nogle der har spørgsmål omkring koden, eller noget de ikke forstår om mit spørgsmål må i bare skrive..
Indlæg senest redigeret d. 09.11.2007 10:14 af Bruger #12736