Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » Sonstiges

Geheime Passworteingabe in der Konsole wie unter Linux

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.MitgliedThePuppetMaster 22.01.2008
Function F_GetPass() as String
Dim D as String
Dim T as String
Print "Passwort:";
Do
    Sleep 1
    T = InKey()
    If T <> "" Then
        If asc(Left(T, 1)) = 13 Then Exit Do
        D += T
    End If
Loop
Print ""
Return D
End Function

Hiermit kann man eine einfache Passworteingabe ermöglichen, so wie es unter Linux auch der Fall ist.

Der Aufruf ist simpel:

Dim XPasswort as String
XPasswort = F_GetPass()
Print "Das geheime Passwort ist: " & XPasswort

Nach der Eingabe des Passworts, bekommt man dieses als String zurück und es kann anschliessend weiter verarbeitet / genutzt werden.

Die F_GetPass() Funktion dimensioniert zuerst 2 Variablen, welche einmal das aktuelle Zeichen speichert und eine weitere, welche das eigentliche eingegebene Passwort zwischenspeichert.
Anschliessend gibt man aus, was der Benutzer eingeben soll. Hier das Passwort.

Danach lässt man in einer Schleife die Tasteneingabe-Abfrage laufen, um mehrere Zeichen auswerten zu können.
Zuerst wird in der Schleife ein Sleep genutzt, um das Programm und das System nicht unter zu grosse (und unnötige) Last zu setzen. Danach holen wir das getippte Zeichen aus dem Tastaturspeicher und speichern es in T ab. Jetzt müssen wir prüfen, ob das eingegebene Zeichen ein Zeilenumbruch (Return oder Enter-Taste)ist und gegebenenfalls daraufhin die Schleife verlassen.
Sollte das nicht der Fall sein, können wir die Eingabe an unseren temporären Passwort-Speicher anhängen. Die Return-Abfrage sollte zuerst erfolgen, da sonst ein Zeilenumbruch an das Passwort gehängt wird.

Nach der Schleife geben wir einen Zeilenumbruch aus, um in die nächste Zeile zu wandern. Danach verlassen wir die Funktion und geben gleichzeitig das gespeicherte Passwort zurück.


Viel Erfolg
TPM


Zusätzliche Informationen und Funktionen
  Bearbeiten Bearbeiten  

  Versionen Versionen