Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Onkeydown in delphi console? (https://www.delphipraxis.net/22819-onkeydown-delphi-console.html)

Splinter 24. Mai 2004 16:10


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:
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.
was mach ich falsch?

danke im voraus
Splinter

Ratte 24. Mai 2004 19:06

Re: Onkeydown in delphi console?
 
Hi,

bei Kommandozeilenprogs. gibts keine events. Je nachdem hilft dir vielleicht "keypressed"

Ratte

Splinter 24. Mai 2004 20:48

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 :/

Stevie 25. Mai 2004 09:53

Re: Onkeydown in delphi console?
 
Zitat:

Zitat von Ratte
Je nachdem hilft dir vielleicht "keypressed"

Hehe, da hat aber noch jemand Pascal im Kopf, was? :wink:
Keypressed gibt's unter Delphi nicht. Aber du kannst diese "alten" Funktionen trotzdem benutzen.

easywk 25. Mai 2004 12:28

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:
if key=vk_escape then self.close;
. Aber wie gesagt, ich weiss nicht ob das bei einer Consolenanwendung geht.

Splinter 27. Mai 2004 23:09

Re: Onkeydown in delphi console?
 
hab das jetz auch mit hilfe ner include datei und "keypressed" gelöst =) war irgendwie einfacher - -

Luckie 28. Mai 2004 00:21

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?

Splinter 29. Mai 2004 03:11

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