Hallo, habe noch ein kleines Problem.
In meinem Quelltext gibt es zu viele IF-Anweisungen.
Ich muss z.B. abfragen, ob eine Variable zwischen
jeweils 2 verschiedenen Zahlenwerten liegt:
Quelltext
1: 2: 3: 4: 5: 6:
| m:=(abs(sy-y1))/(abs(sx-x1)); if (m > 2) and (m < 1000) then begin sz:= r1 ; end; if (m > 1.5) and (m < 2) then begin sz:= r2 ; end; if (m > 0.75) and (m < 1.5) then begin sz:= r3 ; end; if (m > 0.25) and (m < 0.75) then begin sz:= r4 ; end; if (m > 0) and (m < 0.25) then begin sz:= r5 ; end; |
Ein aderes Problem wäre dieser Block
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| if schus1=true then begin d11:=round(sqrt((abs(x2-sx11))+(abs (y2sy11))));dsmm11:=round(sqrt((abs(sx-sx11))+(abs(sy- sy11)))); end else begin d11:=20;dsmm11:=20; end; if schus2=true then begin d12:=round(sqrt((abs(x2-sx12))+(abs(y2- sy12))));dsmm12:=round(sqrt((abs(sx-sx12))+(abs(sy-sy12)))); end else begin d12:=20;dsmm12:=20; end; if schus3=true then begin d13:=round(sqrt((abs(x2-sx13))+(abs(y2- sy13))));dsmm13:=round(sqrt((abs(sx-sx13))+(abs(sy-sy13)))); end else begin d13:=20;dsmm13:=20; end; if schus4=true then begin d14:=round(sqrt((abs(x2-sx14))+(abs(y2- sy14))));dsmm14:=round(sqrt((abs(sx-sx14))+(abs(sy-sy14)))); end else begin d14:=20;dsmm14:=20; end; |
Kann ich ihn irgendwie mit einer Case-Anweisung
wiedergeben???
Moderiert von
Klabautermann: Code-Tags hinzugefügt.