![]() |
Überschreiben von zeilen per TFileStream
Hallo,
ich möchte per TFileStream einen Text überschreiben und zwar mit leerzeichen mein versuch klappte leider nicht da nur stellenweise überschrieben wurden ist.
Delphi-Quellcode:
ich suche in einem FileSTream einen text das geht auch. gefundenppos speichert die entsprechende Position im Stream.
FileStream.Position:=gefundenpos;
r:=True; while r = true do begin if FileStream.Position = FileStream.Size then begin r:=False; end else begin FileStream.ReadBuffer(c,1); if c = '[' then r:=false else begin str:=#13; FileStream.WriteBuffer(str[1],Length(str)); end; end; end; FileStream.Position:=gefundenpos; weiß jetzt leider nicht geht ist das überschreiben da bekomme ich immer sowas bei raus: Zitat:
"Hallo du da" und nicht Ts1Ts2Ts3Ts4 wobei das hieß auch vor der überscchreibung anders: TestTestTest Test1 Test2 kann mir da jemmand helfen ? |
Re: Überschreiben von zeilen per TFileStream
Hallo Michael,
die Schreib- und Lese-Methoden aktualisieren den Positionszeiger. Wenn du also ein gelesenes Zeichen überschreiben willst, dann musst du die Position erst wieder zurücksetzen. Grüße vom marabu |
Re: Überschreiben von zeilen per TFileStream
danke für den hinweise
das ist mir auch aufgefallen nach dem posten aber der haupt fehler lag noch woanders und zwar hier
Delphi-Quellcode:
irgenwie ist der gefundenpos an einer falschen position geraten und ich musst eigentlich nur noch sagen:
while r = true do begin
if FileStream.Position >= FileStream.Size then begin r:=False; end else begin FileStream.ReadBuffer(c,1); if (c = '[') and (test = True) then begin if test = true then r:=false; test:=True; end else begin str:=' '; FileStream.position:=FileStream.position-1; FileStream.WriteBuffer(str[1],Length(str)); end; end; end; da wenn er das zeichen [ das zweite mal finden soll er aufhören und nicht beim erstenmal. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz