Seite 1 von 1

OpenConsole(), importierte Funktionen und Unicode

Verfasst: 07.11.2015 18:12
von nueh
Ja, ja, ich weiß. Viele Themen auf einmal...

Eigentlich versuche ich, ein Passwort von der Konsole einzulesen, ohne dass es angezeigt wird. Also so, wie Linux und Mac OS X das machen. Da Inkey() und RawKey() auf Mac OS X nicht funktionieren, möchte ich entweder getpass() oder readpassphrase() benutzen.
Und da beginnen die Eigentümlichkeiten...

Das erste Problem ist, dass die Abfrage nur funktioniert, wenn ich OpenConsole() nach der importierten Funktion aufrufe.
Das funktioniert:

Code: Alles auswählen

ImportC ""
  getpass(prompt)
EndImport

*passw = getpass("Password? ")

passw.s = PeekS(*passw)

OpenConsole()
PrintN(passw)
Das nicht:

Code: Alles auswählen

ImportC ""
  getpass(prompt)
EndImport

OpenConsole()

*passw = getpass("Password? ")

passw.s = PeekS(*passw)

PrintN(passw)
Das zweite Problem besteht darin, dass der Prompt nur vollständig angezeigt wird, wenn ich die Datei nicht als Unicode-Executable erstelle.

Kann mir jemand weiterhelfen?

Viele Grüße
Niklas

Re: OpenConsole(), importierte Funktionen und Unicode

Verfasst: 07.11.2015 18:34
von ts-soft
Hab leider keinen Mac, aber dies sollte helfen:

Code: Alles auswählen

ImportC ""
  getpass(prompt.p-Ascii)
EndImport
Also mit pseudotype arbeiten.

Code: Alles auswählen

*passw = getpass("Password? ")

passw.s = PeekS(*passw, -1, #PB_Ascii)

Re: OpenConsole(), importierte Funktionen und Unicode

Verfasst: 07.11.2015 18:50
von nueh
Danke, der Prompt wird vollständig angezeigt, aber das Passwort stimmt nicht, wenn man Umlaute benutzt. Habe da schon verschiedene Kombinationen (#PB_Ascii, #PB_Unicode, Pseudotype Ascii und Unicode) probiert.
Leider läuft meine Xubuntu-Installation gerade nicht.
Klappt das bei Dir?

Re: OpenConsole(), importierte Funktionen und Unicode

Verfasst: 07.11.2015 19:01
von ts-soft
Dann probiere mal, p-UTF8, bzw. #PB_UTF8, dass sollte dann passen.

Zum Testen, jetzt extra Linux booten, habe ich gerade keine Lust.

Gruß
Thomas

Re: OpenConsole(), importierte Funktionen und Unicode

Verfasst: 07.11.2015 19:11
von nueh
Ja, das sieht unter Mac OS gut aus. Ubuntu wird gerade neu installiert, teste ich dann später.

Vielen Dank,
Niklas

Re: OpenConsole(), importierte Funktionen und Unicode

Verfasst: 07.11.2015 19:25
von ts-soft
Unter Linux kannste Dir merken, das benötigt fast immer Strings im UTF8-Format!
Dateien (txt o. ä.) für Linux auch meist im UFT8-Format und ohne BOM.