Entwickler-Ecke

Dateizugriff - Memo speichern...


Cruiser23 - Do 06.01.05 16:04
Titel: Memo speichern...
Hi,

kann mir jemand sagen, wie ich den inhalt eines ganzen memos in eine *.txt bekomme (MEINE NICHT SaveToFile)!
Oder anders formuliert: Wie kann man einen ShortStrin in einen anderen Strintypen konvertieren?

Cruiser


Keldorn - Do 06.01.05 16:12

Hallo,

warum nicht savetofile? das wäre doch das einfachste, oder möchtest nicht nur das memo in eine datei schreiben?
Du kannst den memotext auch per Commatext oder delimetedtext in einen String wandeln, der kein "enter" enthält, mit du deine textdatei zerschießt.

Zitat:

Oder anders formuliert: Wie kann man einen ShortStrin in einen anderen Strintypen konvertieren?

einfach zuweisen?

Mfg Frank


Cruiser23 - Do 06.01.05 16:30

Versuche jetz mal etwas genauer zu sein: Ja, es soll außer dem memo noch mehr gespeichert werden. Soll eine art Datenbank werden, die unter anderem viele längere texte enthält, deshalb such ich nach einer methode, den text anders als mit savetofile in eine *.txt zu bekommen!


Keldorn hat folgendes geschrieben:
Hallo,

Du kannst den memotext auch per Commatext oder delimetedtext in einen String wandeln, der kein "enter" enthält, mit du deine textdatei zerschießt.



Wie geht das?

Das mit dem einfach zuweisen ist doch nicht so einfach: Memo.Text gibt mir ja den gesamten inhalt des memos in einem Shortsring zurück, bei dem versuch diesen Shorty in einen Strin in einem Rec zu laden, sagt mir Delphi, es würde da ein kompatibilitätsproblem geben....


Keldorn - Do 06.01.05 16:39

Cruiser23 hat folgendes geschrieben:
die unter anderem viele längere texte enthält,

dann vergiss das mit der Textdatei, ich glaube nicht, das du damit glücklich wirst. Wenn du ein record mit shortstrings hast, müßtest du den text immer wieder zerstückeln. Nimm besser einen stream, dort gibst keine Probleme mit string-längen. Such z.B. um forum nach Twriter und nach beiträgen von maximus oder mir.

Zitat:

Wie geht das?

Das mit dem einfach zuweisen ist doch nicht so einfach: Memo.Text gibt mir ja den gesamten inhalt des memos in einem Shortsring zurück, bei dem versuch diesen Shorty in einen Strin in einem Rec zu laden, sagt mir Delphi, es würde da ein kompatibilitätsproblem geben....



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject);
Var s:string[200];
begin
  //paar zeilen zum testen, um kommas, " brauchst du dich nicht zu sorgen, sthet auch in der oh
  memo1.lines.Add('Test1');
  memo1.lines.Add('Test2"b" ');
  memo1.lines.Add('Test, 3');
  //auslesen und shortstring zuweisen
  s:=memo1.lines.CommaText;
  //testweise anzeigen, diesen string würdest du auch speichern, enthält kein enter
  ShowMessage(s);
  //und einem 2. memo zuweisen
  memo2.Lines.CommaText := s;
end;


zeig mal deinen code ...


Tobias1 - Do 06.01.05 16:49

Du kannst es auch als ini-Datei speichern (da passen auch andere Daten rein).
Du kannst die ini-Datei mit einer Schleife füllen.


Cruiser23 - Do 06.01.05 17:02

ok, werde mich über Streams informieren!

hab meinen code nicht bei(fremder pc)! liefere ich die tage!

@Tobias: Soweit ich weiß, haben ini`s dopch eine längenbegrenzung, oder nich? ist also für endlos viele daten nicht alzu sinnvoll!