Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Console Application mit Pfeiltasten navigieren? (https://www.delphipraxis.net/182570-console-application-mit-pfeiltasten-navigieren.html)

Lyan 1. Nov 2014 19:09

Delphi-Version: XE5

Console Application mit Pfeiltasten navigieren?
 
Hallo,

schreibe grade zur Seltenheit eine Console-Application. Würde gerne das Optionsmenü mittels Pfeiltastennavigation(hoch/runter) realisieren.
Habe auf Anhieb dazu nichts gefunden, d.h. sry falls ähnliche Themen schon öfters hier(oder sonstwo) behandelt wurden.

Wäre für WinAPI-Funktionsnamen oder Direktlösungen sehr dankbar!


Lg,

lyan

Dejan Vu 1. Nov 2014 19:44

AW: Console Application mit Pfeiltasten navigieren?
 
Irgendwie widerspricht sich das: Konsolen-Applikation und Optionsmenü.

Lyan 1. Nov 2014 19:48

AW: Console Application mit Pfeiltasten navigieren?
 
Warum ->widerspricht<- sich das?

z.B.

1. Enter info
2. Save/Load info
3. Display current info
4. Reset Values
5. Exit Program

Anstatt dass der User die Nummer (1-5) eingibt und dann enter drückt, möchte ich eben dass man in diesem Menü mit den Pfeiltasten navigieren kann, und die aktuelle Auswahl highlighted wird.

Ich würde mit meinem Wissen die pressed keys abfangen und dann mit blödem Zählen in welcher Zeile ich grade bin und SetConsoleTextAttribute() die Farbe ändern..

himitsu 1. Nov 2014 19:55

AW: Console Application mit Pfeiltasten navigieren?
 
Erstmal zu den Grundlagen:

Konsolen werden über Pipes gesteuert und davon gibt es drei Stück
Standard input (Delphi-Referenz durchsuchenInput)
Standard output (Delphi-Referenz durchsuchenOutput)
Standard error output (Delphi-Referenz durchsuchenErrOutput)

Output wird standardmäßig verwendet, wenn man Write, WriteLn und Co. benutzt
und Input bei ReadLn, Read usw.

Man kann natürlich auch direkt die genannten Funktionen oder File-Variablen benutzen, oder alles andere, was mit Dateien/Dateihandles arbeiten kann.


Zusätzlich könnte man zwar auch noch alles andere verwenden, wie z.B. spezielle Consolen-Komponenten oder GetAsyncKeyState usw.

Dejan Vu 1. Nov 2014 21:27

AW: Console Application mit Pfeiltasten navigieren?
 
Also, es widerspricht sich, weil eine Konsolenanwendung klassischerweise nur zeilenweise Ausgaben macht. Mit einem CR, LF und FF kann man natürlich einiges machen, aber .. nun gut. Nur macht man das heute eigentlich nicht mehr.

Sir Rufo 1. Nov 2014 22:11

AW: Console Application mit Pfeiltasten navigieren?
 
Wenn sich das widerspricht, wie haben die denn die Anwendungen in der Vor-GUI-Zeit gebaut?

Es ist nicht mehr üblich, weil es eben ein GUI gibt (hieß das früher dann eigentlich TUI? :mrgreen:) Und ein passendes Framework wie zu Turbo-Pascal-Zeiten ist mir auch nicht bekannt.

Also muss man wohl alles selber machen

Dejan Vu 2. Nov 2014 00:00

AW: Console Application mit Pfeiltasten navigieren?
 
Zitat:

Zitat von Sir Rufo (Beitrag 1278375)
Wenn sich das widerspricht, wie haben die denn die Anwendungen in der Vor-GUI-Zeit gebaut?

Man Rufo. Es widerspricht sich, sei doch nicht so. Konsole = Zeilenorientierte Ausgabe und Eingabe.
Vor-GUI-Zeit != Konsole.
Vor-GUI-ZEIT == Terminal.

Gähn.

PS: Und nun rate mal, wieso es 'Konsolen'- Applikation' und nicht 'Terminal'-Applikation heißt?

Wer so etwas bauen will, kann ja einen VT100-Emulator nehmen, z.B. den von Indy. Aber man kann es auch sein lassen. Oder eben mal wieder eine Fingerübung mit der Konsolen<---Möööööp---möööp- Applikation machen.

Luckie 2. Nov 2014 00:11

AW: Console Application mit Pfeiltasten navigieren?
 
Ich kann dein Ansinnen nicht so ganz nachvollziehen. Warum muss es unbedingt eine Konsolenanwendung sein, wenn du doch GUI Features willst? Konsolenartige Ausgaben kann man auch in einem Memo machen.

p80286 2. Nov 2014 11:26

AW: Console Application mit Pfeiltasten navigieren?
 
Zitat:

Zitat von Luckie (Beitrag 1278384)
Ich kann dein Ansinnen nicht so ganz nachvollziehen. Warum muss es unbedingt eine Konsolenanwendung sein, wenn du doch GUI Features willst? Konsolenartige Ausgaben kann man auch in einem Memo machen.

Nachdem Dejan Vu so darauf herum geritten ist, vielleicht soll's so etwas wie eine Terminalanwendung werden, ähnlich der alten Novell-Oberfläche.

Gruß
K-H

himitsu 2. Nov 2014 13:47

AW: Console Application mit Pfeiltasten navigieren?
 
Das waren damals aber auch GUI-Anwendung, auch wenn halt im DOS, entweder nur im Textmodus (wer kennt noch die QBASIC-IDE) oder aufwändiger auch im Grafikmodus.

Aber wozu jetzt noch keine "GUI" Anwendung im Konsolenfenster erstellen, wenn man auch gleich und vorallem viel einfacher eine VCL/FMX/Irgendwas-GUI-Anwendung erstellen kann?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 Uhr.
Seite 1 von 2  1 2      

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