Autor Beitrag
V!P3R
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 151



BeitragVerfasst: Mo 14.07.08 14:00 
Ich speichere einen Text zum beispiel:#

ausblenden Delphi-Quelltext
1:
RichEdit1.Text:='Hallo,'+#13#10+#13#10+'Das ist nur ein Beispiel!'					


das würde dann so aussehen:

ausblenden Quelltext
1:
2:
3:
Hallo,

Das ist nur ein Beispiel!


wenn ich ihn also speichere und anschließend wieder einlese steht in dem richedit nur noch:
ausblenden Quelltext
1:
Hallo,					


mit dem Enter kommt die Ini datei nicht zurecht.
Ich hab mal in die IniDatei geguckt, dort steht es so:

ausblenden Quelltext
1:
2:
3:
4:
[Sek1]
RichEdit1=Hallo,

Das ist nur ein Beispiel!


beim einlesen liest delphi aber (wie oben schon gesagt) nur das, was in der selben zeile steht, mit dem enter kommt delphi nicht zurecht.

warum und wie kann ich das ändern?

MfG


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 14.07.2008 um 15:52
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Mo 14.07.08 14:04 
Eine Ini ist halt nicht für Werte, die über mehrere Zeilen gehen, ausgelegt.
Warum speicherst du das Richedit nicht einfach mit SaveToFile?
V!P3R Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 151



BeitragVerfasst: Mo 14.07.08 14:22 
weil ich dann über 25 txt oder word dateien bräuchte!
(sprich ich habe über 25 memos und richedits in meinem projekt)
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Mo 14.07.08 14:24 
Und?

Ansonsten hier einige Stichwörter:
TStream
TFileStream
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mo 14.07.08 14:26 
Edit: Sorry war TStringlist - Mein Fehler. :flehan:

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)


Zuletzt bearbeitet von Blackheart666 am Mo 14.07.08 15:13, insgesamt 1-mal bearbeitet
PeterPain
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 83



BeitragVerfasst: Mo 14.07.08 14:27 
Du könntest auch vor dem speichern die Zeilenumbrücke durch ein anderes Zeichen ersetzen, und das dann andersherum nach dem laden wieder rückgängig machen. Ist auch nicht sonderlich elegant, sollte aber funktionieren.

gruss
nagel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 708

Win7, Ubuntu 10.10

BeitragVerfasst: Mo 14.07.08 14:32 
user profile iconPeterPain hat folgendes geschrieben:
Du könntest auch vor dem speichern die Zeilenumbrücke durch ein anderes Zeichen ersetzen, und das dann andersherum nach dem laden wieder rückgängig machen. Ist auch nicht sonderlich elegant, sollte aber funktionieren.


Soweit ich weiß gibt es aber eine maximale Länge für einen Eintrag in einer Ini, d.h. bei längeren Texten wird das auch nicht funktionieren.
Swordooo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 119

W2K, Windows XP Professional
Delphi 2005 Personal, Delphi 7 Personal
BeitragVerfasst: Mo 14.07.08 14:59 
Zitat:
Warum speicherst du das Richedit nicht einfach mit SaveToFile?


ich würde mal sagen, das ist die einfachste Lösung.
V!P3R Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 151



BeitragVerfasst: Mo 14.07.08 15:32 
bei den 20 memos hab ich PeterPains Idee genommen,

bei den 5 richedits werd ich sie wohl mit SaveToFile speichern müssen,

Vielen dank.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mo 14.07.08 15:41 
user profile iconV!P3R hat folgendes geschrieben:
Ich speichere einen Text zum beispiel:#

ausblenden Delphi-Quelltext
1:
RichEdit1.Text:='Hallo,'+#13#10+#13#10+'Das ist nur ein Beispiel!'					


das würde dann so aussehen:

ausblenden Quelltext
1:
2:
3:
Hallo,

Das ist nur ein Beispiel!


wenn ich ihn also speichere und anschließend wieder einlese steht in dem richedit nur noch:
ausblenden Quelltext
1:
Hallo,					


mit dem Enter kommt die Ini datei nicht zurecht.
Ich hab mal in die IniDatei geguckt, dort steht es so:

ausblenden Quelltext
1:
2:
3:
4:
[Sek1]
RichEdit1=Hallo,

Das ist nur ein Beispiel!


beim einlesen liest delphi aber (wie oben schon gesagt) nur das, was in der selben zeile steht, mit dem enter kommt delphi nicht zurecht.

warum und wie kann ich das ändern?

MfG


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 14.07.2008 um 15:52


Ich versteh beim besten Willen nicht was das soll - ich speichere einen Text - Wo denn ? - RichEdit.Lines.Add('') etc.
Kopfschüttel. :wink:

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

W2K, Windows XP Professional
Delphi 2005 Personal, Delphi 7 Personal
BeitragVerfasst: Mo 14.07.08 15:50 
Ich denke mal er hat den Quelltext weggelassen:
Zitat:

wenn ich ihn also speichere und anschließend wieder einlese steht in dem richedit nur noch:
Laut der Aussage muss er ja i-wie speichern.
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 14.07.08 16:24 
Machs doch einfach so:

- einen Sektion beschreibt ein RichEdit
- dann schreibst du als erstes die Anzahl der Zeilen in die Sektion
- & mit einer Schleife schreibst du jede Zeile einzeln rein und nummeriest sie

das ganz sieht dann ungefaehr so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
  // für das 1. RichEdit
  TIniFile.WriteInteger('1',                    
                        'count',
                        RichEdit1.Lines.Count)
  for i:=1 to RichEdit.Lines.Count do
    begin
    TInifile.WriteString('1',
                         IntToStr(i),
                         RichEdit1.Lines[i-1]);    
    end;


Wenn du wriklich 25 RichEdits hast, kannst du auch noch ne äußere Schleife "drumherumbasteln" und mit FindComponent (=> F1) das jeweillige RichEdit automatisch wählen, vorausgesetzt sie sind der Reihe nach durchnummeriert ..
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mo 14.07.08 20:13 
Vieleicht hilft dir ja noch CommaText etwas weiter.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
var
  Form1: TForm1;
  Ini:TIniFile;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Ini:=TIniFile.Create(ExtractFileName(ParamStr(0))+'MyIni.ini');
end;

procedure TForm1.SaveClick(Sender: TObject);
begin
  RichEdit.Lines.Add('"Text"');
  RichEdit.Lines.Add('');
  RichEdit.Lines.Add('"Text"');
  RichEdit.Lines.Add('');
  RichEdit.Lines.Add('"Text"');
  Ini.WriteString('Rich','RichText',RichEdit.Lines.CommaText);
end;

procedure TForm1.LoadClick(Sender: TObject);
begin
  RichEdit.Clear;
  RichEdit.Lines.CommaText:=Ini.ReadString('Rich','RichText','Kein Eintrag');
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Ini.Free;
end;

end.

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 14.07.08 20:15 
Moin!

user profile iconBlackheart666 hat folgendes geschrieben:
Vieleicht hilft dir ja noch CommaText etwas weiter.
Vorsicht Falle, TIniFile.ReadString macht intern ein unquote, damit fallen die äußersten Anführungszeichen ggfs. weg! :shock: Siehe FAQ-Beitrag. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.