For-Schleife arbeitet nicht richtig

  • Hallo zusammen,

    ich habe mir seit
    langer Zeit wieder ein AutoIT Projekt vorgenommen, hänge aber an einer For-Schleife. Das Programm soll eine Umfrage in ein Tabelle übertragen. Jede Frage hat mehrere Antwortmöglichkeiten. Zu jeder der 9 Fragen gibt es also eine Array mit der Anzahl der Antwortmöglichkeiten $hm und ein Array, in dem die
    Zahl der angekreuzten Antwort steht: $q (Bsp. Gechlecht: $q[0] = 1 (= weiblich) $hm[0] = 2 (=Anzahl der Möglichkeiten: weiblich und männlich) )
    Mit einer For-Schleife werden zuerst alle Fragen abgearbeitet, das funktinoiert auch, dann wird von der Nummer der angekreuzen Antwort 1 abgezogen
    um die Anzahl der leeren Zeilen davor zu erhalten. Dann wird die Nummer der angekreuzten Antwort von der Anzahl aller möglichen Antworten
    abgezogen, um die Anzahl der leeren Zeilen hinter der Antwort zu erhalten. (Bsp. Frage mit 4 Möglichkeiten, die dritte wurde angekreuzt: 3-1 = 2 d.h. zwei leere Zeile, dann ein X, dann 4-3=1 d.h. eine leere Zeile hinter dem X)

    Spoiler anzeigen

    Dim $q[9]
    Dim $hm[9]

    $q[0]= $frage1
    $q[1]= $frage2
    $q[2]= $frage3
    $q[3]= $frage4
    $q[4]= $frage5
    $q[5]= $frage6
    $q[6]= $frage7
    $q[7]= $frage8
    $q[8]= $frage9


    $hm[0]= 2
    $hm[1]= 4
    $hm[2]= 6
    $hm[3]= 6
    $hm[4]= 12
    $hm[5]= 5
    $hm[6]= 5
    $hm[7]= 6
    $hm[8]= 5


    $log = FileOpen ("Ausgabe.txt", 1)


    For $i = 0 to 8 Step +1


    $tab = $q[$i]-1 ; Die leeren Zeilen vor dem X
    $space = $hm[$i]-$q[$i] ; Die leeren Zeilen hinter dem X
    $fronttab = "" ;Variable wird Deklariert (hier werden nachher die leeren Zeilen in Form eines Vorsprungs, wie mit der Tab-Taste, eingetragen)
    $backtab = "" ;Variable wird... (...)

    For $front_i = 0 to $tab Step +1 ;Die erste For-Schleife mit dem unten beschriebenen Problem
    $fronttab = $fronttab & " " ; das " " entspricht {tab} ist hier aber so gemacht, da nachher nicht der Befehl send eingesetz wird
    next

    For $back_i = 0 to $space Step +1 ;Die zweite For-Schleife mit dem untenBeschriebenen Problem
    $backtabn= $backtab & " "
    Next

    FileWrite ($log ,$fronttab&"x"&$backtab) ; Das X inklusive der leeren Zeilenwird in das Dokument geschireben

    Next

    FileWriteLine ( $log,
    "" )

    So also danke schonmal, wer sich das bis hierhin angetan hat (und hoffentlich auch verstanden hat :D )

    Das Problem liegt darin, dass die beiden Schleifen wohl im ersten und im letzten Durchgang(sprich bei der ersten und letzten Frage) einmal zuviel durchlaufen werden. Das heißt also, dass immer ein paar freie Stellen zuviel sind, was alle x in der Tabelle verschiebt und somit das Ergebnis verfälscht.
    Ich hoffe, dass ich das Problem und das Programm so gut wie Möglich erklärt habe und es auch verstanden wurde. :)

    MfG ohjelma