home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2002 September
/
Chip_2002-09_cd1.bin
/
zkuste
/
delphi
/
experti
/
d456
/
BROMBSCT.ZIP
/
uMain.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
2002-07-03
|
5KB
|
207 lines
unit uMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ComCtrls, Menus, ExtCtrls, BigIni, ShellApi;
type
TfmMain = class(TForm)
Memo: TMemo;
ListView: TListView;
MainMenu: TMainMenu;
itmTemplate: TMenuItem;
itmNew: TMenuItem;
itmDelete: TMenuItem;
N1: TMenuItem;
itmClose: TMenuItem;
Panel1: TPanel;
cbNames: TComboBox;
itmSave: TMenuItem;
StatusBar1: TStatusBar;
btnNew: TSpeedButton;
btnsave: TSpeedButton;
btnDel: TSpeedButton;
itmHelp: TMenuItem;
itmContents: TMenuItem;
N2: TMenuItem;
itmAbout: TMenuItem;
btnClose: TSpeedButton;
procedure ListViewKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure MemoChange(Sender: TObject);
procedure ListViewEdited(Sender: TObject; Item: TListItem;
var S: string);
procedure itmNewClick(Sender: TObject);
procedure itmSaveClick(Sender: TObject);
procedure cbNamesChange(Sender: TObject);
procedure itmDeleteClick(Sender: TObject);
procedure itmCloseClick(Sender: TObject);
procedure itmAboutClick(Sender: TObject);
private
{ Private declarations }
path: string;
listVal: TstringList;
listTemp: TStringList;
// procedure ParseParams;
procedure ReadTemplates;
procedure NewTemplate;
procedure SaveTemplate;
procedure ReadTemplate;
procedure DeleteTemplate;
public
{ Public declarations }
end;
var
fmMain: TfmMain;
implementation
uses
uGlobCT, StrUtils, ULoadTemplate;
{$R *.DFM}
procedure TfmMain.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
ListView.Selected.Update;
key := 0;
end;
if key = vk_escape then
begin
ListView.Selected.CancelEdit;
key := 0;
end;
end;
procedure TfmMain.FormCreate(Sender: TObject);
begin
ListVal := TStringlist.Create;
ListTemp := TStringlist.Create;
ReadTemplates;
end;
procedure TfmMain.MemoChange(Sender: TObject);
begin
listTemp.Text := Memo.Lines.Text;
ParseParams(listTemp, listVal, ListView);
end;
procedure TfmMain.ListViewEdited(Sender: TObject; Item: TListItem;
var S: string);
begin
ListVal.Values[Item.Subitems[0]] := S;
end;
procedure TfmMain.ReadTemplates;
begin
with TBiggerIniFile.Create(ReadExpertPath + '\templates.ct') do
begin
ReadSections(cbNames.Items);
Free;
end;
end;
procedure TfmMain.NewTemplate;
begin
cbNames.Style := csSimple;
cbNames.Text := '';
Memo.Lines.Clear;
ListView.Items.Clear;
cbNames.SetFocus;
end;
procedure TfmMain.itmNewClick(Sender: TObject);
begin
NewTemplate;
end;
procedure TfmMain.SaveTemplate;
var
s: string;
begin
with TBiggerIniFile.Create(ReadExpertPath + '\templates.ct') do
begin
s := cbNames.Text;
WriteNumberedList(cbNames.Text, Memo.Lines, 'Code');
WriteNumberedList(cbNames.Text, ListVal, 'Value');
Free;
end;
ReadTemplates;
cbNames.Style := csDropDownList;
cbNames.ItemIndex := cbNames.Items.Indexof(s);
cbNamesChange(cbNames);
end;
procedure TfmMain.itmSaveClick(Sender: TObject);
begin
SaveTemplate;
end;
procedure TfmMain.ReadTemplate;
begin
if cbNames.Style = csSimple then exit;
with TBiggerIniFile.Create(ReadExpertPath + '\templates.ct') do
begin
Memo.Lines.Clear;
ReadNumberedList(cbNames.Text, ListVal, '', 'Value');
ReadNumberedList(cbNames.Text, Memo.Lines, '', 'Code');
Free;
end;
end;
procedure TfmMain.cbNamesChange(Sender: TObject);
begin
ReadTemplate;
end;
procedure TfmMain.DeleteTemplate;
var
i: integer;
begin
i := cbNames.ItemIndex;
with TBiggerIniFile.Create(ReadExpertPath + '\templates.ct') do
begin
EraseSection(cbNames.Text);
Free;
end;
ReadTemplates;
cbNames.Style := csDropDownList;
dec(i);
if i > -1 then cbNames.ItemIndex := i;
cbNamesChange(cbNames);
end;
procedure TfmMain.itmDeleteClick(Sender: TObject);
begin
DeleteTemplate;
end;
procedure TfmMain.itmCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfmMain.itmAboutClick(Sender: TObject);
var
s: string;
begin
s := 'Autor: brombs'#13#10 +
'Email: brombs@wp.pl';
// Application.MessageBox(Pchar(s), 'About', mb_ok + mb_iconinformation);
ShellAbout(Application.Handle, 'Code Template ver. 1.0', pchar(s), Icon.Handle);
end;
end.