Hallo zusammen,
ich schreibe gerade ein kleines Script, das eine .txt Datei einliest und diese ausgibt.
Das knifflige ist allerdings, dass ich eine Inputbox habe wo ich "von" und "bis" eingebe.
Beim betätigen eines bestimmten Buttons, soll das Script prüfen, ob dieser Nummernkreis (von-bis) in der eingelesenen Datei
bereits vorhanden ist und wenn nicht, soll dieser Kreis erweitert werden.
Und genau bei dieser Prüfung hänge ich gerade fest. Hat jemand vielleicht einen Ansatz bzw. einen Codeschnippsel, der mir weiterhilft?
Weitere Fragen zum Zweck/Sinn des Scripts werde ich selbstverständlich bei Bedarf beantworten [Blockierte Grafik: http://www.codebot.de/wcf/images/smilies/smile.png]
Anbei auch ein Teil meines bereits geschriebenen Codes:
GuiCreate("GUI",550,600,-1,-1)
GUICtrlCreateLabel("Von", 180, 30)
GUICtrlCreateLabel("98110", 115, 64)
GUICtrlCreateLabel("+PZ", 233, 64)
GUICtrlCreateLabel("Bis", 360, 30)
GUICtrlCreateLabel("98110", 285, 64)
GUICtrlCreateLabel("+PZ", 402, 64)
$von = GUICtrlCreateInput("0000000",150,60,80,20,$ES_NUMBER)
GUICtrlSetLimit(-1, 7)
$bis = GUICtrlCreateInput("0000000",320,60,80,20,$ES_NUMBER)
GUICtrlSetLimit(-1, 7)
$erstellen=GuiCtrlCreateButton("Prüfen + Datei erstellen",175,500,200,50)
GUISetState(@SW_SHOW)
$Select = @DesktopDir & "\Einlesen.txt"
$outpout = @DesktopDir & "\Schreiben.txt"
$Open = FileOpen($Select, 0)
$Read = FileRead($Select)
$Select_Datei = GUICtrlCreateEdit($Read, 210, 100, 130, 300, $ES_AUTOVSCROLL + $WS_VSCROLL + $ES_READONLY)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $erstellen
int($von)
int($bis)
$readvon = GUICtrlRead($von)
$readbis = GUICtrlRead($bis)
$vonlaenge = StringLen($readvon)
$bislaenge = StringLen($readbis)
If $vonlaenge < 7 Then
Msgbox($MB_ICONERROR,"Eingabe zu kurz","Der eingegebene von-kreis ist zu kurz")
ContinueCase
ElseIf $bislaenge < 7 Then
Msgbox($MB_ICONERROR,"Eingabe zu kurz","Der eingegebene bis-kreis ist zu kurz")
ContinueCase
EndIf
;MsgBox(0,"",$readvon)
;MsgBox(0,"",$readbis)
$CountLines = _FileCountLines($Select)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]For $i = 1 to $CountLines Step 1
$line = FileReadLine($Open)
$array = StringSplit ( $line, "-")
$Readarray1 = $array[1]
$Readarray2 = $array[2]
;MsgBox(0,"",$Readarray1)
;MsgBox(0,"",$Readarray2)
$hFileOpen = FileOpen($outpout, $FO_APPEND)
FileWrite($hFileOpen, $line & @CRLF )
FileClose($hFileOpen)
Next
FileClose($Open)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]EndSwitch
WEnd
Inhalt der Einlesen.txt:
0000001-0023088
0023099-0060700
0060781-0194450
0194501-0196390
0196401-0196440
0196451-0804964
0804981-0804995
0804998-0995250
0995269-1050440