Autor Beitrag
Gosa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 112



BeitragVerfasst: Do 26.02.04 03:41 
Hi ich probiere gerade in eine Datei einiege Sachen zu speichern was ich aber nicht hinkriege ist den Text von einen Memo feld da rein zu schreiben. Zumindest nicht so das alles andere weg ist. Ich hätte das gerne ungefähr so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
IniF: TIniFile;
Begin
   IniF := TIniFile.Create(C:\xyz.txt); 
   IniF.Writeinteger('Zahl''Zahl'5);
   
   IniF.Writestring('TextvonMemo''Text', Memo1.Lines);
End;



Leider will Delphi diese Zeile IniF.Writestring('TextvonMemo', 'Text', Memo1.Lines); nicht. Delphi sagt mir: [Error] USpeichernLaden.pas(29): Incompatible types: 'String' and 'TStrings'.

Wie kann ich es denn trozdem hinkriegen? Wie mache ich aus TString einen String (odere mehrere)? Am liebsten wäre es mir wenn dann in der Datei sowas steht:

[TextvonMemo]
Text=naja und hier eben der Text

(Dieses Memo.Lines.SaveToFile(C:\xyz.txt); bringt mir nicht soviel da ich wenn ich noch ein memo feld da drin speichern will die nicht mehr unterscheiden kann (beim laden des textes). Oder geht das doch irgenwei?)

Hoffe jemand weis ne Lösung.

Moderiert von user profile iconMotzi: Code- durch Delphi-Tags ersetzt
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 26.02.04 03:51 
Memo1.Text

Aber du wirst Probleme mit den Zeilenumbrüchen bekommen. Desweitern ist die größe von Ini-Dateien zu mindest unter Win9x beschränkt. Und ab einer bestimmten Größe dürftest du auch arge Performance Probleme beommen.
Gosa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 112



BeitragVerfasst: Do 26.02.04 03:55 
Vielen Dank für die schnell antwort! Ich habe nur im Object Inspector geguckt und da wir text gar nicht angezeigt :(.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 26.02.04 06:25 
Die Property ist auch, nicht published, sondern nur public. ;)
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Do 26.02.04 09:44 
Un wie Delphi schon sagte TString und TStrings sind verschiedene Typen.
Du müsstest jede Zeile einzeln in die ini schreiben

ausblenden Delphi-Quelltext
1:
2:
3:
4:
for i := 0 to Memo1.Lines.Count - 1 do
begin
  IniF.WriteString('Memo1''Zeile' +IntToStr(i), Memo1.Lines[i]);
end;


Beim Laden gehts dann etwas einfacher

ausblenden Delphi-Quelltext
1:
2:
Memo1.Clear;
IniF.ReadSectionValues('Memo1', Memo1.Lines);

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce