Passwort Input Problem

  • Hallo erstmal,

    ich möchte einen sehr einfachen Netzwerk - Chat probieren, ich komme sehr gut voran, nur habe ich jetzt wieder einmal ein problem, bei dem Input für das passwort soll nicht der Text sondern '*' angzeigt werden.
    Das ganze funktioniert normalerweise mit GUICtrlSetStyle() doch ich habe das versucht und es funktioniert nicht, es wird einfach der Text angezeigt.

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <File.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $chat_fenster = GUICreate("Chat", 500, 500, 400, 100);Chatfenster

    [/autoit] [autoit][/autoit] [autoit]

    $reg_fenster = GUICreate("Registrieren", 400, 200, 475, 300);Registrierungsfenster
    GUISetBkColor("0xCCCCFF", $reg_fenster)

    [/autoit] [autoit][/autoit] [autoit]

    $reg_vorname_label = GUICtrlCreateLabel("Vorname: ", 10, 17)
    $reg_vorname_input = GUICtrlCreateInput("", 130, 10, 200)

    [/autoit] [autoit][/autoit] [autoit]

    $reg_nachname_label = GUICtrlCreateLabel("Nachname: ", 10, 47)
    $reg_nachname_input = GUICtrlCreateInput("", 130, 40, 200)

    [/autoit] [autoit][/autoit] [autoit]

    $reg_user_label = GUICtrlCreateLabel("Benutzername: ", 10, 77)
    $reg_user_input = GUICtrlCreateInput("", 130, 70, 200)

    [/autoit] [autoit][/autoit] [autoit]

    $reg_pass1_label = GUICtrlCreateLabel("Passwort: ", 10, 107)
    $reg_pass1_input = GUICtrlCreateInput("", 130, 100, 200)

    [/autoit] [autoit][/autoit] [autoit]

    $reg_pass2_label = GUICtrlCreateLabel("Passwort wiederholen: ", 10, 137)
    $reg_pass2_input = GUICtrlCreateInput("", 130, 130, 200)

    [/autoit] [autoit][/autoit] [autoit]

    $reg_regbtn = GUICtrlCreateButton("Registrieren", 10, 167, 100)
    $reg_zuruecksetzen = GUICtrlCreateButton("Zurücksetzen", 110, 167, 100)
    $reg_abbrechen = GUICtrlCreateButton("Schließen", 210, 167, 100)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $login_fenster = GUICreate("Login", 350, 130, 500, 350);Loginfenster
    GUISetState(@SW_SHOW, $login_fenster)
    GUISetBkColor("0xCCCCFF", $login_fenster);Loginfenster Hintergrundfarbe: Hellblau

    [/autoit] [autoit][/autoit] [autoit]

    $login_user_label = GUICtrlCreateLabel("Benutzername: ", 10, 10)
    $login_user_input = GUICtrlCreateInput("", 10, 25, 300)

    [/autoit] [autoit][/autoit] [autoit]

    $login_pass_label = GUICtrlCreateLabel("Passwort: ", 10, 50)
    $login_pass_input = GUICtrlCreateInput("", 10, 65, 300)

    [/autoit] [autoit][/autoit] [autoit]

    $login_loginbtn = GUICtrlCreateButton("Login", 10, 90, 100)
    $login_regbtn = GUICtrlCreateButton("Registrieren", 110, 90, 100)
    $login_abbrechen = GUICtrlCreateButton("Schließen", 210, 90, 100)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetStyle($login_pass_input, $ES_PASSWORD)
    GUICtrlSetStyle($reg_pass1_input, $ES_PASSWORD)
    GUICtrlSetStyle($reg_pass2_input, $ES_PASSWORD)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    If WinActive("Login") Then
    $login_msg = GUIGetMsg($login_fenster)

    Switch $login_msg
    Case $GUI_EVENT_CLOSE;Schließen = Beenden
    Exit
    Case $login_abbrechen;Schließen Button = Beenden
    Exit
    Case $login_regbtn;Registrieren = $reg_fenster anzeigen
    GUISetState(@SW_SHOW, $reg_fenster)
    Case $login_loginbtn
    $login_user_text = GUICtrlRead($login_user_input)
    $login_pass_text = GUICtrlRead($login_pass_input)
    If FileExists("C:\Users\Michael\AutoIt\Chat\Users\"&$login_user_text&".txt") Then
    $login_user_file = FileOpen("C:\Users\Michael\AutoIt\Chat\Users\"&$login_user_text&".txt", 0)
    If FileReadLine($login_user_file, 4) = $login_pass_text Then
    GUISetState(@SW_SHOW, $chat_fenster)
    Else
    MsgBox(64, "Passwort Fehler", "Das eingegeben Passwort stimmt nicht")
    EndIf
    Else
    MsgBox(64, "Benutzer Fehler", "Der eingegeben Benutzer existiert nicht")
    EndIf
    GUICtrlSetData($login_pass_input, "")
    EndSwitch
    EndIf

    If WinActive("Registrieren") Then
    $reg_msg = GUIgetMsg($reg_fenster)

    Switch $reg_msg
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $reg_fenster)
    Case $reg_abbrechen
    GUISetState(@SW_HIDE, $reg_fenster)
    Case $reg_regbtn
    $reg_vorname_text = GUICtrlRead($reg_vorname_input)
    $reg_nachname_text = GUICtrlRead($reg_nachname_input)
    $reg_user_text = GUICtrlRead($reg_user_input)
    $reg_pass1_text = GUICtrlRead($reg_pass1_input)
    $reg_pass2_text = GUICtrlRead($reg_pass2_input)

    If Not ((($reg_vorname_text = "")OR($reg_vorname_text = " "))OR(($reg_nachname_text = "")OR($reg_nachname_text = " "))OR(($reg_user_text = "")OR($reg_user_text = " "))OR(($reg_pass1_text = "")OR($reg_pass1_text = " "))OR(($reg_pass2_text = "")OR($reg_pass2_text = " "))) Then
    If ($reg_pass1_text==$reg_pass2_text) Then
    If Not FileExists(@WorkingDir&"\Users\"&$reg_user_text&".txt") Then
    _FileCreate(@WorkingDir&"\Users\"&$reg_user_text&".txt")
    $reg_file = FileOpen(@WorkingDir&"\Users\"&$reg_user_text&".txt", 1)
    FileWrite($reg_file, $reg_vorname_text&@CRLF)
    FileWrite($reg_file, $reg_nachname_text&@CRLF)
    FileWrite($reg_file, $reg_user_text&@CRLF)
    FileWrite($reg_file, $reg_pass1_text&@CRLF)
    FileClose($reg_file)
    If FileExists(@WorkingDir&"\Users\"&$reg_user_text&".txt") Then
    MsgBox(64, "Info", "Sie wurden erfolgreich registriert")
    GUISetState(@SW_HIDE, $reg_fenster)
    Else
    MsgBox(64, "Info", "Es ist ein Fehler bei der Registrierung aufgetreten")
    EndIf
    Else
    MsgBox(64, "Benutzer Info", "Der eingegebene Benutzer ist schon vorhanden")
    EndIf
    Else
    MsgBox(64, "Passwort", "Die beiden Passwörter stimmen nicht über ein")
    EndIf
    Else
    MsgBox(64, "Registrierungs Info", "Bitte füllen Sie alle Felder aus")
    EndIf
    Case $reg_zuruecksetzen
    GUICtrlSetData($reg_vorname_input, "")
    GUICtrlSetData($reg_nachname_input, "")
    GUICtrlSetData($reg_user_input, "")
    GUICtrlSetData($reg_pass1_input, "")
    GUICtrlSetData($reg_pass2_input, "")
    EndSwitch
    EndIf

    If WinActive("Chat") Then
    $chat_msg = GUIGetMsg($chat_fenster)

    Switch $chat_msg
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $chat_fenster)
    EndSwitch
    EndIf
    WEnd

    [/autoit]

    Ich hoffe mir kann jemand helfen. :(

  • ich finde den style auch gar nicht so schlecht:

    [autoit]

    $reg_pass1_input = GUICtrlCreateInput("", 130, 100, 200,0x21)

    [/autoit]
  • ich kriege es nicht zu laufen ! (bin zu dumm ?)

    habe das Skript von mofi93 kopiert (Zwecks Lernen - sorry morfi93 weil vorher nicht abgesprochen ), und habe zu jedem Inputbox $ES_PASSWORD extra geschrieben um zu testen, ob das wirklich funktioniert.

    Ergebnis :
    - inputbox erscheinen alles größer (höher) als vorher.
    - was man eingibt erscheint vollständig deutlich zu lesen, keine **** zu sehen.

    Was habe ich falsch gemacht ?

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>
    #include <File.au3>

    $chat_fenster = GUICreate("Chat", 500, 500, 400, 100);Chatfenster

    $reg_fenster = GUICreate("Registrieren", 400, 200, 475, 300);Registrierungsfenster
    GUISetBkColor("0xCCCCFF", $reg_fenster)

    $reg_vorname_label = GUICtrlCreateLabel("Vorname: ", 10, 17)
    $reg_vorname_input = GUICtrlCreateInput("", 130, 10, 200)

    $reg_nachname_label = GUICtrlCreateLabel("Nachname: ", 10, 47)
    $reg_nachname_input = GUICtrlCreateInput("", 130, 40, 200)

    $reg_user_label = GUICtrlCreateLabel("Benutzername: ", 10, 77)
    $reg_user_input = GUICtrlCreateInput("", 130, 70, 200)

    $reg_pass1_label = GUICtrlCreateLabel("Passwort: ", 10, 107)
    $reg_pass1_input = GUICtrlCreateInput("", 130, 100, 200, $ES_PASSWORD)

    $reg_pass2_label = GUICtrlCreateLabel("Passwort wiederholen: ", 10, 137)
    $reg_pass2_input = GUICtrlCreateInput("", 130, 130, 200, $ES_PASSWORD)

    $reg_regbtn = GUICtrlCreateButton("Registrieren", 10, 167, 100)
    $reg_zuruecksetzen = GUICtrlCreateButton("Zurücksetzen", 110, 167, 100)
    $reg_abbrechen = GUICtrlCreateButton("Schließen", 210, 167, 100)


    $login_fenster = GUICreate("Login", 350, 130, 500, 350);Loginfenster
    GUISetState(@SW_SHOW, $login_fenster)
    GUISetBkColor("0xCCCCFF", $login_fenster);Loginfenster Hintergrundfarbe: Hellblau

    $login_user_label = GUICtrlCreateLabel("Benutzername: ", 10, 10)
    $login_user_input = GUICtrlCreateInput("", 10, 25, 300)

    $login_pass_label = GUICtrlCreateLabel("Passwort: ", 10, 50)
    $login_pass_input = GUICtrlCreateInput("", 10, 65, 300, $ES_PASSWORD)

    $login_loginbtn = GUICtrlCreateButton("Login", 10, 90, 100)
    $login_regbtn = GUICtrlCreateButton("Registrieren", 110, 90, 100)
    $login_abbrechen = GUICtrlCreateButton("Schließen", 210, 90, 100)


    GUICtrlSetStyle($login_pass_input, $ES_PASSWORD)
    GUICtrlSetStyle($reg_pass1_input, $ES_PASSWORD)
    GUICtrlSetStyle($reg_pass2_input, $ES_PASSWORD)

    While 1
    If WinActive("Login") Then
    $login_msg = GUIGetMsg($login_fenster)

    Switch $login_msg
    Case $GUI_EVENT_CLOSE;Schließen = Beenden
    Exit
    Case $login_abbrechen;Schließen Button = Beenden
    Exit
    Case $login_regbtn;Registrieren = $reg_fenster anzeigen
    GUISetState(@SW_SHOW, $reg_fenster)
    Case $login_loginbtn
    $login_user_text = GUICtrlRead($login_user_input)
    $login_pass_text = GUICtrlRead($login_pass_input)
    If FileExists("C:\Users\Michael\AutoIt\Chat\Users\"&$login_user_text&".txt") Then
    $login_user_file = FileOpen("C:\Users\Michael\AutoIt\Chat\Users\"&$login_user_text&".txt", 0)
    If FileReadLine($login_user_file, 4) = $login_pass_text Then
    GUISetState(@SW_SHOW, $chat_fenster)
    Else
    MsgBox(64, "Passwort Fehler", "Das eingegeben Passwort stimmt nicht")
    EndIf
    Else
    MsgBox(64, "Benutzer Fehler", "Der eingegeben Benutzer existiert nicht")
    EndIf
    GUICtrlSetData($login_pass_input, "")
    EndSwitch
    EndIf

    If WinActive("Registrieren") Then
    $reg_msg = GUIgetMsg($reg_fenster)

    Switch $reg_msg
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $reg_fenster)
    Case $reg_abbrechen
    GUISetState(@SW_HIDE, $reg_fenster)
    Case $reg_regbtn
    $reg_vorname_text = GUICtrlRead($reg_vorname_input)
    $reg_nachname_text = GUICtrlRead($reg_nachname_input)
    $reg_user_text = GUICtrlRead($reg_user_input)
    $reg_pass1_text = GUICtrlRead($reg_pass1_input)
    $reg_pass2_text = GUICtrlRead($reg_pass2_input)

    If Not ((($reg_vorname_text = "")OR($reg_vorname_text = " "))OR(($reg_nachname_text = "")OR($reg_nachname_text = " "))OR(($reg_user_text = "")OR($reg_user_text = " "))OR(($reg_pass1_text = "")OR($reg_pass1_text = " "))OR(($reg_pass2_text = "")OR($reg_pass2_text = " "))) Then
    If ($reg_pass1_text==$reg_pass2_text) Then
    If Not FileExists(@WorkingDir&"\Users\"&$reg_user_text&".txt") Then
    _FileCreate(@WorkingDir&"\Users\"&$reg_user_text&".txt")
    $reg_file = FileOpen(@WorkingDir&"\Users\"&$reg_user_text&".txt", 1)
    FileWrite($reg_file, $reg_vorname_text&@CRLF)
    FileWrite($reg_file, $reg_nachname_text&@CRLF)
    FileWrite($reg_file, $reg_user_text&@CRLF)
    FileWrite($reg_file, $reg_pass1_text&@CRLF)
    FileClose($reg_file)
    If FileExists(@WorkingDir&"\Users\"&$reg_user_text&".txt") Then
    MsgBox(64, "Info", "Sie wurden erfolgreich registriert")
    GUISetState(@SW_HIDE, $reg_fenster)
    Else
    MsgBox(64, "Info", "Es ist ein Fehler bei der Registrierung aufgetreten")
    EndIf
    Else
    MsgBox(64, "Benutzer Info", "Der eingegebene Benutzer ist schon vorhanden")
    EndIf
    Else
    MsgBox(64, "Passwort", "Die beiden Passwörter stimmen nicht über ein")
    EndIf
    Else
    MsgBox(64, "Registrierungs Info", "Bitte füllen Sie alle Felder aus")
    EndIf
    Case $reg_zuruecksetzen
    GUICtrlSetData($reg_vorname_input, "")
    GUICtrlSetData($reg_nachname_input, "")
    GUICtrlSetData($reg_user_input, "")
    GUICtrlSetData($reg_pass1_input, "")
    GUICtrlSetData($reg_pass2_input, "")
    EndSwitch
    EndIf

    If WinActive("Chat") Then
    $chat_msg = GUIGetMsg($chat_fenster)

    Switch $chat_msg
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $chat_fenster)
    EndSwitch
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Gna hups^^

    [autoit]

    $login_pass_input = GUICtrlCreateInput("", 10, 65, 300,20, $ES_PASSWORD)

    [/autoit]


    ;) Ich habe übersehen das morfi93 für seine Inputboxen gar keine Höhe angegeben hat ( bei den anderen Inputs auch nicht! )
    Man MUSS erst die Höhe eingeben und dann den Style.

  • es klappt ! also muss unbegingt 4 Parameter (von Links, von Oben, Breite, Höhe) schreiben; dann kommt es die Parameter für Style.

    Noch eine Frage :
    Dann finde ich den Befehl wie hier

    [autoit]

    GUICtrlSetStyle($reg_pass2_input, $ES_PASSWORD)

    [/autoit]


    überflüssig, oder ?