Fehler bei "<" Vergleich

  • Hallo Leute

    Habe ein Problem mit dem Vergleich mit diesem Operator ">="

    Ich habe folgendes :

    Eine Datei , wo jede Zeile genau eine Zahl enthält und einen Wert , welcher zuvor festgestellt wurde

    Wenn ich nun vergleiche

    [autoit]

    Local $needed
    Local $count = String($sCount)
    $database = FileOpen(@ScriptDir &"\num.db")
    $split = StringSplit(FileRead($database),@CRLF)
    For $i = 1 to $split[0] Step 2
    If $split[$i] >= $count Then
    $number = $split[$i]
    ExitLoop
    EndIf
    Next

    [/autoit]

    In diesem Vergleich steht doch , dass WENN $split größer ist $number gesetzt wird oder nicht ?(

    PS : Die Datei fängt mit Zahlen im 3 stelligen Bereich an und hört im 9 Stelligen auf
    Die Variable $count liegt auch immer in diesem Bereich

    Also was ist bitte Falsch daran ?

    Einmal editiert, zuletzt von Aldi (9. August 2010 um 20:16)

    • Offizieller Beitrag

    Hallo

    Jetzt mal nicht getestet, aber es sollte so aussehen: (Wenn du bei StringSplit als mehr bei einem Zeichen Splittest (@CRLF = @CR & @LF) musste da ne 1 hinter setzen)

    [autoit]

    Local $needed
    Local $count = String($sCount)
    $database = FileOpen(@ScriptDir &"\num.db")
    $split = StringSplit(FileRead($database),@CRLF,1)
    For $i = 1 to $split[0] Step 2
    If $split[$i] >= $count Then
    $number = $split[$i]
    ExitLoop
    EndIf
    Next

    [/autoit]

    Gruß
    Spider

  • Seh grad noch nicht durch.
    Auf der einen Seite sagst du das du Zahlen vergleichen willst, auf der anderen Seite defnierst du $count extra als String.
    Wär gut wenn du mal ne Beispieldatei mit dran hängen könntest bzw. mal über die Herkunft der offenen Variablen wie z.B. $sCount aufklären könntest und was die Variable $needed soll.
    Oder direkt mal sagen was du am Ende damit erreichen willst.

  • Die Herkunft der offenen Variablen belief sich aus einer Funktion die mit den Parametern aufgerufen wurden ^^

    Das count extras als String definiert wurde war auch ein Test von mir obs vielleicht damit klappt :D

    Im Vergleich lag komischer Weiser der Fehler :P

    So muss es aussehen :rolleyes:

    [autoit]


    Local $needed
    Local $count = String($sCount)
    $database = FileOpen(@ScriptDir &"\num.db")
    $split = StringSplit(FileRead($database),@CRLF,1)
    For $i = 1 to $split[0] Step 2
    If Number($split[$i]) >= Number($count) Then
    $number = $split[$i]
    ExitLoop
    EndIf
    Next

    [/autoit]

    Es musste Number davor geschrieben werden :pinch: