home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2002 September
/
Chip_2002-09_cd1.bin
/
zkuste
/
delphi
/
experti
/
d456
/
BROMBSCT.ZIP
/
uLoadTemplate.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
2002-06-28
|
3KB
|
141 lines
unit uLoadTemplate;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;
type
TfmLoadTemplate = class(TForm)
PageControl1: TPageControl;
tsTemplate: TTabSheet;
lbTemplates: TListBox;
tsParams: TTabSheet;
ListView: TListView;
procedure lbTemplatesKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure ListViewKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
ed: boolean;
sec: string;
L: TstringList;
LVal: TstringList;
function ReadLines: string;
function ReadCode: string;
public
{ Public declarations }
Code: TStringList;
end;
var
fmLoadTemplate: TfmLoadTemplate;
implementation
uses
BigIni, uGlobCT;
{$R *.DFM}
procedure TfmLoadTemplate.lbTemplatesKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key = vk_return then
begin
Key := 0;
sec := lbTemplates.Items[lbTemplates.Itemindex];
L.Text := ReadLines;
ParseParams(L, LVal, ListView);
PageControl1.ActivePage := tsParams;
ListView.SetFocus;
end;
if key = vk_escape then
begin
ModalResult := mrCancel;
key := 0;
end;
end;
procedure TfmLoadTemplate.FormCreate(Sender: TObject);
begin
with TBiggerIniFile.Create(ReadExpertPath + '\templates.ct') do
begin
ReadSections(lbTemplates.Items);
Free;
end;
L := TStringList.Create;
LVal := TStringList.Create;
Code := TStringList.Create;
ed := False;
PageControl1.ActivePage := tsTemplate;
end;
function TfmLoadTemplate.ReadLines: string;
var
L: TStringList;
begin
L := TStringList.Create;
Result := '';
with TBiggerIniFile.Create(ReadExpertPath + '\templates.ct') do
begin
ReadNumberedList(sec, L, '', 'Code');
ReadNumberedList(sec, LVal, '', 'Value');
Free;
end;
Result := L.Text;
L.Free;
end;
procedure TfmLoadTemplate.ListViewKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_F2 then
begin
ListView.Selected.EditCaption;
key := 0;
end;
if key = vk_return then
begin
if ed then
begin
ListView.Selected.Update;
ed := False;
end
else
begin
Code.Text := ReadCode;
ModalResult := mrOK;
end;
key := 0;
end;
if key = vk_escape then
begin
if ed then
begin
ListView.Selected.CancelEdit;
ed := False;
end
else
ModalResult := mrCancel;
key := 0;
end;
end;
function TfmLoadTemplate.ReadCode: string;
var
i: integer;
begin
LVal.Clear;
with ListView do
begin
for i := 0 to Items.Count - 1 do
LVal.Values[Items[i].Subitems[0]] := Items[i].Caption;
end;
Result := ReplaceCode(L, LVal);
end;
end.