![]() |
Onkeydown in delphi console?
hi
ich hab hier nen kleines testprogrämmchen in der console und möchte das wenn man escape drückt das programm sich schließt. ich hab schonma bissel mit der suchfunktion nach onkeydown usw gesucht aber bin nicht wirklich fündig geworden. d.h. ich hab zwar was eingebunden das er auch ohne fehler akzeptiert aber reagieren tut er trotzdem nicht:
Delphi-Quellcode:
was mach ich falsch?
program Project1;
uses windows, SysUtils, Classes, Forms; {$apptype console} type TForm1 = class(TForm) procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key = vk_escape then exit; end; begin readln end. danke im voraus Splinter |
Re: Onkeydown in delphi console?
Hi,
bei Kommandozeilenprogs. gibts keine events. Je nachdem hilft dir vielleicht "keypressed" Ratte |
Re: Onkeydown in delphi console?
kannst du mir das mit dem keypressed evtl bissel genauer erklären?
wie benutzt man das? in der hilfe finde ich nix dazu :/ |
Re: Onkeydown in delphi console?
Zitat:
Keypressed gibt's unter Delphi nicht. Aber du kannst diese "alten" Funktionen ![]() |
Re: Onkeydown in delphi console?
Hi. Habe zwar noch keine Consolenanwendung geschrieben, aber eins fällt mir sofort auf: das exit hinter deiner if-Anweisung führt nur dazu, dass die Routine FormKeyDown verlassen wird. Bei einer Nicht-Consolenanwendung müsstet du dann folgendes in die FormKeyDown-Routine schreiben:
Code:
. Aber wie gesagt, ich weiss nicht ob das bei einer Consolenanwendung geht.
if key=vk_escape then self.close;
|
Re: Onkeydown in delphi console?
hab das jetz auch mit hilfe ner include datei und "keypressed" gelöst =) war irgendwie einfacher - -
|
Re: Onkeydown in delphi console?
Könntest du deine Lösung bitte noch hier einstellen, damit auch andere gleich eine Lösung haben, wenn sie ein ähnliches Problem haben?
|
Re: Onkeydown in delphi console?
yo also
ich hab mir diese pascal include dateien schon vor einiger zeit runtergeladen (glaube sogar von deiner hp lucky) und dann einfach:
Delphi-Quellcode:
...
{$include ConTools.inc} var wahl:char; begin wahl := readkey; If wahl = #27(*escape*) Then exit Else clrscr; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 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