📄 unitmain.pas
字号:
unit UnitMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ImgList, ToolWin, ActnMan, ActnCtrls, Menus,
Buttons, ComCtrls, StdCtrls,TreeUtils, ExtCtrls, DBCtrls, Mask, jpeg,
ExtDlgs,UnitPageCut, Excel2000, OleServer, WinSkinStore, WinSkinData,
GridsEh, DBGridEh, PrViewEh, PrnDbgeh, OleCtrls, AgentObjects_TLB;
type
TMainFrm = class(TForm)
ImageList1: TImageList;
MainMenu1: TMainMenu;
dksgfds1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
S1: TMenuItem;
A1: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
PageControl1: TPageControl;
N8: TMenuItem;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
PopupMenu1: TPopupMenu;
add1: TMenuItem;
edit9: TMenuItem;
del1: TMenuItem;
addchild1: TMenuItem;
N9: TMenuItem;
DBNavigator1: TDBNavigator;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit6: TDBEdit;
DBEdit8: TDBEdit;
DBEdit1: TDBEdit;
Label9: TLabel;
ComboBox2: TComboBox;
PageControl2: TPageControl;
TabSheet3: TTabSheet;
TreeView1: TTreeView;
OpenPictureDialog1: TOpenPictureDialog;
OpenDialog1: TOpenDialog;
SavePictureDialog1: TSavePictureDialog;
SaveDialog1: TSaveDialog;
PrintDialog1: TPrintDialog;
newplan1: TMenuItem;
Label11: TLabel;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
Label12: TLabel;
Label13: TLabel;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
Label14: TLabel;
Label15: TLabel;
DBEdit16: TDBEdit;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
SpeedButton7: TSpeedButton;
DBEdit21: TDBEdit;
BtnFirst: TButton;
BtnUp: TButton;
BtnNext: TButton;
BtnLast: TButton;
LabIndex: TLabel;
Label22: TLabel;
LabTotal: TLabel;
Button2: TButton;
Button3: TButton;
Button4: TButton;
N11: TMenuItem;
N12: TMenuItem;
Label21: TLabel;
Edit1: TEdit;
Label24: TLabel;
DBMemo1: TDBMemo;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
Edit2: TEdit;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
Label10: TLabel;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
DBEdit27: TDBEdit;
Label16: TLabel;
Label23: TLabel;
Label25: TLabel;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
DBComboBox3: TDBComboBox;
DBComboBox4: TDBComboBox;
Edit3: TEdit;
SkinData1: TSkinData;
SkinStore1: TSkinStore;
DBGridEh1: TDBGridEh;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton4: TSpeedButton;
DBEdit2: TDBEdit;
SpeedButton3: TSpeedButton;
PrintDBGridEh1: TPrintDBGridEh;
MyAgent: TAgent;
N10: TMenuItem;
SpeedButton5: TSpeedButton;
procedure A1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure add1Click(Sender: TObject);
procedure edit9Click(Sender: TObject);
procedure addchild1Click(Sender: TObject);
procedure del1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TreeView1Edited(Sender: TObject; Node: TTreeNode;
var S: String);
procedure TreeView1DblClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure newplan1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure BtnFirstClick(Sender: TObject);
procedure BtnUpClick(Sender: TObject);
procedure BtnNextClick(Sender: TObject);
procedure BtnLastClick(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure N13Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure S1Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
procedure DBGridEh1TitleBtnClick(Sender: TObject; ACol: Integer;
Column: TColumnEh);
procedure DBGridEh1GetFooterParams(Sender: TObject; DataCol,
Row: Integer; Column: TColumnEh; AFont: TFont;
var Background: TColor; var Alignment: TAlignment;
State: TGridDrawState; var Text: String);
procedure DBGridEh1DrawFooterCell(Sender: TObject; DataCol,
Row: Integer; Column: TColumnEh; Rect: TRect; State: TGridDrawState);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure DBEdit6KeyPress(Sender: TObject; var Key: Char);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure N10Click(Sender: TObject);
private
{ Private declarations }
function rscount(sqlstr: string):integer;
function getStatus(PID:string):Boolean;
function FindAs(condition:string):string;
public
{ Public declarations }
TreeUtil: TTreeUtils;
UnitPageCut: TUnitPageCut;
procedure PageCut(pageIndex:integer;pageSize:integer);
procedure DBGridFill(sqlstr:string);
procedure DBNavigaterFill(sqlstr:string);
procedure AddGroupNode(NodeName:string);
procedure MyPeedy(myAction:integer);
end;
var
MainFrm: TMainFrm;
condition:string=''; //查询的筛选条件。
pageSize:integer=20;
strpath:string;
Peedy: IagentCtlCharacterEx;
Request1: IagentCtlRequest;
implementation
uses
UnitDataModule,UnitLogin, UnitHelp,TreeFillThrd,
UnitAddInfo,UnitEdit,UnitPass, UnitPlan, UnitExcel,UnitAdd;
{$R *.dfm}
//------------------------------------------------
function TMainFrm.FindAs(condition:string):string;
begin
Result:='';
with DataModule1.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.add('select Caption from PersonInfo where status=0 and ID='+condition);
Open;
first
end;
Result:=DataModule1.ADOQuery1.fieldByName('Caption').AsString;
end;
procedure TMainFrm.A1Click(Sender: TObject);
begin
AddInfoFrm:=TAddInfoFrm.Create(self);
AddInfoFrm.ShowModal;
AddInfoFrm.Free;
end;
procedure TMainFrm.N2Click(Sender: TObject);
begin
Application.terminate; //退出系统
MyPeedy(1);
end;
procedure TMainFrm.N1Click(Sender: TObject);
begin
LoginFrm:=TLoginFrm.Create(self);
LoginFrm.ShowModal;
LoginFrm.Free;
end;
procedure TMainFrm.N7Click(Sender: TObject);
begin
HelpFrm:=THelpFrm.Create(self);
HelpFrm.ShowModal;
HelpFrm.Free;
end;
procedure TMainFrm.add1Click(Sender: TObject);
begin
TreeUtil.AddNode('新组');
end;
procedure TMainFrm.edit9Click(Sender: TObject);
begin
TreeView1.Selected.EditText;
end;
procedure TMainFrm.addchild1Click(Sender: TObject);
begin
AddGroupNode('新组');
end;
procedure TMainFrm.del1Click(Sender: TObject);
begin
if self.TreeView1.Selected.IsFirstNode then
begin
showmessage('不能删除我的名片册');
exit;
end;
if MessageBox(handle, PChar('你确认要删除"' + TreeView1.Selected.Text + '"和它的子项吗?'),
'提示', MB_ICONQUESTION + MB_YESNO) = IDYES then
TreeUtil.DeleteTree(TreeView1.Selected);
//****PersonInfo delete it too
end;
procedure TMainFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
TreeUtil.Free;
MyPeedy(1);
Application.terminate;
end;
procedure TMainFrm.TreeView1Edited(Sender: TObject; Node: TTreeNode;
var S: String);
begin
TreeUtil.ModifyNodeCaption(S, Node);
end;
//dbclickTreeview
procedure TMainFrm.TreeView1DblClick(Sender: TObject);
var
status:string;
Nod: TNodeData;
begin
//node parent
if TreeView1.Selected.IsFirstNode then
begin
PageControl1.ActivePageIndex:=0;
//转到分页查询
condition:='status=1';
self.PageCut(1,pageSize);
exit;
end;
status:='';
with DataModule1.ADOQuery1 do //
begin
Close;
SQL.Clear;
SQL.add('select status from PersonInfo where ID='+IntToStr(TreeUtil.getSelNodeIndex));
open;
end;
status:=DataModule1.ADOQuery1.FieldByName('status').AsString;
//--------------------------------------------------------------
if status='0' then
begin
PageControl1.ActivePageIndex:=0;
if TreeView1.Selected.HasChildren then
begin
condition:='status=1 and PID='+IntToStr(TreeUtil.getSelNodeIndex);
PageCut(1,pageSize);//分页查询
end;
exit;
end;
//--------------personinfo right 个人信息 ------------------
if (not TreeView1.Selected.HasChildren) and (status='1') then
begin
try
PageControl1.ActivePageIndex:=1;
DBNavigaterFill('select * from PersonInfo where ID='+IntToStr(TreeUtil.getSelNodeIndex));
Nod := TreeUtil.getTreeNodeData(TreeView1.Selected.Parent);
Edit1.Text:= Nod.Caption;
//self.FindAs(DataModule1.ADOQuery2.FieldByName('PID').AsString);
except
exit;
end;
end;
end;
//selfProcedure
procedure TMainFrm.DBNavigaterFill(sqlstr:string);
begin
with DataModule1.ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.add(sqlstr);
open;
first
end;
if DataModule1.ADOQuery2.RecordCount>0 then
begin
DBNavigator1.DataSource:=DataModule1.DataSource2;
end else
begin
Showmessage('you check record is 0');
end;
end;
//nbdelete
procedure TMainFrm.Button2Click(Sender: TObject);
begin
if DBNavigator1.DataSource <> nil then
begin
DBNavigator1.BtnClick(nbDelete);
//Treeutil.FillTree;
end;
end;
//edit
procedure TMainFrm.Button3Click(Sender: TObject);
begin
if DBNavigator1.DataSource <> nil then
begin
DBEdit2.DataSource.Edit;
DBEdit2.Text:=DBEdit1.Text;
DBNavigator1.BtnClick(nbEdit);
DataModule1.ADOQuery2.Post;
//Treeutil.FillTree;
end;
end;
//cancle
procedure TMainFrm.Button4Click(Sender: TObject);
begin
DBNavigator1.BtnClick(nbCancel);
end;
//nbrefresh
procedure TMainFrm.newplan1Click(Sender: TObject);
begin
PlanFrm:=TPlanFrm.Create(self);
PlanFrm.ShowModal;
PlanFrm.Free;
end;
procedure TMainFrm.SpeedButton1Click(Sender: TObject);
begin
ExcelFrm:= TExcelFrm.Create(self);
if (IntToStr(self.PageControl1.ActivePageIndex)='1') and (DBNavigator1.DataSource <> nil) then
ExcelFrm.PersonExcel('');
if (IntToStr(PageControl1.ActivePageIndex)='0') and (DBGridEh1.DataSource<>nil) then
begin
//ExcelFrm.CopyDbDataToExcel([DBGridEh1]);
PrintDBGridEh1.DBGridEh := DBGridEh1;
PrintDBGridEh1.SetSubstitutes(['%[Today]',DateToStr(Now)]);
PrintDBGridEh1.Preview;
end;
ExcelFrm.Free;
end;
//-------------------condition check--------------------
procedure TMainFrm.SpeedButton7Click(Sender: TObject);
var condition1:String;
begin
try
if self.ComboBox2.Text='查询条件' then
begin
showmessage('请选择查询条件');
exit;
end;
if self.Edit2.Text=''then
begin
showmessage('请输入查询条件');
exit;
end;
condition1:=trim(self.Edit2.Text);
case self.ComboBox2.ItemIndex of (*4*)
0:
condition:='status=1 and pname like "%'+condition1+'%"';
1:
condition:='status=1 and company like "%'+condition1+'%"';
2:
condition:='status=1 and industry like "%'+condition1+'%"';
3:
condition:='status=1 and area like "%'+condition1+'%"';
4:
condition:='status=1 and duty like "%'+condition1+'%"';
end;
self.PageCut(1,20);
PageControl1.ActivePageIndex:=0;
except
on e:exception do
exit;
end;
exit;
end;
//-----------------分页记录总数------------------
function TMainFrm.rscount(sqlstr: string):integer;
begin
Result:=0;
with DataModule1.ADOQuery1 do //查询数据库来判断用户合法性
begin
Close;
SQL.Clear;
SQL.add(sqlstr);
open;
First;
end;
Result:=DataModule1.ADOQuery1.FieldValues['totalcount'];
end;
procedure TMainFrm.DBGridFill(sqlstr:string);
begin
with DataModule1.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.add(sqlstr);
open;
first;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -