StringInStr findet " " nicht

  • Hi Leute!

    Ich versuche hinzukriegen, dass in der Loginname Inputbox bereits der default Loginname steht, wenn man den Namen und Vornamen eingibt und bestätigen drückt.
    Z.B. $WName = Hans Muster --> $WLoginInput = hmuster
    Leider Zeigt das Guictrlsetdata H0 an anstelle H(Postition des strings " ")

    [autoit]

    $WName = GUICtrlCreateLabel("Vorname Name", 592, 171, 77, 17)
    $WNameInput = GUICtrlCreateInput("", 692, 171, 80, 21)
    $AutoCreate = GUICtrlCreateButton("Bestätigen", 774, 171, 60, 20, 0)
    $WLogin = GUICtrlCreateLabel("Loginname", 592, 199, 56, 17)
    $WLoginInput = GUICtrlCreateInput("", 692, 194, 129, 21)

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

    Case $AutoCreate
    $Length = StringLen(GUICtrlRead($WNameInput))
    $FirstLetter = StringTrimRight(GUICtrlRead($WNameInput),$Length-1)
    $Position1 = StringInStr($WName," ")
    GUICtrlSetData($WLoginInput,$FirstLetter & $Position1)

    [/autoit]
  • Hi,
    irgendwie verstehe ich jetzt nicht mit was du arbeiten willst?
    Mit GUI oder mit Inputboxen, irgendwie wirfst du alles durcheinander.

    Meinst du in etwa so?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Login", 255, 146, 522, 437)
    $Label1 = GUICtrlCreateLabel("Vorname", 16, 16, 46, 17)
    $vorname = GUICtrlCreateInput("", 40, 40, 121, 21)
    $Label2 = GUICtrlCreateLabel("Nachname", 16, 72, 56, 17)
    $nachname = GUICtrlCreateInput("", 40, 96, 121, 21)
    $OK = GUICtrlCreateButton("OK", 176, 24, 57, 97, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $OK
    InputBox("Passwort", "Bitte geben sie ihr Passwort ein:", StringLower(Stringleft(GUICtrlRead($vorname),1) & GUICtrlRead($nachname)))
    Exit
    EndSwitch
    WEnd

    [/autoit]
    • Offizieller Beitrag

    Hi,

    ginge auch so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    GUICreate('', 900, 400)
    $WName = GUICtrlCreateLabel("Vorname Name", 592, 171, 77, 17)
    $WNameInput = GUICtrlCreateInput("", 692, 171, 80, 21)
    $AutoCreate = GUICtrlCreateButton("Bestätigen", 774, 171, 60, 20, 0)
    $WLogin = GUICtrlCreateLabel("Loginname", 592, 199, 56, 17)
    $WLoginInput = GUICtrlCreateInput("", 692, 194, 129, 21)
    Global $re
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $AutoCreate
    $re = StringRegExp(GUICtrlRead($WNameInput), '\A\w|\w+\Z', 3)
    GUICtrlSetData($WLoginInput, $re[0] & $re[1])
    EndSelect
    WEnd

    [/autoit]

    Mega

  • Soweit bin ich mit StringregExp noch nicht :D

    Kann man das auch irgendwie mit StringRegExp machen, dassGroßbuchstaben zu Kelinbuchstaben konvertiert werden, oder einfach dann auch mit Stringlower machen?

  • Wow, Perfekt!

    Vielen Dank euch beiden (Habe Xeno's Beispiel verwendet, da dies genau meiner Vorstellung entspricht)