Gem ved exit

Tags:    delphi

Jeg ville bare lige gerne vide hvordan jeg får lavet funtionen at den skal spørge om jeg vil gemme når jeg lukker mit program.
Der er tale om et textprogram ala notepad.

1. Jeg vil gerne have kode (bare tilpasset richedit el. lign.).

2. Og så vil jeg gerne lige have at vide hvad funktion det er.. selv gætter jeg på min form's OnClose event.

På forhånd tak :)



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Hvis du vil kunne blive i programmet hvis brugeren trykker Cancel skal du skrive koden i OnCloseQuery således (Dette virker som Notepad)
<pre>
Case MessageBox(Handle, 'Ønsker De at gemme ?', 'Gem?', MB_ICONQUESTION+MB_YESNOCANCEL) of
IDYES: If SaveDialog1.Execute Then
RichEdit1.Lines.SaveToFile(SaveDialog1.Filename)
Else
CanClose := False;
IDCancel: CanClose := False; //luk ikke
End;
</pre>
så lukker formen ikke hvis du trykker Cancel. Den lukker heller ikke hvis du sagde Yes, men alligevel ikke gemte.


Mvh,

Thomas Nielsen



Jeg ville bare lige gerne vide hvordan jeg får lavet funtionen at den skal spørge om jeg vil gemme når jeg lukker mit program.
Der er tale om et textprogram ala notepad.

1. Jeg vil gerne have kode (bare tilpasset richedit el. lign.).

2. Og så vil jeg gerne lige have at vide hvad funktion det er.. selv gætter jeg på min form's OnClose event.

På forhånd tak :)


Du skal først lave en SaveDialog.

Det er rigtigt at det er under onClose. Der skal du skrive:
<pre>case MessageBox(Handle, 'Vil du gemme dit dokument gemmes inden du lukker?',
'Title', MB_YESNOCANCEL);
of
idyes: if SaveDialog1.Execute then RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);
idNo: {intet};
idCancel: Exit; //Luk ikke
end;</pre>
Emil Melgaard
emil.melgaard@private.dk



t