![]() |
For-Schleife und inc(x,1)
Folgende Probleme:
Ich habe x so deklariert:
Delphi-Quellcode:
Ganz oben bei
x : Integer = 1;
Delphi-Quellcode:
Mit folgender Schleife zähle ich x von 1 bis 5 hoch:
var Form1: TForm1;
x : Integer = 1;
Delphi-Quellcode:
for x := 1 to 5 do
begin inc(x,1); Caption := IntToStr(x); // dient nur dazu, dass ich die zahl SEHEN kann end; So.. Mit Canvas lass ich "malen". Von Punkt zu Punkt:
Delphi-Quellcode:
// Ein Case, von 1 bis 5
1: begin Image.Canvas.TextOut(20, 30, '1 '+IntToStr(x)); // Strich Nr. 1 erfolgt, Zahl 1 (x) wird daneben geschrieben <= // Ergebnis: <= // 1 (1) <= Image.Canvas.MoveTo(30, 30); end; .... 3: begin Image.Canvas.TextOut(40, 40, '3 '+IntToStr(x)); // Ab hier geht x verloren. Es sollte angezeigt werden <= // 3 (2) <= // Angezeigt wird lediglich "3" <= // WIESO? <= Image.Canvas.MoveTo(50, 40); end; |
Re: For-Schleife und inc(x,1)
Ich rate mal. Fehlermledung: Die Laufvariable muss eine lokale Variable sein.
|
Re: For-Schleife und inc(x,1)
Die Schleife zählt i automatisch hoch.
Du kannst / darfst die Zählvariable in der For-schleife nicht mehr verändern. |
Re: For-Schleife und inc(x,1)
@ Luckie: Richtig:
Habs jetzt so gemacht.
Delphi-Quellcode:
Aber wieso wird denn bei der Sache mit dem Canvas nicht das x drangehängt ?
procedure TForm1.Timer2Timer(Sender: TObject);
begin inc(x,1); Caption := IntToStr(x); if x = 5 then begin Timer2.Enabled := False end; end; |
Re: For-Schleife und inc(x,1)
Verbesserung zu:
Delphi-Quellcode:
So sollte es richtig erklärt sein:
// Ein Case, von 1 bis 5
1: begin Image.Canvas.TextOut(20, 30, '1 '+IntToStr(x)); // Strich Nr. 1 erfolgt, Zahl 1 (x) wird daneben geschrieben <= // Ergebnis: <= // 1 (1) <= Image.Canvas.MoveTo(30, 30); end; .... 3: begin Image.Canvas.TextOut(40, 40, '3 '+IntToStr(x)); // Ab hier geht x verloren. Es sollte angezeigt werden <= // 3 (2) <= // Angezeigt wird lediglich "3" <= // WIESO? <= Image.Canvas.MoveTo(50, 40); end; Es gibt 5 Punkte. Wird Punkt 1 angesteuert, wird eine 1 und (1) für "ansteuerung 1" dazugeschrieben. wird danach aber Punkt 3 angesteuert, wird eine 3-für Punkt 3, und eine (2) für "ansteuerung 2" dazugeschieben. so sollte es sein, laut meinem code, aber es funkt nicht. |
Re: For-Schleife und inc(x,1)
Hallo, kannst Du mal ein bissel mehr Code posten? So weiß doch niemand, wann was aufgerufen wird. Du hast einen Timer, der eine globale Variable (*tztz*) inkrementiert, und dann soll etwas gezeichnet werden. Wo "sagst" Du das denn?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz