Hey
Also folgendes Problem. Ich will aus einem .csv-file rauslesen, ob es in einer festgelegten spalte eine 6-stellige zahl enthält. Das Program sollte per cmd aufgerufen werden...klappt ja schon mal...nun soll im cmd auch noch der pfad die spalte in der gesucht werden soll und je nachdem noch -s (für "silent" angehängt werden können. Pfad und Spalte hab ich soweit drinn und es funktioniert auch...nun habe ich aber das Problem, dass wenn ich den string in ein array "splitte" und danach die einzelnen werte auslese das programm nur funktioniert wenn -s auch im cmd eingegeben wird (oder ein anderer array[3]-wert) es sollte aber so sein, dass auch wenn der wert 3 nicht eingegeben wird etwas läuft. Nähmlich das fast gleiche ausser dass dann noch msgboxen einen fehler ausgeben. Meine idee war nun, array[3] wenn nichts drinn steht einfach mit 0 oder sowas zu füllen damit das ganze läuft. Geht sowas denn überhaupt
Also das hier ist mein Code bis anhin:
[autoit]#include <array.au3>
[/autoit][autoit][/autoit][autoit]AutoItSetOption("TrayIconHide", 1)
$parameter = StringSplit($CmdLineRaw, " ")
$file = FileOpen($parameter[1], 0)
$spalte = $parameter[2]
$zaehler = 2
$paragroesse = UBound($parameter)
While True
$linie = FileReadLine($file, $zaehler)
$array = StringSplit($linie, ";") ;teilt den String und schreibt ihn in ein Array
If $paragroesse < 3 Then
If Not StringIsDigit($array[$spalte]) Then ;wenn der String keine Zahl ist
MsgBox( 16, "Fehler", "Datei ist korrupt!")
Exit
EndIf
If Not StringLen($array[$spalte]) = 6 Then ;wenn der String nicht 6 Zeichen hat
MsgBox( 16, "Fehler", "Datei ist korrupt!")
Exit
EndIf
Else
If $parameter[3] = "-s" Then ;wenn das Programm mit -s aufgerufen wurde
If Not StringIsDigit($array[$spalte]) Then ;wenn der String keine Zahl ist
ProcessClose("notepad.exe")
Exit
EndIf
If Not StringLen($array[$spalte]) = 6 Then ;wenn der String nicht 6 Zeichen hat
ProcessClose("notepad.exe")
Exit
EndIf
EndIf
EndIf
$zaehler = $zaehler + 1
WEnd
danke schonmal