Bedingung erfüllt - nichts passiert?

  • Hi Leute,

    ich hab mal wieder ein simples Problem. In einer Ini sind Daten gespeichert. Ist der Monat ($split[1]) nun kleiner als der Jetzige (@mon) soll die Section gelöscht werden:

    [autoit]

    $Split = StringSplit($dateraw, "ÿ")
    If $Split[0] = 4 Then
    If Int(@MON) > Int($Split[1]) Then
    IniDelete(@ScriptDir & "\ActiveGroups.dat", $Sections[$i])
    EndIf
    Else
    IniDelete(@ScriptDir & "\ActiveGroups.dat", $Sections[$i])
    EndIf

    [/autoit]


    Wenn der alte Monat nun 1 (Januar) ist und der Jetzige 2 (Februar) ist ja logischerweise 2>1 erfüllt, die Anweisung wird aber nicht ausgeführt? Hier ist ein Beispielkey mit value: D=1ÿ31ÿ24ÿ59
    Vielen Dank für eure Hilfe,
    Aquaplant

  • Ich hab mir schon eine MsgBox in der If Abfrage gemacht gehabt, aber die wurde nicht ausgelöst, also muss irgendwas nicht stimmen :S
    Der Eintrag wird auch nicht gelöscht. Ich werd noch mal ein wenig rumprobieren, vielleicht komme ich noch dahinter. Der Sectionname ist übrigens richtig, dass habe ich schon kontrolliert.

    • Offizieller Beitrag

    Also nur um das If-Statement zu prüfen:

    Spoiler anzeigen
    [autoit]

    $Split = StringSplit("1ÿ31ÿ24ÿ59", "ÿ")
    ConsoleWrite('aktuell: ' & Int(@MON) & ' - aus Datei: ' & Int($Split[1]) & @CRLF)

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

    If Int(@MON) > Int($Split[1]) Then
    ConsoleWrite('akt. Mon. > Monat Datei' & @CRLF)
    Else
    ConsoleWrite('akt. Mon. < Monat Datei' & @CRLF)
    EndIf

    [/autoit]

    ==> funktioniert, wie gewollt.