Einzelnen Beitrag anzeigen

Codix32

Registriert seit: 23. Apr 2009
137 Beiträge
 
Delphi 2005 Personal
 
#19

AW: Ini Datei wird nicht erstellt...

  Alt 20. Feb 2014, 18:18
Warum wird die INI nicht im richtigen Pfad angelegt?
In dem auch schreib und generelle Zugriffsrechte vorhanden sind?

Das ist sicherlich nicht Paramstr(0).
Siehe CSIDL_APPDATA

Zitat:
P.S.
Du mußt nicht so laut um Hilfe rufen.
Ah jo wäre bei Laut eher HILFE anstelle von Hiiilfe.

gruss
Hm, also der Schreibzugriff hat ja funktioniert, aber das Auslesen geht nicht

Das hier geht:
Delphi-Quellcode:
procedure TForm1.erzeugeIni(IniName:string);
var
  ini:TIniFile;
begin
ini := TIniFile.Create(extractfilepath(paramstr(0))+IniName + '.ini');
// INI-Datei erstellen (falls nicht vorhanden) und initialisieren
 try
  ini.WriteString('Sektion1', 'Name', form2.Edit1.text);
  // String in Sektion1 unter Eigenschaft1 abspeichern
  ini.WriteString('Sektion2', 'Gesamtkreditsumme', Gesamtkreditsum);
  ini.WriteString('Sektion2', 'Ratenhoehe', Ratenhöhe);
  ini.WriteString('Sektion2', 'Ratenanzahl', Ratenanzhl);
  ini.WriteString('Sektion3', 'Restsumme', Restsum);
  ini.WriteString('Sektion3', 'Sonderrate', Sonderrat);
 finally
ini.Free;
// Variable ini wieder freigeben
end;
end;
Die Ini Datei wird angelegt, mit den Werten, aber das Auslesen geht nicht:
Delphi-Quellcode:
procedure TForm1.leseIni(IniName:string);
var
  ini:TIniFile;
  filename: String;

begin
filename := extractfilepath(paramstr(0))+IniName + '.ini';
Label5.Caption:=filename;
ini := TIniFile.Create(filename);
// INI-Datei erstellen (falls nicht vorhanden) und initialisieren
 try
  Form1.Caption:=ini.ReadString('Sektion1', 'Name','');
  Gesamtkreditsum:=ini.ReadString('Sektion2', 'Gesamtkreditsumme','');
  Ratenhöhe:=ini.ReadString('Sektion2', 'Ratenhoehe', '');
  Ratenanzhl:=ini.ReadString('Sektion2', 'Ratenanzahl', '');
  Restsum:=ini.ReadString('Sektion3', 'Restsumme', '');
  Sonderrat:=ini.ReadString('Sektion3', 'Sonderrate','');
  //
 finally
  ini.Free;
// Variable ini wieder freigeben
end;
end;
und was nun bedeutet 'CSIDL_APPDATA'
  Mit Zitat antworten Zitat