Einzelnen Beitrag anzeigen

Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: In Ini schreiben funktioniert nicht

  Alt 23. Jul 2005, 14:11
schau mal in dein C:\Windows verzeichniss da ist die ini bestimmt verändert^^

So weit wie ich mich erinnere wird die ini Datei wenn du Briefe := TInifile.Create('Letter.ini'); ausführst ohne einen speziellen ordner anzugeben in %systemroot% gemacht!!

Also mach sowas wie:

Code:



procedure TForm1.Button4Click(Sender: TObject);
var Briefe : TIniFile;
    Brief : TBrief;
begin
  IDFTP1.Get('Briefe/Briefe.ini','Letter.ini'); // Ini wird vom Server geladen
  Briefe := TInifile.Create(ExtractFilePath(ParamStr(0))+'Letter.ini'); // Wird geladen
  Brief:= TBrief.Create;
  Brief.An := TransEdit1.Text;
  Brief.Betreff := Transedit2.Text;
  Brief.Text := TStringlist.Create;
  Brief.Text.Text := Transmemo1.Text;
  Brief.Nr := Briefe.ReadInteger('BRIEFE','Anzahl',1));
  Briefe.WriteInteger('BRIEFE','Anzahl',Brief.Nr+1); // Wert wird überschrieben
  Briefe.WriteString('Brief' + IntToStr(Brief.Nr+1),'Von',User); // Neue Section + Wert anlegen
  Briefe.WriteString('Brief' + IntToStr(Brief.Nr+1),'Betreff',Brief.Betreff); // Neue Section + Wert anlegen
  Briefe.Free;
  IDFTP1.Put(Stream,'Briefe/Brief' + IntToStr(Brief.Nr+1) + '.txt');
  IDFTP1.Delete('Briefe/Briefe.ini'); //ini auf dem Server löschen
  IDFTP1.Put('Letter.ini','Briefe/Briefe.ini'); //und locale hochladen
end;
Die Indy Komponente scheint die Datei ja automatisch in das Verzeichniss der Exe Datei zu packen, nur bei ini files musst du es speziell angeben!!


Mir ist nur nicht so ganz klar warum du das Zeug erst alles in ein record names TBrief reinschreibst und von dem aus dann erst in die INI, mach es doch direkt, da ersparst du dir doch einiges!
Jan
  Mit Zitat antworten Zitat