Bin ich blind? Inputbox

  • Was ist denn da schon wieder falsch - Er bringt die Error-MsgBox egal was ich für einen Usernamen eingebe - Wie soll das gehn?

    Spoiler anzeigen
    [autoit]

    $input = InputBox("Unlock User","Bitte Benutzernamen eingeben:")
    If $input = "Administrator" or "Guest" or "Gast" or "" Then
    MsgBox(0,"Error","Administrator und Gast-Benutzer können nicht entsperrt werden. Bitte wählen Sie einen anderen Benutzer aus. Außerdem müssen Sie zwingend einen existenten Benutzer eingeben.")
    Else
    $cusrmgr = "c:\windows\cusrmgr -u " & $input & " +s AccountLockout -s AccountDisabled +s MustChangePassword +p initinit"
    Run($cusrmgr)
    EndIf

    [/autoit]

    Einmal editiert, zuletzt von greetzz (11. Januar 2007 um 13:52)

  • $input = InputBox("Unlock User","Bitte Benutzernamen eingeben:")

    MsgBox(0, "", $input)
    If $input = "Administrator" or $input = "Gast" or $input = "" Then
    MsgBox(0,"Error","Administrator und Gast-Benutzer können nicht entsperrt werden. Bitte wählen Sie einen anderen Benutzer aus. Außerdem müssen Sie zwingend einen existenten Benutzer eingeben.")
    Else
    $cusrmgr = "c:\windows\cusrmgr -u " & $input & " +s AccountLockout -s AccountDisabled +s MustChangePassword +p initinit"
    Run($cusrmgr)
    EndIf


    mfg

  • Hmm abgesehen von der 2. msgbox ist doch alles gleich. Aber irgendwie gehts jetzt (auch ohne diese 2.msgbox)

  • if $input = "Administrator" OR $input = "Gast"

    du hast das $input nicht gesetzt gehabt :P


    Nix gleich :P


    Ja die msgbox hab ich nur zur sicherheit reingebaut :D

  • :rolleyes: also bin ich DOCH blind :hammer:


    Kann ich eigentlich in MSGBOX und List Zeilenumsprüunge programmieren (automatisch oder zur Not manuelle?)

    Find in der Hilfe nix dazu.

    Einmal editiert, zuletzt von greetzz (11. Januar 2007 um 15:05)

  • Aber automatisch geht es nicht, dass die Box oder die List selbst erkennst wenn ein Text zu lang ist, un diesen dann automatisch in die nächste Zeile schiebt. Möglichst natürlich nach ganzen Worten getrennt. Das wär cool ;)

    Kann man denn MsgBoxen sagen wie groß sie maximal werden dürfen, dann wüsste er zumindest wann er einen Zeilenumsprung machen soll.

    Einmal editiert, zuletzt von greetzz (12. Januar 2007 um 07:59)

    • Offizieller Beitrag

    HI,

    hier:

    Spoiler anzeigen
    [autoit]

    ;~ Beispieltext von http://de.wikipedia.org/wiki/AutoIt
    $String = "Die Skripte ermöglichen z. B. das Ausführen von Programmen, das Simulieren von Tastaturanschlägen bzw. Mausklicks. Es können einfache Textfunktionen der Zwischenablage oder auch Windowsfunktionen (wie z. B. minimieren, verstecken, Warten auf/Aktivieren von Fenstern) aufgerufen werden. Seit Version 3 können zudem graphische Benutzeroberflächen mit zahlreichen Controls entworfen werden. Soll es um Registrymanipulationen oder komplexere Schleifen gehen, ist AutoIt 3 inzwischen mit seiner verbesserten Syntax deutlich einfacher zu handhaben als frühere Versionen. Es ist möglich, AutoIt mit anderen Scriptsprachen wie WSH oder Kixtart zu kombinieren (AutoItX)."

    MsgBox(0,"",$String) ; Original-Text
    MsgBox(0,"",_StringInsertLF($String,50)) ; Softbreak nach 50 Zeichen
    MsgBox(0,"",_StringInsertLF($String,50,1)) ; Hardbreak nach 50 Zeichen

    ;===============================================================================
    ;
    ; Description: Fügt @LF in Strings ein
    ; Parameter(s): $strString = String der bearbeitet werden soll
    ; $nCount = Anzahl der Zeichen bevor @LF eingefügt werden soll
    ; (optional) $cBreaking = 0 (default) -> Softbreak (an Wortgrenze)
    ; 1 -> Hardbreak
    ; ist kein Leerzeichen im String enthalten wird hart
    ; umgebrochen
    ; Requirement(s): keine
    ; Return Value(s): String mit @LF
    ; Author(s): bernd670
    ;
    ;===============================================================================
    Func _StringInsertLF($strString,$nCount,$cBreaking = 0)

    Local $strRetString = "", $nPos

    Do
    If Stringlen($strString) > $nCount Then
    $nPos = StringInStr(StringLeft($strString,$nCount + 1)," ",0,-1)
    If ($nPos and $cBreaking = 0) Then
    $strRetString &= StringLeft($strString,$nPos - 1) & @LF
    $strString = StringMid($strString,$nPos + 1)
    Else
    $strRetString &= StringLeft($strString,$nCount) & @LF
    $strString = StringMid($strString,$nCount + 1)
    EndIf
    EndIf
    Until StringLen($strString) < $nCount

    $strRetString &= $strString

    Return $strRetString
    EndFunc

    [/autoit]

    So long,

    Mega