Beliebige Zeile bearbeiten
Hallo!
Ist es in KIXTART möglich, in einer Datei (in meinem Fall eine *.dat - Datei) eine bestimmte Zeile zu bearbeiten, sprich: der in dieser bestimmten Zeile stehende Text durch einen neuen ersetzen?
Diese Datei sieht wie folgt aus:
text - zeile1
text - zeile2
text - zeile3
text - zeile4
text - zeile5
text - zeile6
text - zeile7
TRUE
text - zeile8
text - zeile9
text - zeile10
Und dieses "TRUE" möchte ich durch ein "FALSE" ersetzen.
Ist dies irgendwie machbar??
Ist es in KIXTART möglich, in einer Datei (in meinem Fall eine *.dat - Datei) eine bestimmte Zeile zu bearbeiten, sprich: der in dieser bestimmten Zeile stehende Text durch einen neuen ersetzen?
Diese Datei sieht wie folgt aus:
text - zeile1
text - zeile2
text - zeile3
text - zeile4
text - zeile5
text - zeile6
text - zeile7
TRUE
text - zeile8
text - zeile9
text - zeile10
Und dieses "TRUE" möchte ich durch ein "FALSE" ersetzen.
Ist dies irgendwie machbar??
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 93014
Url: https://administrator.de/contentid/93014
Ausgedruckt am: 05.11.2024 um 15:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo,
das geht. Du musst dabei Zeile für Zeile die Datei auslesen, jede Zeile untersuchen und in eine andere Datei schreiben. Danach umbenennen (oder schon vorher).
Hier ein Beispiel:
Break On
$Datei1 = "C:\Datei1.dat" ; dies ist die Datei, die geändert werden soll
$Datei2 = "C:\Datei2.dat"
; Löschen
Del $Datei2
; Umbenennen
Move $Datei1 $Datei2
$FFH2 = FreeFileHandle()
If Open($FFH2, $Datei2, 2) = 0
$FFH1 = FreeFileHandle()
If Open($FFH1, $Datei1, 5) = 0
$Line = ReadLine($FFH2)
While @16034 = 0
If InStr($Line, "TRUE")
$Line = Left($Line, InStr($Line, "TRUE") - 1) + "FALSE" + SubStr($Line, InStr($Line, "TRUE") + Len("TRUE"))
EndIf
$Ret = WriteLine($FFH1, $Line + @crlf)
$Line = ReadLine($FFH2)
Loop
$Ret = Close($FFH1)
EndIf
$Ret = Close($FFH2)
EndIf
das geht. Du musst dabei Zeile für Zeile die Datei auslesen, jede Zeile untersuchen und in eine andere Datei schreiben. Danach umbenennen (oder schon vorher).
Hier ein Beispiel:
Break On
$Datei1 = "C:\Datei1.dat" ; dies ist die Datei, die geändert werden soll
$Datei2 = "C:\Datei2.dat"
; Löschen
Del $Datei2
; Umbenennen
Move $Datei1 $Datei2
$FFH2 = FreeFileHandle()
If Open($FFH2, $Datei2, 2) = 0
$FFH1 = FreeFileHandle()
If Open($FFH1, $Datei1, 5) = 0
$Line = ReadLine($FFH2)
While @16034 = 0
If InStr($Line, "TRUE")
$Line = Left($Line, InStr($Line, "TRUE") - 1) + "FALSE" + SubStr($Line, InStr($Line, "TRUE") + Len("TRUE"))
EndIf
$Ret = WriteLine($FFH1, $Line + @crlf)
$Line = ReadLine($FFH2)
Loop
$Ret = Close($FFH1)
EndIf
$Ret = Close($FFH2)
EndIf