jeg ved hvordan du voldboller koden, men jeg kan godt få den til at virke;
Gem funktion
procedure TForm1.Gem1Click(Sender: TObject);
begin
if filnavn = '' then
begin
savedialog1.execute;
filnavn := savedialog1.filename;
end;
if filnavn = '' then else Memo1.Lines.Savetofile(filnavn)
end;
Gemsom funktion
procedure TForm1.Gemsom1Click(Sender: TObject);
begin
SaveDialog1.Execute;
if savedialog1.FileName = '' then else
begin
filnavn := Savedialog1.FileName;
Memo1.Lines.SaveToFile(filnavn);
end;
end;
og tilslut en lille ændring i din åbne funktion;
procedure TForm1.bn1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Memo1.Clear;
Memo1.Lines.LoadFromFile(Opendialog1.FileName);
filnavn := opendialog1.FileName;
end;
end;
eventuelt kan der også laves en ændring i åbne funktionen der chekker om dokumentet er blevet gemt men den skulle du næsten selv have og lege med.
det kan f.eks gøres sådan;
//under var
var
tmp : tstrings;
//åbn proceduren
tmp := tstringlist.create;
tmp.loadfrofile(filnavn);
if tmp = memo1.lines then
begin
// åbn bare et nyt dokument, de seneste ændringer er gemt
end
else
begin
//spørg bruger om han/hun vil gemme dokumentet
//gem eller lad vær
//åbne nyt dok
end;
det er bare skelet du fylder hullerne ud
nu burde du kunne få det til at virke
det kan jeg i hvertfald
Mvh
Troels
[Redigeret d. 26/06-03 08:14:15 af Troels]