Error-Handling in meinem Skript

  • Hallo zusammen,

    ich habe ein kleines Problem.

    Hier ein Ausschnitt aus meinem Code:

    Mein Problem ist jetzt, dass wenn ich bei einem Pfad ein paar Zeichen lösche / Pfad ungültig mache, dass er mir dann immer den String von $MsgBox[15][1] anzeigt. Es ist auch egal in welcher Inputbox ich den Pfad ungültig mache.

    Allerdings: Wenn eine von den 15 Inputboxen leer ist, dann sagt er mir auch welche leer ist. So wie es sein soll.

    Könnt Ihr mir da helfen?

    Danke im Voraus.

    LG Mikki

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

  • Hallo Mikki

    Code
    For $j = 15 To 29
                    If Not FileExists($aRead_Inputbox[$i]) Then

    Hier prüfst du statt $j immer auf $i (also auf den Inhalt einer Inputbox, die du hier nicht mehr bearbeitet hast).

    Grüße autoiter

  • Hallo autoiter

    das habe ich auch schon versucht. Das Ergebnis ist das selbe.

    Ich muss aber mit $i prüfen, da nur 15 Inputboxen vorhanden sind. Deshalb ja die zweite Schleife, da sich der erste Zähler $i von 0 bis 14 bezieht und der zweite Zähler $j von 15 bis 29. $i für den Fall, dass die Boxen leer sind und $j für den Fall, dass die Pfade ungültig sind.

    Oder habe ich deine Antwort jetzt falsch gedeutet?

    LG Mikki

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

  • So in etwa würde ich es machen...

  • Hallo Bitnugger

    jawoll genau so soll´s sein. Vielen Dank! :)

    Aber kannst du mir denn sagen, wo der Fehler bei meiner Methode liegt?

    LG Mikki

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

  • Aber kannst du mir denn sagen, wo der Fehler bei meiner Methode liegt?

    Nicht der, sondern die Fehler... wobei dein schlimmster wohl ist, das du den For $j-Loop innerhalb des For $i-Loops ausführst. Der For $j-Loop wird im ungünstigsten Fall also 15x ausgeführt und schlimmer noch, bei jedem Durchgang prüfst du immer dasselbe Inputfeld =>> $aRead_Inputbox[$i]!

    In dem For $k-Loop liest du die ersten fünf Inhalte der Inputfelder nochmals ein, was gar nicht nötig ist, denn du hast sie ja bereits eingelesen! Sinnfrei wird dieser Loop durch die nächste Zeile, denn somit prüfst du 6x, ob $aRead_Inputbox[0] = $aRead_Inputbox[5] ist.

    Übersichtlicher und leichter verständlich wäre es etwa so...

    2 Mal editiert, zuletzt von Bitnugger (12. August 2018 um 13:02)