Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Punkte auf Form wie bei Delphi zur Designzeit (https://www.delphipraxis.net/18622-punkte-auf-form-wie-bei-delphi-zur-designzeit.html)

Pseudemys Nelsoni 22. Mär 2004 12:58


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:
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;
ihr könnt es ja mal in euer OnPaint ereignis in eurer form einfügen dann seht ihr was ich meine

Smokey 22. Mär 2004 13:03

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.

Pseudemys Nelsoni 22. Mär 2004 13:06

Re: Punkte auf Form wie bei Delphi zur Designzeit
 
ahhh, stimmt, danke :D

Matze 22. Mär 2004 13:08

Re: Punkte auf Form wie bei Delphi zur Designzeit
 
Delphi-Quellcode:
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;
So müsste es gehen.

Edit: Oje, bin ich langsam... :roll:

Pseudemys Nelsoni 22. Mär 2004 13:45

Re: Punkte auf Form wie bei Delphi zur Designzeit
 
hehe, danke nochmal :)

shmia 22. Mär 2004 13:52

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;

Pseudemys Nelsoni 22. Mär 2004 13:53

Re: Punkte auf Form wie bei Delphi zur Designzeit
 
was ist denn step10?

Matze 22. Mär 2004 13:55

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;

Pseudemys Nelsoni 22. Mär 2004 13:57

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

shmia 22. Mär 2004 14:01

Re: Punkte auf Form wie bei Delphi zur Designzeit
 
Zitat:

Zitat von Pseudemys Nelsoni
was ist denn step10?

Ein Feature das es in Delphi nicht gibt. :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz