Autor Beitrag
perry5
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 102



BeitragVerfasst: Mi 13.12.06 22:01 
Ok, ich müsste halt irgendwie eine Texdatei laden und auslesen (parsen). Zusätzlich wäre es halt gut wenn ich die direkt verädnenr könnte, d.h. ich bräcuhte quasi ne Art Minitexteditro in meiner Anwendung, wo ich alles laden/speichern und auch zeilenweise auslesen kann.
Ich bräcuhte dann halt jede Zeile in nem stirng oder so, so dass ich die einfach auslesen kann.
Ok, ich habe von Delphi keine Ahnung, und habe erstmal ein RichEdit Feld genommen. Wie kann ich ie Zeilen auslesen? Und wie am einfachsten laden und speichern? Den Rest kreigt ich dann hoffenlich selber hin.
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Mi 13.12.06 22:12 
Hey Perry!
Einzelne Zeilen kannst du mit
ausblenden Delphi-Quelltext
1:
 text :=  richedit1.Lines[x];					

aus einem Richedit auslesen. Wobei Text vom Typ String und X vom Typ Integer ist.

Zum Laden kannst du die Prozeduren Lines.LoadFromFile(); und Lines.SaveToFile();verwenden.
Damit der Benutzer nun die Textdatei auswählen oder sie in einen Ordner bestimmten Ordner speichern kann, verwendest du hierbei den Open- bzw Savedialog.
Zu finden unter Dialogs.

Kleines Beispiel:
ausblenden Delphi-Quelltext
1:
2:
 if opendialog1.execute then // sonst erscheint eine exception, falls der dialog geschlossen wird!
  richedit1.lines.loadfromfile(opendialog1.filename);

Entsprechend sieht das auch für den Savedialog aus.

So, falls du nun aber nicht den Text anzeigen lassen willst, kannst du auch alternativ eine Stringlist verwenden.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
 sl: TStringlist;
begin
 sl := TStringlist.create; // instanz erzeugen
 sl.loadfromfile(); 
 text := sl[x]; // zeile x
 sl.free; // und zum schluss wieder freigeben!
end;


grüße marc
perry5 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 102



BeitragVerfasst: Mi 13.12.06 22:33 
Ok, die formatierung der Textdatei sieht interessant aus, aber man kann die ja im RichEdit sehr fein formatieren, d.h. ist das ok.
Funktioniert wunderbar und ist einfach.
Nur noch eine Frage:
Wie finde ich heraus wie viele Lines es gibt?
Line ist dann doch so ähnlich wie ein string Array, ja?
Ich hab mal folgendes probiert, da kam "inkompatible Typen":
ausblenden Delphi-Quelltext
1:
Label1.Caption:=inttostr(length(RichEdit.Lines));					

Weil, wenn ich jede Zeile auslesen will, muss ich ja für die Schleife wissen, wie viele es gibt.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mi 13.12.06 22:54 
Du warst oder bist doch schon auf dem richtigen Weg mit Lines, wenn Du eingibst RichEdit.Lines. zeigt Dir Delphi unter anderem Count an.
Vieleicht hilft Dir das.

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
perry5 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 102



BeitragVerfasst: Mi 13.12.06 23:12 
Ok, danke dann hab ich jetzt alles hoffe ich.