You've already forked lazarus-ccr
applications
bindings
components
Comba_Animation
aboutcomponent
acs
beepfp
callite
chelper
chemtext
cmdline
cmdlinecfg
colorpalette
cryptini
latest_stable
demo
cryptinitest.ico
cryptinitest.lpi
cryptinitest.lpr
cryptinitest.lps
cryptinitest.res
uinputsectionvaluesform.lfm
uinputsectionvaluesform.pas
ukeydialog.lfm
ukeydialog.pas
umainform.lfm
umainform.pas
umemoform.lfm
umemoform.pas
locale
updates
cryptini.lpk
cryptini.pas
latest_stable.json
latest_stable.zip
ucryptini.pas
readme.txt
csvdocument
epiktimer
everettrandom
examplecomponent
exctrls
extrasyn
fpexif
fpsound
fpspreadsheet
fractions
freetypepascal
geckoport
gradcontrols
grid_semaphor
industrialstuff
iosdesigner
iphonelazext
jujiboutils
jvcllaz
kcontrols
lazautoupdate
lazbarcodes
lazmapviewer
lclextensions
longtimer
manualdock
mbColorLib
mplayer
multithreadprocs
nvidia-widgets
onguard
orpheus
playsoundpackage
poweredby
powerpdf
rgbgraphics
richmemo
richview
rtfview
rx
scrolltext
smnetgradient
spktoolbar
splashabout
svn
systools
tdi
thtmlport
tparadoxdataset
tvplanit
xdev_toolkit
zlibar
zmsql
examples
image_sources
lclbindings
wst
95 lines
1.9 KiB
ObjectPascal
95 lines
1.9 KiB
ObjectPascal
![]() |
unit umemoform;
|
||
|
|
||
|
{$mode objfpc}{$H+}
|
||
|
|
||
|
interface
|
||
|
|
||
|
uses
|
||
|
Forms, StdCtrls, SysUtils,
|
||
|
Buttons, Classes, Dialogs,Controls;
|
||
|
|
||
|
type
|
||
|
|
||
|
{ TShowINIForm }
|
||
|
|
||
|
TShowINIForm = class(TForm)
|
||
|
cmd_Abort: TBitBtn;
|
||
|
cmd_saveChanges: TButton;
|
||
|
cmd_Close: TBitBtn;
|
||
|
Memo_INI: TMemo;
|
||
|
procedure cmd_CloseClick(Sender: TObject);
|
||
|
procedure cmd_saveChangesClick(Sender: TObject);
|
||
|
procedure FormCreate(Sender: TObject);
|
||
|
procedure FormShow(Sender: TObject);
|
||
|
procedure Memo_INIChange(Sender: TObject);
|
||
|
private
|
||
|
public
|
||
|
bDirty: boolean;
|
||
|
sINIFilePath: string;
|
||
|
// Help = MakeReadonly, OpenINI = MakeWriteable
|
||
|
procedure MakeReadOnly;
|
||
|
procedure MakeWriteable;
|
||
|
end;
|
||
|
|
||
|
var
|
||
|
ShowINIForm: TShowINIForm;
|
||
|
|
||
|
implementation
|
||
|
// Uses umainform;
|
||
|
{$R *.lfm}
|
||
|
|
||
|
{ TShowINIForm }
|
||
|
procedure TShowINIForm.MakeReadOnly;
|
||
|
begin
|
||
|
Memo_INI.Readonly:=TRUE;
|
||
|
end;
|
||
|
|
||
|
procedure TShowINIForm.MakeWriteable;
|
||
|
begin
|
||
|
Memo_INI.Readonly:=FALSE;
|
||
|
end;
|
||
|
|
||
|
procedure TShowINIForm.cmd_saveChangesClick(Sender: TObject);
|
||
|
begin
|
||
|
if bDirty then
|
||
|
try
|
||
|
{$I+}
|
||
|
Memo_INI.Lines.SaveToFile(sINIFilePath);
|
||
|
ShowMessage('Changes saved OK.');
|
||
|
Close;
|
||
|
except
|
||
|
On E: Exception do
|
||
|
ShowMessageFmt('Oops! Error: %s', [E.Message]);
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
procedure TShowINIForm.cmd_CloseClick(Sender: TObject);
|
||
|
begin
|
||
|
if bDirty then
|
||
|
If MessageDlg('Discard changes?',mtConfirmation,[MBYES,MBNO],0,MBNO) = mrNo then
|
||
|
Begin
|
||
|
cmd_saveChanges.Click;
|
||
|
Exit;
|
||
|
end;
|
||
|
Close;
|
||
|
end;
|
||
|
|
||
|
procedure TShowINIForm.FormCreate(Sender: TObject);
|
||
|
begin
|
||
|
Icon := Application.Icon;
|
||
|
end;
|
||
|
|
||
|
procedure TShowINIForm.FormShow(Sender: TObject);
|
||
|
begin
|
||
|
bDirty := False;
|
||
|
cmd_saveChanges.Enabled := False;
|
||
|
end;
|
||
|
|
||
|
procedure TShowINIForm.Memo_INIChange(Sender: TObject);
|
||
|
begin
|
||
|
bDirty := True;
|
||
|
cmd_saveChanges.Enabled := True;
|
||
|
end;
|
||
|
|
||
|
end.
|