?? bumen.pas
字號:
unit BuMen;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, ExtCtrls, ComCtrls, ToolWin, DB, DBTables,
ImgList, StdCtrls, DBCtrls, Mask, Buttons;
type
TFormBuMen = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
TreeView1: TTreeView;
Splitter1: TSplitter;
ImageList1: TImageList;
DataSource1: TDataSource;
Table1: TTable;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
DBGridEh1: TDBGridEh;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBMemo1: TDBMemo;
ToolButton5: TToolButton;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure ToolButton3Click(Sender: TObject);
procedure Table1AfterPost(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormBuMen: TFormBuMen;
implementation
{$R *.dfm}
procedure TFormBuMen.FormCreate(Sender: TObject);
var
root,n1,n2:Ttreenode;
s,t:string;
begin
treeview1.Items.BeginUpdate;
treeview1.Items.Clear;
root:=treeview1.Items.Add(nil,'集團公司');
n1:=nil;
n2:=nil;
with Table1 do
begin
if not active then open;
First;
while not eof do
begin
s := trim(FieldByName('BuMenID').AsString);
t := FieldByName('BuMenMC').AsString;
case length(s) of
2:n1:=treeview1.Items.AddChild(root,'['+s+']'+t);
4:n2:=treeview1.Items.AddChild(n1,'['+s+']'+t);
6:treeview1.Items.AddChild(N2,'['+s+']'+t);
end;
Next;
end;
end;
treeview1.Items.EndUpdate;
treeview1.Selected:=treeview1.Items[0];
treeview1.Selected.Expand(true);
DBEdit1.Clear;
DBEdit2.Clear;
DBMemo1.Clear;
end;
procedure TFormBuMen.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Table1.Active:=False;
end;
procedure TFormBuMen.ToolButton5Click(Sender: TObject);
begin
self.Close;
end;
procedure TFormBuMen.ToolButton1Click(Sender: TObject);
begin
DBGridEh1.ReadOnly := False;
Table1.Append;
BitBtn1.Enabled := true;
BitBtn2.Enabled := true;
DBEdit1.Enabled := True;
DBEdit2.Enabled := True;
DBMemo1.Enabled := True;
DBEdit1.SetFocus;
end;
procedure TFormBuMen.BitBtn1Click(Sender: TObject);
var
root,n1,n2:Ttreenode;
s,t:string;
begin
Table1.Post;
Table1.Refresh;
TreeView1.Items.Clear;
treeview1.Items.BeginUpdate;
treeview1.Items.Clear;
root:=treeview1.Items.Add(nil,'集團公司');
n1:=nil;
n2:=nil;
with Table1 do
begin
if not active then open;
First;
while not eof do
begin
s := trim(FieldByName('BuMenID').AsString);
t := FieldByName('BuMenMC').AsString;
case length(s) of
2:n1:=treeview1.Items.AddChild(root,'['+s+']'+t);
4:n2:=treeview1.Items.AddChild(n1,'['+s+']'+t);
6:treeview1.Items.AddChild(N2,'['+s+']'+t);
end;
Next;
end;
end;
treeview1.Items.EndUpdate;
treeview1.Selected:=treeview1.Items[0];
treeview1.Selected.Expand(true);
BitBtn1.Enabled := False;
BitBtn2.Enabled := False;
DBEdit1.Enabled := False;
DBEdit2.Enabled := False;
DBMemo1.Enabled := False;
DBEdit1.Clear;
DBEdit2.Clear;
DBMemo1.Clear;
DBGridEh1.ReadOnly := True;
end;
procedure TFormBuMen.BitBtn2Click(Sender: TObject);
begin
Table1.Cancel;
BitBtn1.Enabled := False;
BitBtn2.Enabled := False;
DBEdit1.Enabled := False;
DBEdit2.Enabled := False;
DBMemo1.Enabled := False;
DBEdit1.Clear;
DBEdit2.Clear;
DBMemo1.Clear;
DBGridEh1.ReadOnly := True;
end;
procedure TFormBuMen.ToolButton2Click(Sender: TObject);
begin
if Table1.RecordCount>0 then
try
if application.MessageBox('真的要刪除嗎?','警告',MB_OKCANCEL +MB_ICONQUESTION)=idok then
Table1.Delete;
except
Table1.Cancel;
end
end;
procedure TFormBuMen.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
//Datasource1.Enabled := node.Data <> nil;
//if DataSource1.Enabled Then Table1.gotobookmark(node.data);
end;
procedure TFormBuMen.ToolButton3Click(Sender: TObject);
Var
FindBuMen: string;
begin
FindBuMen := InPutBox('部門查詢','請輸入部門名稱:','');
if not Table1.Locate('BuMenMC',FindBuMen,[]) Then
Application.MessageBox('沒有相對應的記錄','警告',idok);
end;
procedure TFormBuMen.Table1AfterPost(DataSet: TDataSet);
begin
//Table1.Refresh;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -