![]() |
Leertaste und Funktion
Hallo Netz,
weiß einer von Euch, ob es in Delphi eine Funktion gibt, nach der man erst die Leertaste oder auch eine andere Taste außer Returen betätigen muß, damit dass Programm weiterläuft. Danke Euch! Viele Grüße Kaddy :coder: |
Du meinst, dass die nächste Funktion/Prozedur erst nach einem Tastendruck ausgeführt wird? ja das geht. Mit der Onkeydown oder Onkeyup funktion von z.B. Form1. Da kannst du sagen
Delphi-Quellcode:
man liest sich, Stanlay :firejump:
IF Key = 13 then ShowMessage('Du hast die Leertaste gedrückt');
|
Hallo Stanley,
im OnKeyDown und Press mit if Key = #13 Grüsse, Daniel :hi: |
Moin Kaddy,
ein normales Windowsprogramm wartet sowieso, solange keine Eingabe, in welcher Form auch immer, gemacht wird. Was hast Du denn vor? |
@ daniel: und wann nehm ich dann nur die Zahl. Ich werde noch verrückt mit den sch*** keys. :evil:
Danke. |
Moin Stanlay,
ist doch recht einfach. Schau Dir doch einfach mal die Deklaration der jeweils übergebenen Parameter an. Wenn ein Char gefordert ist (KeyPress) musst Du halt # und die Nummer des Zeichens nehmen, ansonsten die Zahl (oder eben VK_xxxx). |
Der Christian macht mich heute ganz glücklich. da lernt man ja richtig was, hier im Forum. Danke schon wieder. Stanlay :hello:
|
moin,
danke euch. Ich habe verstanden, dass ich eine Procedure mit onkeydown machen muß. Wie bekomme ich nun die zum Laufen. Kann ja nicht mit doppelklick auf den Button starten. Danke! Gruß Kaddy |
die OnKeyxxx Methoden/Prozeduren werden automatisch aufgerufen/ausgeführt wenn die jeweilige Komponenten (einige haben kein OnKeyxx Ereigniss) den Eingabefocus hat und eine Taste gedrückt wird.
|
Geht bei mir leider nicht. Habe mal meinen Code dazugepackt. Vielleicht kann mir ja einer helfen. Danke!
Delphi-Quellcode:
procedure TForm1.Eingabefeldonkeydown(Sender: TObject; var Key: Word;
Shift: TShiftState); var i: integer; j: integer; begin //Eingabe der Maschinendaten Label1.caption:='Anzahl Maschinen eingeben'; if key=13 then begin mac:=strtoint(Eingabefeld.text); end; //Eingabe der Periodenanzahl Label1.caption:='Anzahl Perioden eingeben'; if key=13 then begin per:=strtoint(Eingabefeld.text); end; //Eingabe der Kapazitäten der Maschinen je Periode Label1.Caption:=('Die Kapazitäten der '+inttostr(mac)+ ' eingeben:'); i:=1; j:=1; while i<mac+1 do begin while j<per+1 do begin Label2.Caption:=('Periode '+inttostr(i)+'Maschine'+inttostr(j)); machine[per,mac].cap:=strtoint(Eingabefeld.text); j:=j+1; end; i:=i+1; j:=1; end; end; Gruß Kaddy 8) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:30 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