Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zeichnen (https://www.delphipraxis.net/130271-zeichnen.html)

Noedel 6. Mär 2009 22:09

Re: Zeichnen
 
stell dir mal vor, du machst alles immer nur, wenn du einen button drückst. De Timer macht das für dich in regelmäßigen abständen "selber" ....
also im timer fragst du ab welcher key grade gedrückt ist und die procedure zeichnen kommt extra und wrid nur dann aufgerufen, wenn der timer sagt key ist W A S oder D

delphi-projekt 7. Mär 2009 16:53

Re: Zeichnen
 
Also meinst du das so:

procedure TForm1.Timer2Timer(Sender: TObject);
var b:byte;

begin
if GetAsyncKeyState(ord('S'))
or GetAsyncKeyState(ord('W'))
or GetAsyncKeyState(ord('D'))
or GetAsyncKeyState(ord('A'))
then
begin

Ab jetzt weiß ich aber nicht wie ich da weiter schreiben soll.
Kannst du mir nochmal helfen.

delphi-projekt 7. Mär 2009 22:07

Re: Zeichnen
 
Mit dem Quelltext stimmt was nicht aber ich hab keine ahnung was.
Der tut einfach nicht in diesen vorgegebenen Zeiträumen makieren. Was muss ich dort ändern?



Delphi-Quellcode:
procedure TForm1.btgoClick(Sender: TObject);
var b : byte;
var Phase,Zeit: integer;
begin
case Phase of
1: begin {gerade}
  GetPortVal(port+2,@b,1);
  cbStrobe.checked:=false;
  GetPortVal(port,@b,1);
  cbData3.checked:=true;
  GetPortVal(port,@b,1);
  cbData5.checked:=true;
  GetPortVal(port,@b,1);
  cbData7.checked:=true;
  Phase:= Phase + 1;
  end;
2:begin{links}
  GetPortVal(port+2,@b,1);
  cbStrobe.checked:=false;
  GetPortVal(port,@b,1);
  cbData1.checked:=true;
  GetPortVal(port,@b,1);
  cbData3.checked:=true;
  GetPortVal(port,@b,1);
  cbData5.checked:=true;
   Phase:= Phase + 1;
  end;
3:begin{rechts}
  GetPortVal(port+2,@b,1);
  cbStrobe.checked:=false;
  GetPortVal(port,@b,1);
  cbData1.checked:=true;
  GetPortVal(port,@b,1);
  cbData3.checked:=true;
  GetPortVal(port,@b,1);
  cbData7.checked:=true;
   Phase:= Phase + 1;
  end;
4:begin {rückw.}
  GetPortVal(port+2,@b,1);
  cbStrobe.checked:=false;
  GetPortVal(port,@b,1);
  cbData1.checked:=true;
  GetPortVal(port,@b,1);
  cbData5.checked:=true;
  GetPortVal(port,@b,1);
  cbData7.checked:=true;
   Phase:= Phase + 1;
  end;
  end;


end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
Zeit:= Zeit + 1;
case Zeit of
    1..5 : Phase:= 1;
    6    : Phase:= 2;
    7..11: Phase:= 3;
    12   : begin
             Phase:= 4;
             Zeit:= 0;
            end;
            end;
            btgoClick(Sender);
            end;

end.
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

rob60 15. Mai 2009 16:35

Re: Zeichnen
 
weiss jemand wie man die farbe der linie verändern kann
:xmas: :xmas:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 Uhr.
Seite 3 von 3     123   

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