FOR Schleife Problem

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
corado
Beiträge: 48
Registriert: Mi 7. Aug 2013, 17:00

FOR Schleife Problem

Beitrag von corado »

Hallo,
wo ist hier der Unterschied?

Code: Alles auswählen

For n:=200  downTo 50 DO
          Begin
          IF n mod 10 THEN TFT_16bit_Rectangle(0, n, 100, n+10);
            delay_ms(10);
          end;
 
 
zu
TFT_16bit_Rectangle(0, 160, 100, 170);
delay_ms(10);
TFT_16bit_Rectangle(0, 150, 100, 160);

Eigentlich soll er Rechtecke übereinander zeichnen, bei dem Zweiten Weg macht er das auch..bei der For Schelide wandler das Rechteck ?!?!
Es soll sich aber vervielfachen

Es geht in der IF Schlefie darum, das in 10er Schritten gezählt werden soll
Zuletzt geändert von Lori am Do 12. Sep 2013, 12:24, insgesamt 1-mal geändert.
Grund: richtiger Highlighter

corado
Beiträge: 48
Registriert: Mi 7. Aug 2013, 17:00

Re: FOR Schleife Problem

Beitrag von corado »

wie immer wenn man fragt, obwohl seit Stunden versucht...
so sit es richtig

Code: Alles auswählen

For n:=200  downTo 50 DO
          Begin
          IF n mod 10 = 0 THEN TFT_16bit_Rectangle(0, n, 100, n+10);
            delay_ms(10);
          end;
Zuletzt geändert von Lori am Do 12. Sep 2013, 12:25, insgesamt 1-mal geändert.
Grund: Highlighter

rudi994
Beiträge: 4
Registriert: Di 25. Dez 2012, 09:07
OS, Lazarus, FPC: Win10-Pro (L 2.0.10 FPC 3.2.0)
CPU-Target: 32Bit/64Bit

Re: FOR Schleife Problem

Beitrag von rudi994 »

Obwohl es funktioniert, wäre es nicht trotzdem besser, den Ausdruck "n mod 10"
in runde Klammern zu setzen ? Also so : if (n mod 10) = 0 then ...

Im Fall "if n mod 10 then ..." liefert FPC 2.6.2 bei mir eine Fehlermeldung :
" Error: Boolean expression expected, but got 'LongInt'. "

Antworten