jcrypter
19.05.2011, 14:10
Hallo liebes Forum,
ich versuche mich mal wieder an Bascom.
Ich habe eine Prozedur deklariert, der eine Integer übergeben wird, innerhalb der Prozedur wird die Integer in If-Verzweigungen verglichen.
Seltsamer weise, scheint die Variable während des Ablaufes verändert zu werden. Näheres dazu später:
...
Declare Sub test(byval i as Integer)
...
Do
for zaehler = 1 to 5
call test(zaehler)
next zaehler
...
call test(6)
loop
Sub test(byval i as Integer)
if i = 1 or i = 6 then
...
end if
if i = 2 or i = 6 then
...
end if
if i = 3 or i = 6 then
...
end if
if i = 4 or i = 6 then
...
end if
if i = 5 or i = 6 then
...
end if
end sub
(aus dem Gedächtnis, habe den Code nicht hier)
Wenn die Schleife durchläuft funktioniert alles reibungslos, alle Fälle werden durchlaufen.
Wenn ich die Prozedur allerdings nur einmal aufrufe und eine 6 übergebe, dann werden nicht alle Fälle ausgeführt. Ich konnte bisher noch kein Muster erkennen nachdem das passiert. Mal werden alle ausgeführt, mal nur zwei von fünf.. es ist scheinbar willkürlich, was ja nicht sein kann.
Hat jemand eine Idee woran es liegen kann?
Danke für eure Mühe!
Crypi
ich versuche mich mal wieder an Bascom.
Ich habe eine Prozedur deklariert, der eine Integer übergeben wird, innerhalb der Prozedur wird die Integer in If-Verzweigungen verglichen.
Seltsamer weise, scheint die Variable während des Ablaufes verändert zu werden. Näheres dazu später:
...
Declare Sub test(byval i as Integer)
...
Do
for zaehler = 1 to 5
call test(zaehler)
next zaehler
...
call test(6)
loop
Sub test(byval i as Integer)
if i = 1 or i = 6 then
...
end if
if i = 2 or i = 6 then
...
end if
if i = 3 or i = 6 then
...
end if
if i = 4 or i = 6 then
...
end if
if i = 5 or i = 6 then
...
end if
end sub
(aus dem Gedächtnis, habe den Code nicht hier)
Wenn die Schleife durchläuft funktioniert alles reibungslos, alle Fälle werden durchlaufen.
Wenn ich die Prozedur allerdings nur einmal aufrufe und eine 6 übergebe, dann werden nicht alle Fälle ausgeführt. Ich konnte bisher noch kein Muster erkennen nachdem das passiert. Mal werden alle ausgeführt, mal nur zwei von fünf.. es ist scheinbar willkürlich, was ja nicht sein kann.
Hat jemand eine Idee woran es liegen kann?
Danke für eure Mühe!
Crypi