else if then... Kann ich nach dem then mehrer Befehle eingeben?

  • Hallo
    Ich bin ein neuling was Autoit an geht. Daher habe ich die Frage wenn ich die Funktion If else und dann else if blabal then und dann würde ich gerne hinter dem then 2 Befehle eingeben z.B. sleep (1000) shutdown (8*) (ohne sternchen) aber wie muss ich die beiden Befehle mit einander Verbinden damit das dann auch Funktoniert oder ist das mit Autoit so nicht realisierbar?

    viel dank
    Diablo

  • Hallo!

    ein If Befehl geht so:

    Spoiler anzeigen
    [autoit]


    If ..... Then ;Im falle das
    Sleep(1000)
    Shutdown(8) ;solll er das und das macehn
    Elseif .... Then ;fals das if nicht übereinstimmt dann nochmal im falle das
    Sleep(1000)
    Shutdown(8)
    Else ;ansonsten, fals nichts stimm dann
    Sleep(1000)
    Shutdown(8);das und das machen
    EndIf

    [/autoit]

    du kannst es auch so machen:

    Spoiler anzeigen
    [autoit]


    If ... And ..... Then

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

    Endif

    [/autoit]
  • danke für die schnelle antwort! Aber ich glaube ich habe noch ein anderes problem ich poste mal mein script

    [autoit]

    GUICreate("Option wählen", 600, 70, 1, 1)
    $Standby = GUICtrlCreateButton("Standby", 0, 10, 100, 50)
    $Herunterfahren = GUICtrlCreateButton("Herunterfahren", 100, 10, 100, 50)
    $HerunterfahrenT = GUICtrlCreateCombo ("Zeiten zum Herunterfahren", 500, 10, 100, 50)
    GUICtrlSetData(-1, "5min|10min|20min|40min|60min|80min|100min")
    $_combo_text = GUICTRLRead($HerunterfahrenT)
    $Abmelden = GUICtrlCreateButton("Abmelden", 200, 10, 100, 50)
    $Neustarten = GUICtrlCreateButton("neustarten", 300, 10, 100, 50)
    $Schliessen = GUICtrlCreateButton ("schließen", 400, 10, 100, 50)

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

    GUISetState(@SW_SHOW)
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $Standby
    Shutdown(64)
    Case $Herunterfahren
    if $_combo_text = "5min" Then
    Sleep (300000)
    Shutdown (1+8)
    elseif $_combo_text = "10min" Then
    Sleep (600000)
    Shutdown (1+8)
    elseif $_combo_text = "20min" then
    Sleep (1200000)
    Shutdown (1+8)
    elseif $_combo_text = "40min" then
    Sleep (2400000)
    Shutdown (1+8)
    elseif $_combo_text = "60min" then
    Sleep (3600000)
    Shutdown (1+8)
    elseif $_combo_text = "80min" then
    Sleep (4800000)
    Shutdown (1+8)
    elseif $_combo_text = "100min" then
    Sleep (6000000)
    Shutdown (1+8)
    Case $Abmelden
    Shutdown(0)
    Case $Neustarten
    Shutdown(2 + 16)
    Case $Schliessen
    GUISetState(@SW_HIDE)
    EndSwitch
    WEnd
    While 1
    Sleep(500)
    WEnd

    [/autoit]

    und hier die fehlermeldung:
    >"C:\Programme\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Dokumente und Einstellungen\Corny\Desktop\Autoit\kleines Programm.au3"
    C:\Dokumente und Einstellungen\Corny\Desktop\Autoit\kleines Programm.au3 (39) : ==> "Case" statement with no matching "Select"or "Switch" statement.:
    Case $Abmelden

    >Exit code: 1 Time: 0.206

    grüße =)

  • Hat nur ein EndIf gefehlt ;)

    Spoiler anzeigen
    [autoit]

    GUICreate("Option wählen", 600, 70, 1, 1)
    $Standby = GUICtrlCreateButton("Standby", 0, 10, 100, 50)
    $Herunterfahren = GUICtrlCreateButton("Herunterfahren", 100, 10, 100, 50)
    $HerunterfahrenT = GUICtrlCreateCombo ("Zeiten zum Herunterfahren", 500, 10, 100, 50)
    GUICtrlSetData(-1, "5min|10min|20min|40min|60min|80min|100min")
    $_combo_text = GUICTRLRead($HerunterfahrenT)
    $Abmelden = GUICtrlCreateButton("Abmelden", 200, 10, 100, 50)
    $Neustarten = GUICtrlCreateButton("neustarten", 300, 10, 100, 50)
    $Schliessen = GUICtrlCreateButton ("schließen", 400, 10, 100, 50)

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

    GUISetState(@SW_SHOW)
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case -3
    Exit
    Case $Standby
    Shutdown(64)
    Case $Herunterfahren
    if $_combo_text = "5min" Then
    Sleep (300000)
    Shutdown (1+8)
    elseif $_combo_text = "10min" Then
    Sleep (600000)
    Shutdown (1+8)
    elseif $_combo_text = "20min" then
    Sleep (1200000)
    Shutdown (1+8)
    elseif $_combo_text = "40min" then
    Sleep (2400000)
    Shutdown (1+8)
    elseif $_combo_text = "60min" then
    Sleep (3600000)
    Shutdown (1+8)
    elseif $_combo_text = "80min" then
    Sleep (4800000)
    Shutdown (1+8)
    elseif $_combo_text = "100min" then
    Sleep (6000000)
    Shutdown (1+8)
    EndIf
    Case $Abmelden
    Shutdown(0)
    Case $Neustarten
    Shutdown(2 + 16)
    Case $Schliessen
    GUISetState(@SW_HIDE)
    EndSwitch
    WEnd
    While 1
    Sleep(500)
    WEnd

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • wieso überhaupt if/then?

    [autoit]

    GUICreate("Option wählen", 600, 70, 1, 1)
    $Standby = GUICtrlCreateButton("Standby", 0, 10, 100, 50)
    $Herunterfahren = GUICtrlCreateButton("Herunterfahren", 100, 10, 100, 50)
    $HerunterfahrenT = GUICtrlCreateCombo ("Zeiten zum Herunterfahren", 500, 10, 100, 50)
    GUICtrlSetData(-1, "5min|10min|20min|40min|60min|80min|100min")
    $_combo_text = GUICTRLRead($HerunterfahrenT)
    $Abmelden = GUICtrlCreateButton("Abmelden", 200, 10, 100, 50)
    $Neustarten = GUICtrlCreateButton("neustarten", 300, 10, 100, 50)
    $Schliessen = GUICtrlCreateButton ("schließen", 400, 10, 100, 50)

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

    GUISetState(@SW_SHOW)
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $Standby
    Shutdown(64)
    Case $Herunterfahren
    $minuten=number(stringtrimright(GUICtrlRead($HerunterfahrenT),3))
    Sleep (60000*$minuten)
    Shutdown (1+8)
    Case $Abmelden
    Shutdown(0)
    Case $Neustarten
    Shutdown(2 + 16)
    Case $Schliessen
    GUISetState(@SW_HIDE)
    EndSwitch
    WEnd
    While 1
    Sleep(500)
    WEnd

    [/autoit]
  • vielen Dank =)
    Andy ähm naja ich kenne mich ja noch nciht so gut aus deswegen kenne ich auch noch nicht die ganzen befehle :P aber danke ich werde es mir merken so wie du es gemacht ist es natürlich um einiges einfacher =)

  • Genau dafür sind wir ja da^^. "Man kann alt werden wie ne Kuh, man lernt immer was dazu!"
    In diesem Sinne, weiter so!

  • Übrigens wenn du mehrere Else bzw. ElseIf hast, kannst du auch statt der ganzen If-Struktur einfach das auch mit Switch machen.

  • vielen dank für die vielen antworten! =D Autoit ist irgendwie komisch in C# ist alles viel einfacher! ^^ =)