Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Position des Zeilenumbruchs in Textfile feststellen (https://www.delphipraxis.net/35372-position-des-zeilenumbruchs-textfile-feststellen.html)

WEBSTER 6. Dez 2004 11:26


Position des Zeilenumbruchs in Textfile feststellen
 
Salute,

ich habe eine einfache Textdatei, die am Ende jeder Zeile einen Zeilenumbruch (#10+#13) hat.

Wie kann ich nun herausfinden, an welcher Stelle sich der Zeilenumbruch befindet ?

THX
WEBSTER

Orbmu2k 6. Dez 2004 11:30

Re: Position des Zeilenumbruchs in Textfile feststellen
 
ein Zeilenumbruch ist eigentlich ein #13#10

Delphi-Quellcode:
  Pos(#13#10,Zeile)

WEBSTER 6. Dez 2004 11:35

Re: Position des Zeilenumbruchs in Textfile feststellen
 
Salute,

danke für die SW.

Mit dem POS habe ich es schon probiert. Er findet aber nichts in der Zeile.

Ich habe schon folgendes probiert..:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Str_Zeile: string;
  Str_Tmp: Char;
  f: textFile;

begin
  AssignFile(f, 'F:\021204_freight.rel');
  reset(f);

  Readln(f, Str_Zeile); -> Mit Read(f, Str_Zeile); funktioniert es auch nicht.


//  AdjustLineBreaks()

 // ShowMessage(IntToStr(Length(Str_Zeile)));

//  Str_Tmp := Copy(Str_Zeile, 89, 1)[1];

  ShowMessage(IntToStr(pos(#13#10,Str_Zeile)));

//  ShowMessage(Copy(Str_Zeile, 89, 1)+'/'+IntToStr(Ord(Str_Tmp)));

//  ShowMessage('CODE:'+IntToStr(Byte(Str_Zeile[Length(Str_Zeile)])));

 // ShowMessage(IntToStr(Ord(Str_Zeile[Length(Str_Zeile)])));


  closeFile(f);

end;


THX
WEBSTER

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]

Sharky 6. Dez 2004 12:03

Re: Position des Zeilenumbruchs in Textfile feststellen
 
Hai WEBSTER,

wenn ich es richtig im Kopf habe gibt es auch Dateien wo nur ein #10 als Zeilenumbruch steht. Prüfe doch mal da rauf.

yankee 6. Dez 2004 12:14

Re: Position des Zeilenumbruchs in Textfile feststellen
 
readln (ausgeschriben readline) liest aus der Textdatei eine Zeile aus. D.h. Bis zum nächsten Zweilenumbruch. Der Zeilenumbruch ist nicht enthalten.
Aslo du hast diese Datei:

abababab
ccc
d

dann liefert readln 'abababab'. Beim zweiten ausführen 'ccc' un beim dritten mal 'd'. Also nix Zeilenumbruch.

WEBSTER 6. Dez 2004 12:17

Re: Position des Zeilenumbruchs in Textfile feststellen
 
Salute,

danke für Eure Tipps. Habe es "Quick and Dirty" gelöst. Fage einfach die Anzahl der Zeichen innerhals des eingelesenen Strings ab und wenn diese von meinen Vorgaben abweichen sollte, dann .....

THX
WEBSTER

Dschinghis 6. Dez 2004 21:23

Re: Position des Zeilenumbruchs in Textfile feststellen
 
Tachchen,

als ich hab es in meinen *.txt - Dateien so gelöst:

lineend := pos(#13#10,Buffer)-1;
funzt super.

CU Dschinghis

bigg 6. Dez 2004 21:35

Re: Position des Zeilenumbruchs in Textfile feststellen
 
Hallo,

wenn du nur Textdateien bearbeiten möchtest, empfiehlt sich da eine TStringList.
Ansonsten gibt es 3 Arten von Zeilenumbrüchen:
  1. CR+LF für Windows (#13#10)
  2. LF für Unix (#10)
  3. CR für Mac(#13)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:53 Uhr.

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