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: |
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!