Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen (https://www.delphipraxis.net/160499-einer-textdatei-nach-128-zeichen-bytes-ein-zeilenumbruch-einfuegen.html)

nachtstreuner 16. Mai 2011 15:30

in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Delphianer,

hab mal wieder ein Problem und einen rauchenden Schädel dazu.

Ein Memofeld mit einer eingelesenen Textdatei. (Siehe Bild 1).
Genau nach 128 Zeichen(Bytes) soll dort ein CR (Return) eingefügt werden, so daß das ganze wie in Bild2 dargestellt, aussieht.

Ideen ? Tips ?. Ich kann auch nicht nach einer bestimmten Zeichefolge suchen.

Danke Euch schonmal.

DeddyH 16. Mai 2011 15:35

AW: in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen
 
Mit Delphi-Referenz durchsuchenInsert sollte das doch recht einfach gehen.

nachtstreuner 16. Mai 2011 15:51

AW: in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen
 
Vielen Dank DeddyH

wenn ich folgendes eingebe passiert gar nichts.

Code:
 memo1.Lines.LoadFromFile(sFileDTA.FileName);
  memo1.SetFocus;
  memo1.SelStart :=128;
  memo1.Lines.Insert(128,#13);

chrisw 16. Mai 2011 15:53

AW: in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen
 
Nimm mal ein #13#10, dann sollte es funktionieren !

DeddyH 16. Mai 2011 15:55

AW: in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen
 
Delphi-Quellcode:
  Memo1.SelStart := 128;
  Memo1.SelText := sLineBreak;
So geht es auch ohne Insert.

ConnorMcLeod 16. Mai 2011 15:55

AW: in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen
 
So etwas a la
Delphi-Quellcode:
if (Length(Memofeld.Text) >= 128) then
begin
  Memofeld.Text := Copy(Memofeld.Text, 1, 128) + CR + Copy(Memofeld.Text, 129, MaxInt);
end;

nachtstreuner 16. Mai 2011 15:57

AW: in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen
 
Hallo ChrisW,

danke für Deinen Tip. Es tut sich aber trotzdem nichts.

:pale:

DeddyH 16. Mai 2011 15:58

AW: in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen
 
Memo.Lines.Insert arbeitet zeilenweise, nicht zeichenweise. Hast Du meinen Vorschlag einmal versucht?

nachtstreuner 16. Mai 2011 16:02

AW: in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen
 
Danke an alle Beteiligten,

LineBreak, das funzt.

Code:
  memo1.Lines.LoadFromFile(sFileDTA.FileName);
  memo1.SetFocus;
  memo1.SelStart :=128;
  Memo1.SelText := sLineBreak;
  memo1.Refresh;
Bis zur nächsten Wissenslücke.:)

blackfin 16. Mai 2011 16:04

AW: in einer Textdatei nach 128 Zeichen(Bytes) ein Zeilenumbruch einfügen
 
Wäre es performance-technisch nicht viel geschickter, erstmal über einen FileStream 128 Bytes der Textdatei einzulesen, einen Zeilenumbruch an den Result-String ranhängen, dann den Rest der Datei lesen /anhängen und am Schluss nur nocht den Memo-Text auf den String zu setzen?
Ich benutze Memos eigentlich fast nie, aber ich hab sie für String-Operationen als Performance-Killer in Erinnerung..


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf