Zahlen suche im bestimmten bereich

  • Hallo,

    ich bin sehr neu in der Welt des Autoit. Ich möchte gerne in einem bestimmten Bereich nach Zahlen suchen lassen also zum Beispiel von 1-299 wie stelle ich das am besten an und kann ich das so umsetzen das ich nur die Zahlen von min bis max. angebe ohne alle zahlen aufzuführen?

  • Die einfachste Lösung:

    AutoIt
    Global $iMin = 1
    Global $iMax = 299
    
    Global $iSearch = 13
    
    If ($iSearch >= $iMin) And ($iSearch <= $iMax) Then
        ConsoleWrite('Zahl ist im Bereich' & @CRLF)
    Else
        ConsoleWrite('Zahl liegt ausserhalb des Bereichs' & @CRLF)
    EndIf

    Wenn du die Prüfung mehrfach ausführen möchtest, solltest du dieses innerhalb einer Funktion lösen, der du übergibst: Prüfwert, Minwert, Maxwert und die dir True oder False zurückgibt.

  • Danke für die Schnelle Antwort. Kann ich bei Global $iSearch = 13 auch Global $iSearch = 1-299 eingeben also er soll halt die Zahlen scannen die im Min und Max. wert sind also nicht spezifisch nach einer genauen Zahl suchen sondern nur in diesem Bereich.


    Noch eine andere Frage /a/b/c/ in den Spalten a,b und c stehen Zahlen er soll aber nur in der Spalte C die Zahlen suchen wie kann ich das anstellen. Sorry für die ganzen fragen aber fange grade erst mit autoit an.

    Einmal editiert, zuletzt von Jayjo (18. Juli 2022 um 11:12)

  • $iSearch = 1-299 eingeben also er soll halt die Zahlen scannen die im Min und Max. wert

    Du musst dich etwas genauer ausdrücken.

    - was hast du als Ausgangswert(e)

    - was soll das Ergebnis sein

    Was soll denn mit den Zahlen zwischen 1-299 passieren? Oder womit willst du diese Vergleichen? Momentan verstehe ich noch nicht, was du möchtest.

  • Also ich habe 3 Spalten in allen 3 Spalten stehen Zahlen von 1-9999 und ich möchte das in Spalte 3 nach einen wert von sagen wir mal 1-299 in Spalte 3 suchen er soll halt erkennen das die Zahlen entweder in diesen Bereich liegen oder außerhalb. Liegt die Zahl außerhalb soll er weiter suchen liegt sie in diesem wert soll er mir das mitteilen.

  • Also ich habe 3 Spalten

    - in einem Array ? oder

    - in einer Textdatei / csv-Datei oder

    - bereits in ein Listview eingefügt ?

    das die Zahlen entweder in diesen Bereich liegen oder außerhalb

    Es muss jede Zahl nacheinander geprüft werden, ob sie die Bedingung (z.B. >=1 UND <= 299) erfüllt.

    Also meinen Code von oben in eine Funktion packen und nacheinander jede Zahl aus deinen Spalten an diese Funktion übergeben.

    Wenn du die Daten in einer Datei vorliegen hast, solltest du diese in ein Array einlesen und darin durch die Spalten iterieren.

  • Also die Spalten sind in einen SRP System von meiner Arbeit ich möchte mir damit die Arbeit erleichtern und Fehler vermeiden ich muss diese Zahlen auswerten. Und ich möchte halt nicht jede Zahl in den code eingeben weil die Liste dann zu lang wäre da der Bereich der Zahlen sich immer ändert.

  • die Spalten sind in einen SRP System

    Und wie kommst du zu den Werten? Copy & Paste, Export in Datei?

    ich möchte halt nicht jede Zahl in den code eingeben

    Darum brauchst du die Daten in einem Array, das du dann durchläufst.

    Übrigens solltest du dir nicht jede Info aus der Nase ziehen lassen. Wir helfen gerne, aber dazu brauchen wir natürlich alle relevanten Informationen.

    Deine nächsten Schritte:

    - aus meinem Code eine Funktion erstellen

    - deine SRP-Daten in ein Array überführen

    - Array durchlaufen

    Bei Fragen melden, aber bitte mit nachvollziehbaren Daten, also z.B. dein Skript und ein Satz Testdaten.