Autor Beitrag
hibbert
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Fr 16.09.05 13:12 
Hi,
ich habe ein kleines Problem:
Ich habe eine Textdatei. Nun möchte ich gerne eine bestimmte Anzahl an Zeilen auslesen.
Mein Anfang sieht so aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var txt:textfile;
{...}
  // laden der Datei
  assignfile(txt,'test.txt');
  reset(txt);

  // dateiname 
  readln(txt,fname);


Nun habe ich wenn ich die .txt - Datei öffne so ein komisches viereck. Ich habe rausgefunden, das es für den Zeilenumbruch zuständig ist.

Nun möchte ich aber gerne den ganzen Text hintereinander zu stehen haben, also ohne Zeilenumbruch.

Kann ich nicht einfach die ganze .txt Datei in ein String oder so laden und dann den Umbruch rausfiltern ?

Ich bin für jede hilfe dankbar.

hibbert

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 16.09.05 13:52 
Moin!

Verkette doch einfach die Zeilen in einer zweiten Variablen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
   txt: TextFile;  
   line,all: String;
{...}  
  // laden der Datei  
  assignfile(txt,'test.txt');  
  reset(txt);  

  all := '';
  while (NOT Eof(txt)) do
    readln(txt,line); 
    all := all +line;
  end;

Anmerkung: ungetestet aus dem Kopf. :wink:

cu
Narses
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Fr 16.09.05 13:57 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var
  SList:   TStringList;
  TempStr: String;
begin
  SList := TStringList.Create;
  SList.LoadFromFile('C:\MyTxt.txt');

  TempStr := SList.Text
  TempStr := StringReplace(TempStr, #13#10, ' ', [rfReplaceAll]);

  SList.Free;
end;

Musst mal ein bisschen mit dem #13#10 testen (nur #13 oder nur #10, ...).

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
hibbert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Fr 16.09.05 18:08 
jo danke, jetzt funzt es.

vielen dank.

hibbert

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej