Moin Moin.
Ich habe ein Schleifenproblem.
Folgendes Script arbeitet die Schleife 37 mal durch, danch bricht sie ab.
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_UseAnsi=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include<Array.au3>
#include<String.au3>
$test = FileRead("eingang.txt"); "1A2B3C4D5E6"
$1_len = StringLen($test)
;MsgBox(0, "Stringlänge:", $1_len) ; diese Zeile nur zum testen
$pass = FileRead("passwort.txt"); "94736"
$2_len = StringLen($pass)
;MsgBox(0, "Stringlänge Passwort:", $2_len) ; diese Zeile nur zum testen
$zwischensumme = Ceiling($1_len / $2_len)
;MsgBox(0, "Stringlänge Zwischenlänge:", $zwischensumme) ; diese Zeile nur zum testen
$anwenderpass = _StringRepeat($pass,$zwischensumme)
;MsgBox(0, "Stringlänge Anwendung:", $anwenderpass) ; diese Zeile nur zum testen
For $i = 1 to $1_len Step +1
$v_s = StringMid($test, $i, 1)
;MsgBox(0, "aus Test:", $v_s) ; diese Zeile nur zum testen
$v_w = StringMid($anwenderpass, $i, 1) ; diese Zeile nur zum testen
;MsgBox(0, "aus Passwort:", $v_w)
; Array: senkrecht / waagerecht
; alle 37 Zeichen werden in 37 Zeilen dargestellt, wobei das erste Zeichen immer an das Ende rutscht.
Local $avArray[38][38]
Local $avTemp[38] = [" ","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","."]
For $x = 0 To 37
$y = 37-$x
For $z = 0 To 37
$y += 1
If $y>37 Then $y=0
$avArray[$x][$y] = $avTemp[$z]
Next
Next
;
; senkrecht
$s_Index = _ArraySearch($avArray, $v_s, 0, 0, 0, 1)
; waagerecht
$w_Index = _ArraySearch($avArray, $v_w, 0, 0, 0, 1)
;MsgBox(0,"Array-Zahlen","Array-Zahlen: " & $s_Index & " - " & $w_Index & @CRLF & "Mathe Zahlen: " & $s_Index +1 & " - " & $w_Index +1) ; diese Zeile nur zum testen
[/autoit] [autoit][/autoit] [autoit];MsgBox(0,"Schnittmenge", $avArray[($s_Index)][($w_Index)]) ; diese Zeile nur zum testen
FileOpen("codiert.txt",1)
sleep(50)
FileWrite("codiert.txt", $avArray[($s_Index)][($w_Index)])
sleep(50)
FileClose("codiert.txt")
sleep(50)
Next
Exit
Die Schleife soll so so oft durchlaufen wie Buchstaben / Zahlen / Zeichen in der Datei eingang.txt stehen.
Wo und was ist das Problem?
Edit: Problem war u. a. am Zeilenende der Umbruch und fehlende Zeichen im Array. Müssen nämlich 85 sein.