ja das habe ich gemacht zeigt mir trotzdem ein fehler genau in dieser Zeile ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
AddFile
-
- [ gelöst ]
-
haspop -
18. Juli 2012 um 14:37 -
Geschlossen -
Erledigt
-
-
Ja du muss auch wenn du FileRead benutzt auch ertmal die gewisse Datei mit FileOpen aufmachen versuch es mal mit:
[autoit]
[/autoit][autoit][/autoit][autoit]
Func AddRandomFiles()Local $TempArray[1]
[/autoit][autoit][/autoit][autoit]
Global $aList = _FileListToArray($MoveFile, '*', 1)If Not IsArray($aList) Then Return SetError(1, 0, '')
[/autoit][autoit][/autoit][autoit]For $i = 0 To 2
[/autoit]
$iRan = Random(1, $aList[0], 1)
_ArraySearch($TempArray, $aList[$iRan]); Suchen ob Eintrag schon existiert
$file = FileOpen(zb: @ScriptDir&"\"&$aList[0],0)
$arr = StringSplit(FileRead($file, ";")
If @error Then; Eintrag existiert nicht
GUICtrlCreateListViewItem($aList[$arr[0]] &"|"& $aList[$arr[1]] &"|"& $aList[$arr[3]], $MainGUI_ListView)
_ArrayAdd($TempArray, $aList[$iRan]); Datei in Liste einfügen
EndIf
Next
Return
EndFunc ;==> AddRandomFilesIch weiß ja natürlich nicht wie die Dateien aussehen die du mit FileReadArray einliest ist das pro Pfad eine Datei oder ist das eine Datei mit allen Pfaden?
-
pro Pfad eine Datei (Zeil)
-
dann sollte das funktionieren:
1.Er liest alle Dateinen aus deinem Ordner aus Zeile:4
[autoit]
Dann kommt die For Schleife:
Zeile 9: Eine Zufall Datei wird rausgesucht
Zeile 11:$file = FileOpen($MoveFile&"\"&$iRan,0)
[/autoit]
[autoit]
Zeile 12:$arr = StringSplit(FileRead($file),";")
[/autoit]
[autoit]
Zeile 14:GUICtrlCreateListViewItem($aList[$arr[0]] &"|"& $aList[$arr[1]] &"|"& $aList[$arr[3]], $MainGUI_ListView)
[/autoit] -
ja genau der liest alle dateinen aus dem ordner, der liest aber die dateinennamen, und ich will dass er den Inhalt (jede Zeile) liest und in GUI einfügt
sorry ich weiß dass nicht so einfach zu erklären ist -
Hallo haspop,
mach deine Func AddRandomFiles so:
Spoiler anzeigen
[autoit]Func AddRandomFiles()
[/autoit]
Local $aList = _FileListToArray($MoveFile, '*', 1), $aSplit
If Not IsArray($aList) Then Return SetError(1, 0, '')
Local $iRan
For $i = 0 To 2 ;war 20
$iRan = Random(1, $aList[0], 1)
_ArraySearch($TempArray, $aList[$iRan]); Suchen ob Eintrag schon existiert
If @error Then; Eintrag existiert nicht
$sText = StringStripWS(FileRead($MoveFile & "\" & $aList[$iRan]),2)
$aSplit = StringSplit($sText,";")
GUICtrlCreateListViewItem($aSplit[1] & '|' & $aSplit[2]& '|' & $aSplit[3], $MainGUI_ListView)
_ArrayAdd($TempArray, $aList[$iRan]); Datei in Liste einfügen
EndIf
Next
Return
EndFunc ;==> AddRandomFilesdas temporäre Array muss am Anfang global deklariert werden,
mfg autoBert
-
vielen dank autoBert es hat funktioniert super
nun kann ich probieren ob es mit MoveFile funktionieren wird -