Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Eingabe in der Konsole verbergen (https://www.delphipraxis.net/33589-eingabe-der-konsole-verbergen.html)

Luckie 9. Nov 2004 15:50


Eingabe in der Konsole verbergen
 
Ich habe ein Konsolen-Programm bei dem ich ein passwort eingeben muss. Nun wäre es schön, wenn entweder statt des Passwortes Sternchen erscheinen würden oder gar nichts, wie bei runas.

Hat da jemand eine Idee?

Ultimator 9. Nov 2004 15:54

Re: Eingabe in der Konsole verbergen
 
Hmmm, du könntest, wenn eine Taste gedrückt wurde, diese in eine Char-Variable speichern. Nun kannst du die gedrückte Taste auf #0 oder was du magst. Und dann alle Char-Variablen zu einem String zusammenfassen.

Dax 9. Nov 2004 15:55

Re: Eingabe in der Konsole verbergen
 
Eine Möglichkeit wäre, jedes Zeichen an der entsprechenden Stelle in einem String zu speichern, aber ein * zu schreiben.

OrallY 9. Nov 2004 15:58

Re: Eingabe in der Konsole verbergen
 
Hi,

Naja, auch wenn man die Eingabe zuerst inner Variable speichert, wird sie trotzdem im Fenster angezeigt, oder?
Spontan würde mir ein LowLevel-Keyboardhook, der die Daten nicht weitergibt, einfallen. Aber ob das so sauber ist...

greez

Luckie 9. Nov 2004 15:58

Re: Eingabe in der Konsole verbergen
 
Nun ja. Man liest ja von der Konsole über readln ein und das greift erst, wenn Return gedrückt wurde, nur dann ist es shcon zu spät, dann steht es ja schon da. Und einzelne tastendrücke abzufangen ist wohl nicht so einfach möglich. :gruebel:

Dax 9. Nov 2004 16:05

Re: Eingabe in der Konsole verbergen
 
In TP gab's doch die Funktion KeyPressed, die man dann mit Read verwenden konnte.. AFAIR gibts in den CRT-Replacement-Units auch eine KeyPressed-Funktion.

OrallY 9. Nov 2004 16:07

Re: Eingabe in der Konsole verbergen
 
Wie schon gesagt, mit einem LowLevel-Keyboardhook, der nicht CallNextHook aufruft, gibt die Daten nicht ans System weiter. Das heißt, der Hook müsste eine Nachricht an dein Programm schicken, welche Taste nun gedrückt wurde.

Was an dieser Methode allerdings stört, ist, dass dieser Hook nur ab NT aufwärts funktioniert.

greez

static_cast 9. Nov 2004 16:13

Re: Eingabe in der Konsole verbergen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Luckie,

ich hatte mal diese freie CRT32 im netz gefunden und etwas angepasst damit sie noch mit neueren Delphi versionen funzt. Die sollte dir dabei helfen.

nailor 9. Nov 2004 16:19

Re: Eingabe in der Konsole verbergen
 
Ich glaub nicht, dass das das ist, was Luckie sucht. *kann aber irren*

static_cast 9. Nov 2004 16:28

Re: Eingabe in der Konsole verbergen
 
Zitat:

Zitat von nailor
Ich glaub nicht, dass das das ist, was Luckie sucht. *kann aber irren*

Nein natürlich nicht aber da sind die Funktionen

Delphi-Quellcode:
function KeyPressed: Boolean;
function ReadKey:Char;
function ReadVirtualKey:Word;
drin! Und Vllt kann er ja noch mehr von gebrauchen!?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:33 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