Autor Beitrag
jsbach
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 53

Win XP
D5 Ent
BeitragVerfasst: Do 10.03.05 13:22 
Hallo, ich möchte mittels SaveDialog eine INI-Datei speichern.
Normalerweise wird eine INI-Datei erst erstellt und initialisiert mit:

ausblenden Delphi-Quelltext
1:
ini := TIniFile.Create('c:\MeineIni.ini');					



Nun möchte ich mit SaveDialog den Dateinamen- und Ort selbst festlegen, doch wie kombiniere ich die zwei jetzt in der Execute-Zeile? Ich brauche ja erst den Dateinamen für die Initialisierung der INI-Datei.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
with savedialog1 do
  begin
    savedialog1.Title:='Datei speichern unter';
    Filter:='Textdatei (*.ini)';
    DefaultExt:='ini';
    if Execute then ... ??? .savetofile(savedialog1.FileName); ???
  end;


Gruß, jsbach

_________________
Was du für den Gipfel hälst, ist nur eine Stufe. (Seneca)
r4id3n
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 115

Win XP Home, Win XP Pro
D6 Prof, D7 Ent, K3 Ent
BeitragVerfasst: Do 10.03.05 13:27 
Wie wäre es mit:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure SaveWasAuchImmer;
var    Ini:TIniFile;
begin

    savedialog1.Title:='Datei speichern unter';
    savedialog1.Filter:='Textdatei (*.ini)';
    savedialog1.DefaultExt:='ini';
    if savedialog1.Execute then
    begin
        Ini:=TIniFile.create(savedialog1.filename);
        Ini.WriteWasAuchImmer;
        Ini.free;
   end;
end;


??
opfer.der.genauigkeit
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 754
Erhaltene Danke: 1



BeitragVerfasst: Do 10.03.05 13:28 
Schau mal in der Online Hilfe von Delphi und such dort nach TIniFile

z.B. gibt es da dieses Beispiel
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:
In diesem Beispiel wird der Abschnitt Transfer der Datei myapp.ini in ein Memofeld eingelesen. Wenn der Benutzer auf Button1 klickt, wird einer der Strings in der INI-Datei geändert.
Bevor Sie dieses Beispiel ausführen können, müssen Sie die Unit IniFiles in die uses-Klausel aufnehmen.
Achtung:  Klicken Sie immer erst auf Button1, dann auf Button 2!

procedure TForm1.Button1Click(Sender: TObject);

var
  MyIniFile: TIniFile;
  begin
  MyIniFile := TIniFile.Create('myapp.ini');
  Memo1.Clear;
  MyIniFile.ReadSectionValues('Transfer', Memo1.Lines);
  if Memo1.Lines.Values['Title1'] <> 'Picture Painter' then
    MyIniFile.WriteString('Transfer''Title1''Picture Painter');
  MyIniFile.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);

var
  MyIniFile: TIniFile;
  begin

  MyIniFile := TIniFile.Create('myapp.ini');

  { wenn der Eintrag vorher nicht da war, wird er jetzt gelöscht }
  if Memo1.Lines.Values['Title1'] = '' then
    MyIniFile.DeleteKey('Transfer''Title1')
  { andernfalls alten Wert wiederherstellen }
  else
    MyIniFile.WriteString('Transfer''Title1', Memo1.Lines.Values['Title1']);
  MyIniFile.Free;
end;

_________________
Stellen Sie sich bitte Zirkusmusik vor.