W-Stefan
Mitglied
Hi leute, hätte gerne folgendes gewusst:
Ich habe einen kleinen Editor geschrieben (Ja ich weiss, so einen alten blödsinn) und nun möchte ich vor dem Beenden eine Abfrage machen, ob man den Text speichern will oder nicht. Die abfrage soll aber nur kommen, wenn man den Text geändert hat.
Ich habe selbst schon probiert, funktioniert auch, aber es ist eben ewig lang. da müsste es doch einen kürzeren weg geben.
Ich habe einen kleinen Editor geschrieben (Ja ich weiss, so einen alten blödsinn) und nun möchte ich vor dem Beenden eine Abfrage machen, ob man den Text speichern will oder nicht. Die abfrage soll aber nur kommen, wenn man den Text geändert hat.
Ich habe selbst schon probiert, funktioniert auch, aber es ist eben ewig lang. da müsste es doch einen kürzeren weg geben.
Code:
// Editor beenden
procedure TEditor.FormClose(Sender: TObject; var Action: TCloseAction);
var button: Integer;
begin
button := 0;
if Editor.Caption = 'Unbenannt - Editor' then
begin
if mem_texteingabe.Text = '' then
begin
end else
begin
button := Application.MessageBox(PChar('Der Text in der Datei Unbenannt wurde verändert.' + #13 + #13 + 'Aktuelle Änderungen speichern?'), 'Editor', 51);
if button = 6 then
begin
if SaveDialog.Execute then
begin
mem_texteingabe.Lines.SaveToFile(SaveDialog.FileName);
end;
end;
if button = 2 then
begin
Action := caNone;
end;
end;
end else
begin
if mem_texteingabe.Text = memotext then
begin
end else
button := Application.MessageBox(PChar('Der Text in der Datei ' + filename + ' wurde verändert.' + #13 + #13 + 'Aktuelle Änderungen speichern?'), 'Editor', 51);
if button = 6 then
begin
mem_texteingabe.Lines.SaveToFile(filename);
end;
if button = 2 then
begin
Action := caNone;
end;
end;
end;