📄 umain.pas
字号:
unit Umain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, RzTreeVw, ExtCtrls, Menus, ImgList, DB, ADODB,
Ucreattree{创建树型结构单元},uconst,
WinSkinData, RzSplit, RzPanel,Udm1, DBSumLst, Grids, DBGridEh, GridsEh ,
PrViewEh, PrnDbgeh, StdCtrls;
type
Tmainfm = class(TForm)
Panel1: TPanel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Splitter1: TSplitter;
Panel2: TPanel;
unittree: TRzTreeView;
ImageList1: TImageList;
N4: TMenuItem;
RzStatusBar1: TRzStatusBar;
ProgressBar1: TProgressBar;
RzSizePanel1: TRzSizePanel;
RzSizePanel2: TRzSizePanel;
SkinData1: TSkinData;
N5: TMenuItem;
N6: TMenuItem;
PopupMenu1: TPopupMenu;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
PopupMenu2: TPopupMenu;
N11: TMenuItem;
Panel3: TPanel;
GroupBox1: TGroupBox;
DBGridEh1: TDBGridEh;
Splitter2: TSplitter;
Panel4: TPanel;
GroupBox2: TGroupBox;
DBGridEh2: TDBGridEh;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
DBSumList1: TDBSumList;
PrintDBGridEh1: TPrintDBGridEh;
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure unittreeDblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure unittreeChange(Sender: TObject; Node: TTreeNode);
procedure N10Click(Sender: TObject);
procedure unittreeClick(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
procedure N11Click(Sender: TObject);
procedure DBGridEh2Columns11UpdateData(Sender: TObject;
var Text: String; var Value: Variant; var UseText, Handled: Boolean);
procedure DBGridEh1Columns11UpdateData(Sender: TObject;
var Text: String; var Value: Variant; var UseText, Handled: Boolean);
procedure N12Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure DBGridEh2CellClick(Column: TColumnEh);
procedure N14Click(Sender: TObject);
private
{ Private declarations }
createtreeed:boolean;
public
{ Public declarations }
procedure getlevelno(var msg:TMessage);message CM_MYSHOW;//消息相应
procedure outunitname(var msg:TMessage);message CM_OUTMESSAGE;//选择信息
//procedure inunitname(var msg:TMessage);message CM_INMESSAGE;//选择信息
end;
var
mainfm: Tmainfm;
levelno:string;
out_unitno:string;
outed:boolean;
implementation
uses Uselectlevel,uinfounit, Upayment,DBUtilsEh, Uinfoitem;
{$R *.dfm}
var
mynode:pmytree;
snode:Ttreenode;
procedure Tmainfm.getlevelno(var msg:TMessage);
begin
if msg.WParam=0 then
begin
if assigned(Fm_unit) then
fm_unit.Ed_level.Text :=levelno;
end;
end;
procedure Tmainfm.outunitname(var msg:tmessage);
begin
if msg.WParam =0 then
begin
if assigned(fm_payment) then
if outed then
fm_payment.Ed_outunit.Text:=out_unitno
else
fm_payment.Ed_Inunit.Text:=out_unitno;
end;
end;
procedure Tmainfm.N3Click(Sender: TObject);
begin
close;
end;
procedure Tmainfm.N4Click(Sender: TObject);
begin
LoadTree(unittree,dm1.aconn,'select higherUp_No,u_no,u_name,u_level from info_unit order by higherUp_No',ProgressBar1);
end;
procedure Tmainfm.unittreeDblClick(Sender: TObject);
var
ptext:string;
begin
if mynode.itemed then
with dm1.itemaq do
begin
sql.Clear;
sql.Add('select * from info_item where item_no='''+mynode^.Code+'''');
open;
if not assigned(fm_item) then
begin
fm_item:=Tfm_item.Create(nil);
fm_item.Show ;
end
else
begin
fm_item.WindowState :=wsNormal;
fm_item.BringToFront;
end;
end
else
with dm1.adoquery1 do
begin // 单位信息
sql.Clear;
sql.Add('select * from info_unit where u_no='''+mynode^.Code+'''');
open;
if not assigned(Fm_unit) then
begin
Fm_unit:=TFm_unit.Create(nil);
if snode<>nil then
ptext:=snode.Text
else
ptext:='';
fm_unit.rzComboBox1.Text:=mynode^.ParentCode+BOXSIGN+ptext;
fm_unit.Ed_no.ReadOnly:=true;
fm_unit.Show ;
end
else
begin
Fm_unit.WindowState :=wsNormal;
Fm_unit.BringToFront;
end;
with fm_unit do
begin
ed_no.Text :=fieldbyname('U_no').AsString ;
ed_name.Text :=fieldbyname('u_name').AsString ;
ed_level.Text :=fieldbyname('u_level').AsString ;
ed_principal.Text :=fieldbyname('u_principal').AsString ;
ed_addr.Text :=fieldbyname('U_addr').AsString ;
ed_post.Text :=fieldbyname('u_post').AsString ;
ed_phone.Text :=fieldbyname('U_phone').AsString ;
ed_fax.Text :=fieldbyname('u_fax').AsString ;
ed_http.Text :=fieldbyname('U_http').AsString ;
ed_bank.Text :=fieldbyname('u_bankname').AsString ;
ed_accountname.Text :=fieldbyname('U_accountname').AsString ;
ed_account.Text :=fieldbyname('u_bankaccount').AsString ;
memo_remark.Text :=fieldbyname('u_remark').asstring;
createed:=false;
but_save.Enabled :=false;
end;
end;
end;
procedure Tmainfm.FormCreate(Sender: TObject);
begin
createtreeed:=true;
new(mynode);
SetWindowLong(unittree.Handle, GWL_STYLE, GetWindowLong(unittree.Handle, GWL_STYLE) or $00000100);
end;
procedure Tmainfm.N6Click(Sender: TObject);
begin
if not assigned(fm_selectLevel) then
begin
fm_selectLevel:=Tfm_selectLevel.Create(nil);
end
else
begin
fm_selectLevel.WindowState :=wsNormal;
fm_selectLevel.BringToFront;
end;
end;
procedure Tmainfm.N7Click(Sender: TObject);
begin
if not assigned(Fm_unit) then
begin
Fm_unit:=TFm_unit.Create(nil);
fm_unit.rzComboBox1.Text:=mynode^.code+BOXSIGN+mynode^.Name ;
fm_unit.Show ;
end
else
begin
Fm_unit.WindowState :=wsNormal;
Fm_unit.BringToFront;
end;
end;
procedure Tmainfm.N9Click(Sender: TObject);
begin
if not assigned(fm_payment) then
begin
fm_payment:=Tfm_payment.Create(self);
fm_payment.Show ;
end
else
begin
fm_payment.WindowState :=wsNormal;
fm_payment.BringToFront;
end;
end;
procedure Tmainfm.unittreeChange(Sender: TObject; Node: TTreeNode);
begin
mynode:= unittree.Selected.Data;
if unittree.Selected.Level <>0 then
snode:=unittree.Selected.Parent
else
snode:=nil;
end;
procedure Tmainfm.N10Click(Sender: TObject);
begin
out_unitno:=mynode^.Code+BOXSIGN+mynode^.Name ;
postmessage(self.Handle,CM_OUTMESSAGE,0,0);
if assigned(fm_payment) then
begin
fm_payment.WindowState:=wsNormal;
fm_payment.BringToFront;
end;
end;
procedure Tmainfm.unittreeClick(Sender: TObject);
begin
dm1.MemTableEh1.Close;
dm1.MemTableEh2.Close;
with dm1.showpayment do
begin
close;
sql.Clear;
sql.Add('select * from sum_info_payment where Out_u_no='''+mynode.Code+''' order by bumf_no ');
open;
end;
with dm1.inpayment do
begin
close;
sql.Clear;
sql.Add('select * from sum_info_payment ');
if mynode.itemed then
sql.Add('where item_no='''+mynode.Code+''' ')
else
sql.Add('where In_u_no='''+mynode.Code+''' ');
sql.Add(' order by bumf_no ');
open;
end;
dm1.MemTableEh1.Open ;
dm1.MemTableEh2.Open ;
end;
procedure Tmainfm.FormPaint(Sender: TObject);
begin
if createtreeed then
begin
LoadTree(unittree,dm1.aconn,'select higherUp_No,u_no,u_name,u_level from info_unit order by higherUp_No',ProgressBar1);
createtreeed:=false;
end;
end;
procedure Tmainfm.DBGridEh1GetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
if (Sender as Tdbgrideh).SumList.RecNo mod 2 = 1 then
Background := $00FFC4C4
else
Background := $00FFDDDD;
end;
procedure Tmainfm.N11Click(Sender: TObject);
begin
if (ActiveControl is TDBGridEh) then
begin
PrintDBGridEh1.DBGridEh := TDBGridEh(ActiveControl);
PrintDBGridEh1.SetSubstitutes(['%[Today]',DateToStr(Now)]);
PrintDBGridEh1.Preview;
end;
end;
procedure Tmainfm.DBGridEh2Columns11UpdateData(Sender: TObject;
var Text: String; var Value: Variant; var UseText, Handled: Boolean);
begin
if dbgrideh2.Fields[14].AsBoolean then
begin
Handled:=true;
exit;
end;
with dm1.tempquery do
begin
sql.Clear ;
sql.Add('update info_payment set receive_affirm= not receive_affirm ,receive_time=Now()');
sql.Add(' where ID='+dbgrideh2.Fields[2].AsString );
execsql;
end;
end;
procedure Tmainfm.DBGridEh1Columns11UpdateData(Sender: TObject;
var Text: String; var Value: Variant; var UseText, Handled: Boolean);
begin
Handled:=true;
end;
procedure Tmainfm.N12Click(Sender: TObject);
begin
if not assigned(fm_payment) then
begin
fm_payment:=Tfm_payment.Create(self);
fm_payment.ed_bumf.Text := dbgrideh2.Fields[0].Text;
fm_payment.ID :=dbgrideh2.Fields[2].AsInteger ;
fm_payment.Show;
end
else
begin
fm_payment.ed_bumf.Text := dbgrideh2.Fields[0].Text;
fm_payment.WindowState :=wsNormal;
fm_payment.BringToFront;
end;
out_unitno:=mynode^.Code+BOXSIGN+mynode^.Name ;
outed:=true;
postmessage(self.Handle,CM_OUTMESSAGE,0,0);
end;
procedure Tmainfm.N13Click(Sender: TObject);
begin
if not assigned(Fm_unit) then
begin
Fm_unit:=TFm_unit.Create(nil);
fm_unit.rzComboBox1.Text:=mynode^.code+BOXSIGN+mynode^.Name ;
fm_unit.Show ;
end
else
begin
Fm_unit.WindowState :=wsNormal;
Fm_unit.BringToFront;
end;
end;
procedure Tmainfm.DBGridEh2CellClick(Column: TColumnEh);
begin
{dm1.MemTableEh1.Close;
with dm1.showpayment do
begin
sql.Clear ;
sql.Add('select * from sum_info_payment ');
sql.Add(' where parentno='''+dbgrideh2.Fields[15].AsString+'''' );
open;
end;
dm1.MemTableEh1.open; }
end;
procedure Tmainfm.N14Click(Sender: TObject);
begin
if not assigned(fm_item) then
begin
fm_item:=Tfm_item.Create(nil);
fm_item.Show ;
end
else
begin
fm_item.WindowState :=wsNormal;
fm_item.BringToFront;
end;
end;
initialization
DBGridEhDefaultStyle.FilterEditCloseUpApplyFilter := True;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -