![]() |
ini Dateien bearbeiten
Er schreibt nur den letzten Eintrag.Wie kann man ihn sagen das er in eine neue Zeile springt und die Eingaben vom Memo.Text anfügt?
Delphi-Quellcode:
Ini := TIniFile.Create('c:\test\bauer.ini');
Ini.WriteString('Pfad', 'Datei', Memo1.Text); Ini.Free; |
Re: ini Dateien bearbeiten
möchtest du den kompletten inhalt eines momos in eine datei speichern?
|
Re: ini Dateien bearbeiten
Ich will meine INI die mehere Pfade eintragen über Memo.text
Delphi-Quellcode:
[Pfad]
Datei=Datei=c:\test\test3.pdf |
Re: ini Dateien bearbeiten
dann geh mit einer schleife memo1.lines durch
|
Re: ini Dateien bearbeiten
So macht er es nicht.
Delphi-Quellcode:
if Memo1.Lines.Values['Datei'] = '' then
Ini := TIniFile.Create('c:\test\bauer.ini'); Ini.WriteString('Pfad', 'Datei', Memo1.Text); Ini.WriteString('Pfad', 'Datei', Memo1.Lines.Values['Datei']); Ini.Free; |
Re: ini Dateien bearbeiten
a) schreibst du immer in den gleichen eintrag
b) musst du eine for/while schleife nehmen c) muss ich jetzt off, aber wer anders hilft bestimmt |
Re: ini Dateien bearbeiten
a)ja immer an die gleiche Position
b) bei while u. for stürtz er ab c)Danke |
Re: ini Dateien bearbeiten
So macht er nur einen Eintrag.
Was muß man ändern um: [Pfad] Datei=test1 Datei=test2 Datei=test3 zu bekommen?
Delphi-Quellcode:
procedure TMainForm.Button3Click(Sender: TObject);
var ini : TIniFile; begin ini := TIniFile.Create(ChangeFileExt(paramstr(0),'.ini')); try if Memo1.Lines.Values['Datei'] = '' then Ini.WriteString('Pfad', 'Datei', Memo1.Text) else Ini.WriteString('Pfad', 'Datei', Memo1.Lines.Values['Datei']); finally ini.Free; end; end; |
Re: ini Dateien bearbeiten
Code:
du überschreibst doch damit jedesmal "Datei"
Datei=test1
Datei=test2 Datei=test3 In einer Inidatei ist es nicht möglich mehrere einträge mit dem selben Namen zu haben wenn sie auch zur gleichen Kategorie gehören.. Sollte wohl eher so aussehen
Delphi-Quellcode:
[Edit1]
[...]
for Count := 0 to Memo1.Lines.Count - 1 do begin Ini.WriteString('Pfad', 'Datei' + inttostr(Count+1), Memo1.Lines.Strings[Count]); end; [...] oder ist Memo1.lines.text eine gesammte datei? dann musst du die Zeilenumbrüsche mit einem zeichen ersetzen das nicht in dem Text vorkommt und beim aulesen ersetzt du dann wieder zurück
Delphi-Quellcode:
[/Edit1]
Ini.WriteString('Pfad', 'Datei', StringReplace(Memo1.Lines.Text, #13#10, 'µ', [rfreplaceall]);
[Edit2] Ich denke jedoch du solltest dir mal gedanken machen ob das konzept wirklich soo toll ist eine datei in eine inidatei zu schreiben. Beispielsweise werden führende Leerzeichen bei einem value entfernt. Gibt noch einige andere zeichen die nicht so recht in die ini-datei passen bzw falsch/nicht geschrieben oder gelesen werden. Vielleicht solltest du das ganze lieber in eine Zipdatei packen. Ich selbst verwende für sowas TFilepack (virtuelles Dateisystem in einer Datei) und kann dann darin dateien anlegen... [/Edit2] |
Re: ini Dateien bearbeiten
SirThornberry code ist das, was ich in worten sagte ;)
also entweder so machen, oder aber den inhaklt des memos mit savetofile / loadfromfile verarbeiten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz