Illegal text at the end of statement

  • Hallo,

    ich verwende AutoIt jetzt seit zwei Wochen und habe eine zeimliche lernkurve hingelegt :)
    Die Hilfe und dieses Forum sind echt super!

    Aber jetzt habe ich ein Problem, dass ich noch nicht mal verstehe:

    Spoiler anzeigen

    $sBlatBodyTestPass = ParseResult ($iKsDLPass, $iKsInstPass, $iKsSigUpdPass, $iIex86HTTPsTestPass, $iIex86HTTPTestPass, $iLocDrScanFo)

    .
    .
    .


    FUNC ParseResult ($iKsDLPass, $iKsInstPass, $iKsSigUpdPass, $iIex86HTTPsTestPass, $iIex86HTTPTestPass, $iLocDrScanFo,)
    $sTEMPBlatBodyTestPass = ""
    IF $iKsDLPass = 1 THEN
    $TEMPsBlatBodyTestPass &= "Download succeeded" & @CRLF
    ELSE $TEMPsBlatBodyTestPass &= "Download did not succeed" & @CRLF
    ENDIF

    IF $iKsInstPass = 1 THEN
    $TEMPsBlatBodyTestPass &= "Installation succeeded" & @CRLF
    ELSE $TEMPsBlatBodyTestPass & = "Installation did not succeed" & @CRLF
    ENDIF

    IF $iKsSigUpdPass = 1 THEN
    $TEMPsBlatBodyTestPass &= "Signature update succeeded" & @CRLF
    ELSE $TEMPsBlatBodyTestPass &= "Signature update did not succeed" & @CRLF
    ENDIF

    IF $iIex86HTTPsTestPass = 1 THEN
    $TEMPsBlatBodyTestPass &= "IE_HTTPs test succeeded" & @CRLF
    ELSE $TEMPsBlatBodyTestPass &= "IE_HTTPs test did not succeed" & @CRLF
    ENDIF

    IF $iIex86HTTPTestPass = 1 THEN
    $TEMPsBlatBodyTestPass &= "IE_HTTP test succeeded" & @CRLF
    ELSE $TEMPsBlatBodyTestPass &= "IE_HTTP test did not succeed" & @CRLF
    ENDIF

    IF $iLocDrScanFo = 1 THEN
    $sTEMPBlatBodyTestPass &= "Scan local folder test succeeded" & @CRLF
    ELSE $sTEMPBlatBodyTestPass &= "Scan local folder test did not succeed" & @CRLF
    ENDIF
    RETURN $sTEMPBlatBodyTestPass
    ENDFUNC


    Ich übergebe die Parameter von diversen Tests die durchgelaufen sind, je nachdem ob die Tests positiv oder Negativ abgelaufen sind wird an einen String ein entsprechender Ausdruck angehängt, gefolgt von einem @CRLF.
    Der Gesamtstring wird dann zurückgegeben.

    Auto-IT sagt mir jetzt folgende Fehler:

    ==> Illegal text at the end of statement (one statement per line).:
    ELSE $TEMPsBlatBodyTestPass &= "Download did not succeed" & @CRLF
    ELSE ^ ERROR

    Was ist der Fehler? Warum tritt er nur im ersten Ausdruck auf?

    Einmal editiert, zuletzt von Silece (10. Juni 2013 um 07:41)

  • Nach Else muss eine neue Zeile folgen, also sollte der Fehler eigentlich in allen Fällen auftreten.

    2) solltest du zum Posten von Code die AutoIt-Tags verwenden:

    Code
    [autoit][/autoit]


    3) gehört dieses Thema eigentlich in "Hilfe & Unterstützung", und nicht in "Tutorials".

    MfG James

  • zu 1) Ok, ich habe das mal umgebrochen. jetzt ist der Fehler weg. Danke!
    Ich dachte nicht, das AutoIt da wert darauf legt. bei C könnte ich ja sowas (innerhalb der{}) auch in eine Zeile schreiben.

    zu 2) Ok, beim nächsten mal mache ich es besser.

    zu 3) Mein Versehen, vielleicht kann ein freundlicher MOD das korrigieren?
    Ich dachte das wäre der Bereich für Tutorien :whistling:

  • Noch ein kleiner Tipp am Rande:

    Du scheinst schon vorher mit C (Laut deiner Aussage) und BASIC (Nach meiner Vermutung) gearbeitet zu haben.
    Auch wenn AutoIt eine BASIC-Ähnliche Sprache ist, ist es hier im Allgemeinen nicht üblich, Schlüsselwörter wie Func oder If ... Then ... Else komplett in Großbuchstaben zu schreiben. ^^

    Das sich Zeilenumbrüche in AutoIt anders als in C verhalten, hast du ja schon gemerkt. :D

    lg