TForm1 = class(TForm)
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure LoadParams;
procedure SaveParams;
public
{ Public declarations }
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
LoadParams;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveParams;
end;
procedure TForm1.LoadParams;
Var
FileName:String;
IniFile:TIniFile;
i,N:integer;
begin
FileName:=ChangeFileExt(Application.ExeName,'.INI');
IniFile:=TIniFile.Create(FileName);
N:=IniFile.ReadInteger('DLL_LIST','COUNT',0);
ListBox1.Items.Clear;
for i:=1 to N do
begin
FileName:=IniFile.ReadString ('DLL_LIST',IntToStr(i),'');
if FileExists(FileName) Then ListBox1.Items.Add(FileName);
end;
IniFile.Free;
end;
procedure TForm1.SaveParams;
Var
FileName:String;
IniFile:TIniFile;
i,N:integer;
begin
FileName:=ChangeFileExt(Application.ExeName,'.INI');
IniFile:=TIniFile.Create(FileName);
IniFile.WriteInteger('DLL_LIST','COUNT',ListBox1.Items.Count);
for i:=0 to ListBox1.Items.Count-1 do
begin
IniFile.WriteString ('DLL_LIST',IntToStr(i+1),ListBox1.Items[i]);
end;
IniFile.Free;
end;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
DllListBox: TListBox;
DllOpenDialog: TOpenDialog;
btnRemove: TButton;
btnSave: TButton;
btnAdd: TButton;
btnClose: TButton;
procedure btnAddClick(Sender: TObject);
procedure btnRemoveClick(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
_DllList:TStringList;
procedure LoadParams;
procedure SaveParams;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure FormCreate(Sender: TObject);
begin
_DllList:=TStringList.Create;
LoadParams;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveParams;
end;
procedure FormDestroy(Sender: TObject);
begin
_DllList.Free;
end;
procedure TForm1.DllListAdd(FileName:String);
begin
_DllList.Add(FileName);
DllListBox.Items.Add(ExtractFileName(FileName));
end;
procedure TForm1.DllListDelete(i:Integer);
begin
if (i>=0) And (i<_DllList.Count) Then
begin
_DllList.Delete(i);
DllListBox.Items.Add(ExtractFileName(FileName));
end;
end;
procedure TForm1.btnAddClick(Sender: TObject);
begin
If DllOpenDialog.Execute Then DllListAdd(DllOpenDialog.Filename);
end;
procedure TForm1.btnRemoveClick(Sender: TObject);
begin
DllListDelete(DllListBox.ItemIndex);
end;
procedure TForm1.btnCloseClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.btnSaveClick(Sender: TObject);
begin
SaveParams;
end;
procedure TForm1.LoadParams;
Var
FileName:String;
IniFile:TIniFile;
i,N:integer;
begin
FileName:=ChangeFileExt(Application.ExeName,'.INI');
IniFile:=TIniFile.Create(FileName);
N:=IniFile.ReadInteger('DLL_LIST','COUNT',0);
ListBox1.Items.Clear;
for i:=1 to N do
begin
FileName:=IniFile.ReadString ('DLL_LIST',IntToStr(i),'');
if FileExists(FileName) Then DllListAdd(FileName);
end;
IniFile.Free;
end;
procedure TForm1.SaveParams;
Var
FileName:String;
IniFile:TIniFile;
i,N:integer;
begin
FileName:=ChangeFileExt(Application.ExeName,'.INI');
IniFile:=TIniFile.Create(FileName);
IniFile.WriteInteger('DLL_LIST','COUNT',DllListBox.Items.Count);
for i:=0 to ListBox1.Items.Count-1 do
begin
IniFile.WriteString ('DLL_LIST',IntToStr(i+1),DllListBox.Items[i]);
end;
IniFile.Free;
end;
end.
procedure TForm1.FormCreate(Sender: TObject);
begin
_DllList:=TStringList.Create;
LoadParams;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveParams;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
_DllList.Free;
end;
procedure TForm1.LoadParams;
Var
FileName:String;
IniFile:TIniFile;
i,N:integer;
begin
FileName:=ChangeFileExt(Application.ExeName,'.INI');
IniFile:=TIniFile.Create(FileName);
N:=IniFile.ReadInteger('DLL_LIST','COUNT',0);
DllListBox.Items.Clear;
_DllList.Clear;
for i:=1 to N do
begin
FileName:=IniFile.ReadString ('DLL_LIST',IntToStr(i),'');
if FileExists(FileName) Then DllListAdd(FileName);
end;
IniFile.Free;
end;
procedure TForm1.SaveParams;
Var
FileName:String;
IniFile:TIniFile;
i,N:integer;
begin
FileName:=ChangeFileExt(Application.ExeName,'.INI');
IniFile:=TIniFile.Create(FileName);
IniFile.WriteInteger('DLL_LIST','COUNT',DllListBox.Items.Count);
for i:=0 to DllListBox.Items.Count-1 do
begin
IniFile.WriteString ('DLL_LIST',IntToStr(i+1),DllListBox.Items[i]);
end;
IniFile.Free;
end;
Place 4 TButtons, 1 TListBox, 1 TOpenDialog and 1 TSaveDialog on a form
Example code attached. Hope it helps. Sam.
Open in new window