Hy Leute,
Ich hab leider ein kleines Problem mit der Ausgabe von Ordnernamen und ich gebe Testweise die Ergebnisse mit einer Msg-Box aus. Hierbei sagt Autoit aber dass es sich bei dem auszugebenden um ein nicht-Array handelt. Das Problem ist, wenn ich einfach [0] schreibe, wird TROTZDEM das richtige ausgegeben, allerdings aber das Programm abgebrochen. Wenn ich es als normale Variable benutze, wird nur ein Leerer String zurückgegeben, was ja nicht das eigentliche Ergebnis ist
Das ganze sieht folgendermaßen aus:
Ich lese eine Reihe Ordner ein und bestimme deren Größe. Danach lese ich die Unterordner ein.
Alles soll später in ein einzelnes Array geschrieben werdn, aber das ist nicht so wichtig.
Also höchstens ein Unterordner:
Ordner 1
- Unterordner 1
- Unterordner 2
- Unterordner 3
Dim $FileList[90][10][3]
_GetListOfFiles("U:\Data")
Func _GetListOfFiles($Dirtosub)
$FileListnames = _FileListToArray($Dirtosub,"*",2)
If @Error=1 Then
MsgBox (0,"","No Folders Found.")
Exit
EndIf
For $i = 1 To UBound($FileListnames)-1
$FileList[$i][0][0]= $FileListnames[$i] ;schreibe Namen in Array
$Dir = DirGetSize($Dirtosub & "\" & $FileListnames[$i]) ;Hole Ordnergrößen
$FileList[$i][0][1]= $Dir/1024/1024/1024 ;Schreibe Ordnergrößen in Array (GB)
;----------------------- ?
$Filelistnamesub = _FileListToArray($Dirtosub & "\" & $FileListnames[$i],"*",2)
MsgBox(0,"",$Filelistnamesub[1]) ;(63) : ==> Subscript used with non-Array variable.
If $i > 1 Then Exit;Test
Next
EndFunc
Soweit funktioniert alles, nur nimmer er die Variable $Filelistnamesub nicht als Array an?! Wenn mir das jemand erklären könnte wär ich sehr dankbar