StringSplit Problem

  • Hallo,

    Ich habe ein kleines problem und komme nicht weiter.
    Ich muss dazu sagen das ich noch ein Anfänger bin ;) Habe bisher immer durch ausprobieren überlebt :D Aber hier komme ich nicht weiter.

    Problem ist folgendes:

    Ich habe eine Inputbox, in der ich Zahlen eingebe. Entweder 0,1 oder 2.
    Maximal ist diese Zahl 9 stellen lang. Es kann aber auch mal sein, das ich nur 2 oder nur 4 stellen eingebe.

    Wenn ich alle 9 stellen in meine Inputbox eingebe, funktioniert mein Script wunderbar, aber sobald ich weniger als 9 eingebe kommt ein ERROR.
    Kann mir da jemand helfen? das wenn ich nur 4 Zahlen eingebe, das er mir alle 5 Zahlen danach als 0 wiedergibt?


  • Weil das Array $var1 bei Eingabe eines kürzeren Codes keine 9 Felder hat, du sie aber in den Zeilen 13-21 einer neuen Variable zuweisen willst. Warum auch immer... ???

    So vielleicht... (ungetestet)

    Spoiler anzeigen

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Danke schonmal,

    aber glaube das löst nicht meine Aufgabe, das Script soll ja wie folgt funktionieren.

    Wenn Zeichen 1 in Code = 1 dann starte 5min1.au3
    Wenn Zeichen 2 in Code = 1 dann starte 5min2.au3
    Wenn Zeichen 3 in Code = 1 dann starte 5min3.au3
    Wenn Zeichen 4 in Code = 0 dann starte nix4.au3
    Wenn Zeichen 5 in Code = 2 dann starte istsoll5.au3
    Wenn zeichen 6 ist leer dann starte nix6.au3
    Wenn zeichen 7 ist leer dann starte nix7.au3
    Wenn zeichen 8 ist leer dann starte nix8.au3
    Wenn zeichen 9 ist leer dann starte nix9.au3

    • Offizieller Beitrag

    das wenn ich nur 4 Zahlen eingebe, das er mir alle 5 Zahlen danach als 0 wiedergibt?

    Ja, das ist recht simpel:

    AutoIt
    $Input = InputBox('Bla', 'Blub')
    ; sicherstellen, dass $Input 9 Stellen hat und fehlende Stellen mit 0 belegt werden
    $Input = StringLeft($Input & '000000000', 9)

    Aber die Array-Variante, wie von Micha_he gezeigt, ist eindeutig zu bevorzugen.
    Solltest du auf jeden Fall 9 Schritte abarbeiten wollen, kombiniere beides.

  • Vielen vielen dank für die schnelle Hilfe :)

    Ich lass es aber lieber mal so wie ich es hatte, da blicke ich wenigstens durch ;)

    Für die nachwelt hier nochmal das komplette funktionierende Script :)