Autor Beitrag
leo84
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 29.01.07 00:49 
Hallo. Habe mich grade mal registiert, um meinen ersten eintrag zu schreiben und bei der gelegenheit eine frage zu stellen.
also: es geht ums hantieren mit textfiles, genauer gesagt mit textfiles, die katastrophaler weise in blöcke unterteilt sind, so wie in einer zeitung die spalten. Mein programm soll beides, normale texte und spaltentexte einlesen koennen und in einem memo wieder ausgeben, und es soll egal sein welche art text vorliegt.
Wie kann ich 2 blöcke, die in der ursprungsdatei nebeneinander stehen untereinander darstellen?
bis jetzt habe ich diesen ansatz verfolgt:
Zitat:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
begin
zaehler:= 1;
AssignFile(datei,'C:\datei.txt');
Reset(datei);
While not eof(datei) do
begin
setlength(Myarray, zaehler);
Readln(datei, MyArray[zaehler-1]);
Memo1.Lines.Add(MyArray[zaehler-1]);
inc(zaehler);
end;
CloseFile(datei);
end;

... damit lese ich eine textdatei zeile fuer zeile ein und gebe sie dann wieder zeile fuer zeile im memo aus. Das klappt sehr gut mit normalen texten, aber eben nicht mit diesen dummen spalten texten, leider muss ich mit beiden hantieren.
um das ganze noch toller zu machen habe ich 2 arten von spaltentexten: einmal welche, die spalten durch x leerzeichen abtrennen, einmal welche die tabs benutzen.

so wie mein programm jetzt ist, kann ich weder die einen noch die anderen richtig einlesen, das liegt wohl am 'zeile-für-zeile' ansatz, der es verhindert textblöcke innerhalb einer zeile zu erkennen. Im memo sollen alle texte gleich angezeigt werden, also 'normal', zeile fuer zeile untereinander, nicht 2 blöcke nebeneinander.
leider bin ich erst seit 4 tagen dabei delphi(und programmieren überhaupt) zu lernen und kann mir beim besten willen nicht vorstellen wie ich das problem lösen soll.

vielen lieben dank für eure hilfe!
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 29.01.07 01:19 
ich denke beinahe, das beste wird sein, wenn du hierfür ein anderes format nimmst. mein vorschlag wäre XML. das notwendige rüstzeug bekommst du aus dem entwicklerhandbuch (in D6 kapitel 26 und 30). solltest du das nicht wollen, würd ich mich an deiner stelle mit strukturierden dateien und varianten records auseinandersetzen. <HTH>.
leo84 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 29.01.07 13:34 
danke fuer die antwort, ich werde mal ein bischn rumprobieren und mich nochmal melden wenns dann endlich geklappt hat!
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 30.01.07 00:26 
alternativ fällt mir noch ein, dass du in deinem flatfile auch ein kennzeichen setzen kannst (welches mit sicherheit nicht in deinem text vorkommt), das dir auskunft über das zu verwendende format gibt. ausserdem gäbs noch die möglichkeit, eine datenbank (z.b. ms-access über odbc) zu verwenden, z.b. mit zwei blobs...