Hmmm...
das klingt zwar stark nach Tippfehler, aber es ist evtl. möglich, dass es da wirklich einen seltsamen schwer reproduzierbaren Bug gibt... Betonung:
EVENTUELL! (damit ich mich im Falle eines Denkfehlers nur zu 90% anstatt 100% lächerlich mache

)
Hatte gedacht, es liegt an meinem verpfuschten System und hab' das ganze nach dem Win neu draufklatschen nicht weiter zu verfolgt.
Folgender (vermutlicher) Bug ist (bei mir) reproduzierbar:
Code: Alles auswählen
EnableExplicit
Global a = 0
Global b = 1
Global c = 10
Debug a + b * ( c / 100 * 3600 + c % 100 * 60 )
; Ausgabe = 0 (Falsch!)
Debug 0 + b * ( c / 100 * 3600 + c % 100 * 60 )
; "a" durch "0" ersetzt -> Ausgabe = 600 (OK!)
Debug a + 1 * ( c / 100 * 3600 + c % 100 * 60 )
; "b" durch "1" ersetzt -> Ausgabe = 600 (OK!)
Debug a + b * ( 10 / 100 * 3600 + 10 % 100 * 60 )
; "c" durch "10" ersetzt -> Ausgabe = 600 (OK!)
Debug a + b * c / 100 * 3600 + b * c % 100 * 60
; Klammer aufgelöst -> Ausgabe = 600 (OK!)
Habe ich hier ein Grundlegendes Low-Level-Verständnisproblem oder ist das ein Bug?
Lustiger Weise war das so, dass der Bug MITTEN in einem ewig langen Code sich absolut unberechenbar verhielt! Ab und zu war die Ausgabe korrekt:
Code: Alles auswählen
Debug a + b * ( c / 100 * 3600 + c % 100 * 60 )
; Ausgabe = einmal 0 (FALSCH); einmal 600 (OK!)
Desweiteren verhielt sich (MITTEN im Code) Folgendes genau umgekehrt wie erwartet/angedacht:
Code: Alles auswählen
If #PB_MessageRequester_Yes = MessageRequester("blind", "blind", #PB_MessageRequester_YesNo)
Debug "Yes!" ; Ausgabe bei Buttonclick "No"! FALSCH
Else
Debug "No!" ; Ausgabe bei Buttonclick "Yes"! FALSCH
EndIf
Wenn ich den Code aber isoliert hatte, lief alles einwandfrei!
Deswiteren lief alles einwandfrei, wenn ich die Bedingung umgedreht hatte:
Code: Alles auswählen
If MessageRequester("blind", "blind", #PB_MessageRequester_YesNo) = #PB_MessageRequester_Yes
Debug "Yes!" ; Ausgabe bei Buttonclick "Yes"! RICHTIG
Else
Debug "No!" ; Ausgabe bei Buttonclick "No"! RICHTIG
EndIf
War leider so doof und hatte das nimmer getestet. Frabbing hat mich jetzt aber dran erinnert. Ich habe leider nurnoch den ersten (isolierten) Code. Beim ersten Auftreten hatte ich noch
PB 4.51 drauf, jetzt
PB 4.60 beta 3.
BTW: Der Code von Sirius-2337 ergibt bei mir (wie eigentlich zu erwarten) auch korrekte Werte.