![]() |
Punkte auf Form wie bei Delphi zur Designzeit
hallo,
ihr wisst ja sicher wie eure Form in Delphi aussieht, also überall sind punkte (raster halt). Ich habe versucht das in meinem Programm nachzumachen, es wird aber nur die erste Line gepunktet und nicht weiter, kann mir jemand sagen wieso? Ich habe es so versucht:
Delphi-Quellcode:
ihr könnt es ja mal in euer OnPaint ereignis in eurer form einfügen dann seht ihr was ich meine
procedure TForm4.FormPaint(Sender: TObject);
var x, y: integer; begin x := 0; y := 0; Form4.Canvas.Pixels[x, y] := clBlack; while y < Form4.Height do begin while x < Form4.Width do begin Application.ProcessMessages; Form4.Canvas.Pixels[x, y] := clBlack; inc(x, 10); end; inc(y, 10); end; end; |
Re: Punkte auf Form wie bei Delphi zur Designzeit
Weil dein x nach der ersten Reihe >= Form.width ist und auch in der zweiten reihe so bleibt.
|
Re: Punkte auf Form wie bei Delphi zur Designzeit
ahhh, stimmt, danke :D
|
Re: Punkte auf Form wie bei Delphi zur Designzeit
Delphi-Quellcode:
So müsste es gehen.
procedure TForm4.FormPaint(Sender: TObject);
var x, y: integer; begin x := 0; y := 0; Form4.Canvas.Pixels[x, y] := clBlack; while y < Form4.Height do begin while x < Form4.Width do begin Application.ProcessMessages; Form4.Canvas.Pixels[x, y] := clBlack; inc(x, 10); end; x := 0; //<== hie das einfügen inc(y, 10); end; end; Edit: Oje, bin ich langsam... :roll: |
Re: Punkte auf Form wie bei Delphi zur Designzeit
hehe, danke nochmal :)
|
Re: Punkte auf Form wie bei Delphi zur Designzeit
Warum einfach, wenn's auch umständlich geht ?
Delphi-Quellcode:
// umständlich
x := 0; y := 0; Form4.Canvas.Pixels[x, y] := clBlack; while y < Form4.Height do // einfach mit 2 verschachtelten For-Schleifen for y := 0 to Form4.Height [b]step 10 [/b]do for x := 0 to Form4.Width [b]step 10 [/b]do begin Form4.Canvas.Pixels[x, y] := clBlack; end; |
Re: Punkte auf Form wie bei Delphi zur Designzeit
was ist denn step10?
|
Re: Punkte auf Form wie bei Delphi zur Designzeit
Bei mir geht das mit dem Step leider nicht. :?
So geht's aber auch ;)
Delphi-Quellcode:
for y := 0 to Height do
for x := 0 to Width do begin Canvas.Pixels[x * 10, y * 10] := clBlack; end; |
Re: Punkte auf Form wie bei Delphi zur Designzeit
hallo matze :),
das geht bei mir zwar, aber veränder mal die grösse, irgendwie ist das langsamer als der andere code. EDIT: mit nem Application.ProcessmEssages dazwischen wirds sogar noch langsamer |
Re: Punkte auf Form wie bei Delphi zur Designzeit
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 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-2025 by Thomas Breitkreuz