Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - schreiben in txt datei


Jan11 - Fr 09.12.05 17:22
Titel: schreiben in txt datei
also, ich bins nochmal, hatte das gefühl ich hab mich beim letzten mal etwas schlecht ausgedrückt (meine schuld):
ich habe nen eingabefeld, auf knopfdruck soll "er" das in eine textdatei schreiben, die im selben verzeichnis ist, und anschließend will ich damit auch wieder arbeiten können (also das lesen).
danke im vorraus
MfG Jan


Grendel - Fr 09.12.05 17:24

Und was ist die Frage?

Bis neulich ...


Jan11 - Fr 09.12.05 17:26

wie bekomme ich das in die textdatei und anschließen, wie kann ich es lesen (und sowas wie ich besucht nen gymnasium lol)


Tristan - Fr 09.12.05 17:28

Moin,

ich hab da mal schnell was gebastelt:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var test:Tstrings;
begin
test:=tstringlist.Create;
test.Text:=Edit1.Text;
test.SaveToFile('Testdatei.txt');
test.free;


Variable des Typs Tstring wird mit Inhalt von Edit1 gefüllt und gespeichert....

[edit: Lesen geht genau andersherum mit Loadfromfile oder ähnlichem....

Hoffe ich konnte dir damit helfen

Tristan


GTA-Place - Fr 09.12.05 17:29

Suche in der Entwickler-Ecke STRINGLIST
Die Suchfunktion - Dein Freund und Helfer.


Grendel - Fr 09.12.05 17:35

*fg* war ja im Grunde auch klar. Ich kann aber einfach nicht widerstehen meine blöden Kommentare zu hinterlassen :)

Zum Thema: Guck Dir mal die Klasse TFileStream an.

Schreiben:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
  fs: TFileStream;
  sMsg: String;
begin
  fs := TFileStream.Create(ExtractFilePath(ParamStr(0)) + 'meinedatei.txt', fmCreate); // Achtung: "fmCreate" ueberschreibt bestehende Dateien
  fs.Write(PChar(sMsg)^, Length(sMsg));
  fs.Free();
end;


Lesen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
  fs: TFileStream;
  sMsg: String;
begin
  fs := TFileStream.Create(ExtractFilePath(ParamStr(0)) + 'meinedatei.txt', fmOpenRead);
  SetLength(sMsg, fs.Size);
  fs.Read(PChar(sMsg)^, fs.Size);
  fs.Free();


Wobei jeweils in sMsg der zu speichernde String steht.

Bis neulich ...


Jan11 - Fr 09.12.05 17:46

und wie lese ich aus bestimmten zeilen?


Tristan - Fr 09.12.05 18:00

@Grendel jo funktioniert auch ist jedoch etwas umständlicher^^

@Jan11 Datei in die Stringliste laden und dann mit Test.strings[zeilennr] auslesen...


Jan11 - Fr 09.12.05 18:20

irgendwie bin ich einfach zu doof, anfänger eben

edit1.text:=uppercase(edit1.text);
test.Add(edit1.text);
test.SaveToFile('worter.txt');

und dann will ich eine zeile aus der text datei laden, also muss ich test.loadfromfile('dateiname') machen, oder? , wenn ich das dann mit dem strings[zeile] mache springt er da immer raus *verzwifelt*


Grendel - Fr 09.12.05 18:51

user profile iconJan11 hat folgendes geschrieben:
[...] wenn ich das dann mit dem strings[zeile] mache springt er da immer raus *verzwifelt*

Mit "springt raus" meinst Du vermutlich eine Exception?!
Denk dran, daß die Zeilen ab 0 gezählt werden und nicht ab 1. Also Zeile 1 wäre Strings[0].

Bis neulich ...