procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
CloseAction:= caFree;
(* // alternately for mechanical choice...
if MessageDlg('Close application?', mtConfirmation, [mbYes, mbNo], 0) = mrYes
then CloseAction:= caFree
else CloseAction:= caMinimize;
*)
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: boolean);
var CfgFile: TextFile;
DatStr: string;
OK: boolean; // DatOK: boolean;
IOval: integer; // longint;
begin
AssignFile(CfgFile, PrgmFolder+'CmdRPN.cfg');
{$I-} Rewrite(CfgFile) {$I+};
IOval:=IOresult; OK:=(IOval=0);
if OK then // was DatOK
begin try
Str(Reg0,DatStr); Writeln(CfgFile,DatStr); // register display
Str(Reg1,DatStr); Writeln(CfgFile,DatStr);
Str(Reg2,DatStr); Writeln(CfgFile,DatStr);
Str(Reg3,DatStr); Writeln(CfgFile,DatStr);
Str(Reg4,DatStr); Writeln(CfgFile,DatStr);
Str(Mem1,DatStr); Writeln(CfgFile,DatStr); // storage memory
Str(Mem2,DatStr); Writeln(CfgFile,DatStr);
Str(Mem3,DatStr); Writeln(CfgFile,DatStr);
Str(Mem4,DatStr); Writeln(CfgFile,DatStr);
Str(Mem5,DatStr); Writeln(CfgFile,DatStr);
Str(Mem6,DatStr); Writeln(CfgFile,DatStr);
Str(Mem7,DatStr); Writeln(CfgFile,DatStr);
Str(Mem8,DatStr); Writeln(CfgFile,DatStr);
Str(Mem9,DatStr); Writeln(CfgFile,DatStr);
Str(Dsp,DatStr); Writeln(CfgFile,DatStr); // decimal display
if HrsMode=true then DatStr:='1' // HmsMode ...Dms
else DatStr:='0'; // HrsMode ...Dec
Writeln(CfgFile,DatStr); // angle mode
finally
Flush(CfgFile);
CloseFile(CfgFile);
CanClose:= true;
end; // end try
end
else begin
CloseFile(CfgFile);
CanClose:= false;
end;
end;