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??
Please also mark the comments that contributed to the solution of the article
Content-Key: 93014
Url: https://administrator.de/contentid/93014
Printed on: April 26, 2024 at 14:04 o'clock
2 Comments
Latest comment
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