Ich habe diesen Code, der den Speicherort der Objekte in einer Ini-Datei speichert, aber wenn ich versuche, eine bereits gespeicherte Datei zu überschreiben, löscht es nicht die Daten in der Datei.Wie überschreiben INI-Datei
Ich habe ein Popup, das den Benutzer fragt, ob sie überschreiben wollen, aber es löscht nicht die ganze Datei, wie kann ich es ändern, damit es tut?
procedure TForm1.SaveFile(Sender: TObject);
var
Dialog : TSaveDialog;
begin
Dialog := TSaveDialog.Create(self);
try
//dialog properties go here
Dialog.Filter := 'Title (*.ini)|*.ini';
Dialog.Options := Dialog.Options + [ofOverwritePrompt];
if Dialog.Execute then
begin
//any saving procedures go here if required
ShowMessage('File saved: ' + Dialog.FileName);
end
else
ShowMessage('Save file was cancelled');
finally
Dialog.Free;
end;
end;
Das folgende Verfahren speichert die Objekte in der Datei selbst:
procedure TForm1.Save(const FileName: string);
var
Ini: TMemIniFile;
I: Integer;
procedure WhatYouAreSaving(Object: TButton);
var
Section: string;
begin
Section := 'Object'
//Properties you want to save go here
end;
begin
Ini := TMemIniFile.Create(FileName);
////For reference, the answer provided would go here
try
WhatYouAreSaving(Object);
Ini.UpdateFile;
finally
Ini.Free;
end;
end;
Sie zeigen den relevanten Code nicht an. –
@FreeConsulting benötigen Sie das Saveseatingplan-Verfahren? –
@FreeConsulting Ich habe die saveseatingplan Prozedur hinzugefügt –