ich hab vor nicht all zu langer Zeit mit Delphi angefangen. Genauer gesagt mit den schönen Lazarus, weil ich hauptsächlich unter Linux arbeite.
Nun hab ich folgendes problem:
ich wollte erstmal nen klienen Editor schreiben. Bei diesen wollte ich es schaffen, dass, wenn man eine offene datei ändert, man beim schließen oder den öffnen einer neuen Date darauf aufmerksam gemacht wird, das die Änderungen noch nicht gespeichert wurden. Ich habe dazu 2 synEdit verwendet. Die eine ist sichtbar und in ihr arbeitet man, die andere ist unsichtbar und enthält den ungeänderten Inhalt der ersten.
Um das zu realisieren hab ich schon was geschrieben:
Code: Alles auswählen
procedure TForm1.AenderungenSpeichern(Sender: TObject);
var i, Zeilenanzahl, Nachfrage: Integer;
Speichernnotwendig: boolean;
begin
if SynEdit1.Lines.Count < SynEdit2.Lines.Count then
begin
Zeilenanzahl := SynEdit2.Lines.Count - 1;
end
else
Zeilenanzahl := SynEdit1.Lines.Count - 1;
//Vergleichen der Textfelder
for i := 0 to Zeilenanzahl do
begin
if SynEdit2.Lines[i] <> SynEdit1.Lines[i] then
begin
Speichernnotwendig := true;
break;
end;
end;
//Falls Notwendig Speichern
if Speichernnotwendig = true then
begin
Nachfrage := Application.MessageBox('Wollen Sie die Änderungen speichern?', 'Ungespeicherte Änderungen!', MB_ICONINFORMATION+MB_YESNO);
if Nachfrage = IDYES then
begin
//Ist die Datei schonmal gespeichert?
if OffeneDatei <> '' then {ja}
begin
SpeichernItemClick(Sender);
end
else {nein}
begin
SpeichernUnterItemClick(Sender);
end;
end;
end;
end;
Wo liegt mein Fehler???
Bin dankbar für jede antwort.
MfG Marcus