Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Text Speichern und Buttonproblem


Locke - Mi 14.12.05 22:04
Titel: Text Speichern und Buttonproblem
Moin Leute,
ich bin grad dabei einen Offlineposter fuers Woltlab Burning Board zu schreiben, davon gibts zwar schon genug, aber ich will ne version speziell fuer ein Board machen :)

Ich habe gerade angefangen mit Delphi programmieren, habe mir gestern 2 Buecher bestellt um es zu lernen ^^, daher bitte nicht ueber meine fragen lachen :D

Gut fang ich mal an das Problem zu schildern.
Ich habe eine RichEdit Box, in die ein Text geschrieben wird, dieser Text kann dann als *.txt gespeichert werden. Dazu habe ich einen SavetoDialog benutzt und folgenden Code benutzt:

Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Speichernunter1Click.BitBtn1Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
  RichEdit1.lines.savetofile(SaveDialog1.FileName);
end;


Dies funktioniert soweit auch recht gut, wenn ich dann aber die *.txt Datei oeffne steht dort nicht der Text den ich zuvor eingegeben habe. Ich habe einfach mal von A-Z alles gedrueckt und nach dem speichern ist folgendes rausgekommen:
Zitat:
{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 MS Sans Serif;}{\f1\fnil MS Sans Serif;}}
\viewkind4\uc1\pard\lang1033\f0\fs16 ABCDEFGHIJKLMNOPQRSTUVWXYZ\lang1031\f1
\par }


Danke schonmal fuer eure Hilfe :)

mfg Locke


Moderiert von user profile iconGausi: Zweite Frage entfernt.


Marc. - Mi 14.12.05 22:17


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.Button1Click(Sender: TObject);
var
  f: textfile;
  s: string;

begin

saveDialog1.Execute;
 Assignfile(f, saveDialog1.FileName + '.txt');
   Rewrite(f);
    s := richedit1.text;
      Write(f, s);
        CloseFile(f);

end;



;) so gehts!


Gausi - Mi 14.12.05 22:21

Alternativ kannst du auch die Memo-Komponente nehmen. Die speichert wirklich nur Text, keine RTF-Dateien. In der Memo kann man allerdings nicht verschiedene Formate nehmen (fett, kursiv, Schriftgröße etc.). Diese Werte kann man da nur global für den gesamten Text einstellen. ich weiss nciht genau, ob du die Formatierungen auch in dieser Anzeige brauchst, oder nur den Code (so wie hier im Beitragseditor).


Locke - Mi 14.12.05 22:26

Dankeschoen NoTVerYEvilPzYchO, hat super funktioniert ;)

@Gausi, wie funktioniert das denn mit der Memo-Komponente, wuerd mich ja auch noch interessieren ;)

Achja ich haette da noch ne frage, die auch was mit Textspeichern zu tun hat, koennte man noch nen autosave einbauen, also das das Programm immer nach z.B. 5 Minuten den Text speichert?

Das waere noch gut wenn ihr mir sagen koenntet wie das funktionert ;)

thx

mfg Locke


Gausi - Mi 14.12.05 22:31

user profile iconLocke hat folgendes geschrieben:
@Gausi, wie funktioniert das denn mit der Memo-Komponente, wuerd mich ja auch noch interessieren ;)
Genau wie mit Richedit, nur halt das Memo auf die Form ziehen ;-) Ist eine der Standard-Komponenten

user profile iconLocke hat folgendes geschrieben:
Achja ich haette da noch ne frage, die auch was mit Textspeichern zu tun hat, koennte man noch nen autosave einbauen, also das das Programm immer nach z.B. 5 Minuten den Text speichert?
Eigentlich haben wir das mit den Mehrfachfragen ja geklärt (;-)), aber schau dir mal die Komponente "Timer" an.


Locke - Mi 14.12.05 22:37

Ok ok .. habs verstanden mit den mehrfachfragen ^^
Wenn man andere Regeln gewohnt ist, ist das ne ganz schoene Umstellung ;)

Ich haette mir schon denken koennen, das es was mit dem Timer zu tun hat :)
Werd mir das mal genauer anschauen :D Und wenn ich Fragen dazu habe, mach ich nen neuen Thread auf :)

Grosses THX an euch beide ;)

mfg Locke