📄 uinit.pas
字号:
unit uInit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, DBClient, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, ComCtrls, ToolWin, jpeg, ExtCtrls,
StdCtrls, cxCalc, cxContainer, cxTextEdit, Buttons, cxGroupBox,
cxDropDownEdit, cxDBEdit, cxMaskEdit, cxCalendar, cxButtonEdit,
cxCheckBox;
type
TfrmInit = class(TForm)
Shape1: TShape;
Label8: TLabel;
Label7: TLabel;
Image1: TImage;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
cxGrid2: TcxGrid;
GridCpInit: TcxGridDBTableView;
GridCpInitDBColumn1: TcxGridDBColumn;
GridCpInitDBColumn2: TcxGridDBColumn;
GridCpInitDBColumn3: TcxGridDBColumn;
GridCpInitDBColumn4: TcxGridDBColumn;
GridCpInitDBColumn5: TcxGridDBColumn;
GridCpInitDBColumn6: TcxGridDBColumn;
colNIL1: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
TabSheet2: TTabSheet;
cxGrid1: TcxGrid;
GridHCpInit: TcxGridDBTableView;
GridHCpInitDBColumn1: TcxGridDBColumn;
GridHCpInitDBColumn2: TcxGridDBColumn;
GridHCpInitDBColumn3: TcxGridDBColumn;
GridHCpInitDBColumn4: TcxGridDBColumn;
GridHCpInitDBColumn6: TcxGridDBColumn;
colNil2: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
TabSheet3: TTabSheet;
cxGrid3: TcxGrid;
GridStockInit: TcxGridDBTableView;
GridStockInitDBColumn1: TcxGridDBColumn;
GridStockInitDBColumn2: TcxGridDBColumn;
GridStockInitDBColumn3: TcxGridDBColumn;
GridStockInitDBColumn4: TcxGridDBColumn;
colNil3: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
dsStock: TDataSource;
dsGoods: TDataSource;
dsHGoods: TDataSource;
cdStock: TClientDataSet;
cdHGoods: TClientDataSet;
cdGoods: TClientDataSet;
GridStockInitDBColumn6: TcxGridDBColumn;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
cxGrid4: TcxGrid;
GridClient: TcxGridDBTableView;
colCode: TcxGridDBColumn;
colName: TcxGridDBColumn;
colLxr: TcxGridDBColumn;
colTEL: TcxGridDBColumn;
colBANK: TcxGridDBColumn;
colBankZH: TcxGridDBColumn;
colSH: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
cxGrid5: TcxGrid;
GridColor: TcxGridDBTableView;
colKey: TcxGridDBColumn;
colName5: TcxGridDBColumn;
colNil5: TcxGridDBColumn;
cxGridLevel4: TcxGridLevel;
cxGrid6: TcxGrid;
GridUser: TcxGridDBTableView;
colCode6: TcxGridDBColumn;
colName6: TcxGridDBColumn;
colPass: TcxGridDBColumn;
colNil6: TcxGridDBColumn;
cxGridLevel5: TcxGridLevel;
GridCpInitDBColumn8: TcxGridDBColumn;
GridHCpInitDBColumn7: TcxGridDBColumn;
GridStockInitDBColumn7: TcxGridDBColumn;
colPost_DZ: TcxGridDBColumn;
cxGroupBox1: TcxGroupBox;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
cxTextEdit1: TcxTextEdit;
cxTextEdit2: TcxTextEdit;
cxTextEdit3: TcxTextEdit;
SpeedButton1: TSpeedButton;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton14: TToolButton;
ToolButton2: TToolButton;
ToolButton15: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton16: TToolButton;
ToolButton5: TToolButton;
cdClient: TClientDataSet;
DSClient: TDataSource;
cdColor: TClientDataSet;
dsColor: TDataSource;
cdUser: TClientDataSet;
dsUser: TDataSource;
colGroup: TcxGridDBColumn;
colQCF: TcxGridDBColumn;
colQCX: TcxGridDBColumn;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
GridCpInitDBColumn9: TcxGridDBColumn;
GridHCpInitDBColumn8: TcxGridDBColumn;
GridStockInitDBColumn8: TcxGridDBColumn;
colDateQC: TcxGridDBColumn;
colNILc: TcxGridDBColumn;
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
procedure PageControl1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxTextEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cxTextEdit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cxTextEdit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure GridCpInitFocusedItemChanged(Sender: TcxCustomGridTableView;
APrevFocusedItem, AFocusedItem: TcxCustomGridTableItem);
procedure GridHCpInitFocusedItemChanged(Sender: TcxCustomGridTableView;
APrevFocusedItem, AFocusedItem: TcxCustomGridTableItem);
procedure GridClientFocusedItemChanged(Sender: TcxCustomGridTableView;
APrevFocusedItem, AFocusedItem: TcxCustomGridTableItem);
procedure GridStockInitFocusedItemChanged(
Sender: TcxCustomGridTableView; APrevFocusedItem,
AFocusedItem: TcxCustomGridTableItem);
procedure GridColorFocusedItemChanged(Sender: TcxCustomGridTableView;
APrevFocusedItem, AFocusedItem: TcxCustomGridTableItem);
procedure GridUserFocusedItemChanged(Sender: TcxCustomGridTableView;
APrevFocusedItem, AFocusedItem: TcxCustomGridTableItem);
procedure cdGoodsReconcileError(DataSet: TCustomClientDataSet;
E: EReconcileError; UpdateKind: TUpdateKind;
var Action: TReconcileAction);
procedure cdUserNewRecord(DataSet: TDataSet);
procedure colGroupPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
private
procedure init();
function Ischange(cdTem: TclientDataSet): boolean;
procedure ActiveData(cdTem: TclientDataSet);
procedure starReport;
Procedure ChangeGridItem(sender: TcxCustomGridTableView;
Col1, col2: TcxCustomGridTableItem);
function GetUserPower(const ccode, cGroup: string):oleVariant;
{ Private declarations }
public
{ Public declarations }
end;
var
frmInit: TfrmInit;
implementation
uses
uGlobal, uPublic, uMain, uError, uUserImpower;
{$R *.dfm}
procedure TfrmInit.ToolButton5Click(Sender: TObject);
begin
close;
end;
procedure TfrmInit.ToolButton4Click(Sender: TObject);
begin
case pageControl1.ActivePageIndex of
0: cancelUpdateData(cdStock);
1: cancelUpdateData(cdHGoods);
2: cancelUpdateData(cdGoods);
3: cancelUpdateData(cdClient);
4: cancelUpdateData(cdColor);
5: cancelUpdateData(cdUser);
end;
end;
procedure TfrmInit.ToolButton3Click(Sender: TObject);
begin
case pageControl1.ActivePageIndex of
0: deleteRecordData(cdStock);
1: deleteRecordData(cdHGoods);
2: deleteRecordData(cdGoods);
3: deleteRecordData(cdClient);
4: deleteRecordData(cdColor);
5: deleteRecordData(cdUser);
end;
end;
procedure TfrmInit.ToolButton2Click(Sender: TObject);
begin
case pageControl1.ActivePageIndex of
0: ApplyUpdateData(cdStock);
1: ApplyUpdateData(cdHGoods);
2: ApplyUpdateData(cdGoods);
3: ApplyUpdateData(cdClient);
4: ApplyUpdateData(cdColor);
5: ApplyUpdateData(cdUser);
end;
end;
procedure TfrmInit.ToolButton1Click(Sender: TObject);
begin
case pageControl1.ActivePageIndex of
0: InsertRecordData(cdStock);
1: InsertRecordData(cdHGoods);
2: InsertRecordData(cdGoods);
3: InsertRecordData(cdClient);
4: InsertRecordData(cdColor);
5: InsertRecordData(cdUser);
end;
end;
procedure TfrmInit.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
case pageControl1.ActivePageIndex of
0: AllowChange := Ischange(cdStock);
1: AllowChange := Ischange(cdHGoods);
2: AllowChange := Ischange(cdGoods);
3: AllowChange := Ischange(cdClient);
4: AllowChange := Ischange(cdColor);
5: AllowChange := Ischange(cdUser);
end;
end;
procedure TfrmInit.PageControl1Change(Sender: TObject);
begin
case pageControl1.ActivePageIndex of
0: ActiveData(cdStock);
1: ActiveData(cdHGoods);
2: ActiveData(cdGoods);
3: ActiveData(cdClient);
4: ActiveData(cdColor);
5: ActiveData(cdUser);
end;
end;
function TfrmInit.Ischange(cdTem: TclientDataSet): boolean;
begin
result := true;
if cdTem.State in [dsInsert,dsEdit] then
cdTem.Post;
if cdTem.ChangeCount > 0 then begin
if QueryWnd('数据已更改,继续吗?'+#13+#13+
'按[是]取消更改并转到下页'+#13+
'按[否]返回当前页面') then begin
cancelUpdateData(cdTem);
exit;
end;
result := false;
end;
end;
procedure TfrmInit.ActiveData(cdTem: TclientDataSet);
begin
if cdTem.Active then
exit;
cdTem.Open;
end;
procedure TfrmInit.init;
begin
Top := frmMain.Top + iTop;
Left := frmMain.Left + iLeft;
width := frmMain.Width - iWidth;
height := frmMain.Height - iHeight;
ToolBar1.Images := frmMain.Images16;
cdGoods.RemoteServer := frmMain.DCOMCn;
cdHGoods.RemoteServer := frmMain.DCOMCn;
cdStock.RemoteServer := frmMain.DCOMCn;
cdClient.RemoteServer := frmMain.DCOMCn;
cdColor.RemoteServer := frmMain.DCOMCn;
cdUser.RemoteServer := frmMain.DCOMCn;
end;
procedure TfrmInit.FormCreate(Sender: TObject);
begin
init;
end;
procedure TfrmInit.cxTextEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
vk_return : cxTextEdit2.SetFocus;
end;
end;
procedure TfrmInit.cxTextEdit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
vk_return : cxTextEdit3.SetFocus;
end;
end;
procedure TfrmInit.cxTextEdit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
vk_return : cxTextEdit1.SetFocus;
end;
end;
procedure TfrmInit.FormShow(Sender: TObject);
begin
PageControl1.ActivePageIndex := tag - 1;
PageControl1Change(NIL);
end;
procedure TfrmInit.SpeedButton1Click(Sender: TObject);
VAR sqlText : string;
begin
if cxTextEdit1.Text <> '' then
sqlText := 'WHERE (CCODE Like '''+cxTextEdit1.Text+'%'')';
if cxTextEdit2.Text <> '' then
if sqlText = '' then
sqlText := 'WHERE (cName like ''%'+cxTextEdit2.Text+'%'')'
else
sqlText := sqlText + ' AND (cName like ''%'+cxTextEdit2.Text+'%'')';
if cxTextEdit3.Text <> '' then
if sqlText = '' then
sqlText := 'WHERE (cpost_dz like ''%'+cxTextEdit3.Text+'%'')'
else
sqlText := sqlText + ' AND (cpost_dz like ''%'+cxTextEdit3.Text+'%'')';
sqlText := 'SELECT * FROM T_pubClient '+ sqlText + #13+ 'ORDER BY CCODE';
WITH cdClient do BEGIN
CLOSE;
CommandText := sqlText;
open;
END;
end;
procedure TfrmInit.starReport;
begin
case pageControl1.ActivePageIndex of
0: frmReport.ReportS(20,0,'',cdStock.Data);
1: frmReport.ReportS(30,0,'',cdHGoods.Data);
2: frmReport.ReportS(40,0,'',cdGoods.Data);
3: frmReport.ReportS(80,0,'',cdClient.Data);
end;
end;
procedure TfrmInit.ToolButton6Click(Sender: TObject);
begin
starReport;
end;
procedure TfrmInit.GridCpInitFocusedItemChanged(
Sender: TcxCustomGridTableView; APrevFocusedItem,
AFocusedItem: TcxCustomGridTableItem);
begin
ChangeGridItem(sender,AFocusedItem,colNIL1);
end;
procedure TfrmInit.ChangeGridItem(sender: TcxCustomGridTableView;
Col1, col2: TcxCustomGridTableItem);
begin
IF (col1 <> col2) THEN exit;
IF TcxGridDBTableView(Sender).DataController.DataSource.DataSet.Eof THEN
TcxGridDBTableView(Sender).DataController.DataSource.DataSet.append
Else
TcxGridDBTableView(Sender).DataController.DataSource.DataSet.next;
TcxGridDBTableView(Sender).Columns[0].Focused := true;
end;
procedure TfrmInit.GridHCpInitFocusedItemChanged(
Sender: TcxCustomGridTableView; APrevFocusedItem,
AFocusedItem: TcxCustomGridTableItem);
begin
ChangeGridItem(sender,AFocusedItem,colNIL2);
end;
procedure TfrmInit.GridClientFocusedItemChanged(
Sender: TcxCustomGridTableView; APrevFocusedItem,
AFocusedItem: TcxCustomGridTableItem);
begin
ChangeGridItem(sender,AFocusedItem,colNILc);
end;
procedure TfrmInit.GridStockInitFocusedItemChanged(
Sender: TcxCustomGridTableView; APrevFocusedItem,
AFocusedItem: TcxCustomGridTableItem);
begin
ChangeGridItem(sender,AFocusedItem,colNIL3);
end;
procedure TfrmInit.GridColorFocusedItemChanged(
Sender: TcxCustomGridTableView; APrevFocusedItem,
AFocusedItem: TcxCustomGridTableItem);
begin
ChangeGridItem(sender,AFocusedItem,colNIL5);
end;
procedure TfrmInit.GridUserFocusedItemChanged(
Sender: TcxCustomGridTableView; APrevFocusedItem,
AFocusedItem: TcxCustomGridTableItem);
begin
ChangeGridItem(sender,AFocusedItem,colNIL6);
end;
procedure TfrmInit.cdGoodsReconcileError(DataSet: TCustomClientDataSet;
E: EReconcileError; UpdateKind: TUpdateKind;
var Action: TReconcileAction);
begin
Action := HandleReconcileError(DataSet, UpdateKind, E);
end;
procedure TfrmInit.cdUserNewRecord(DataSet: TDataSet);
begin
cdUser.FieldByName('cPass').AsString := '8888';
end;
procedure TfrmInit.colGroupPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
//Var frmUserImpower: TfrmUserImpower;
var code,cGrp:string;
begin
if (cdUser.State in [dsInsert]) Or (cdUser.ChangeCount > 0) Then Begin
infownd('请保存用户编辑后再设置权限!');
exit;
end;
code := cdUser.fieldbyname('ccode').AsString;
cGrp := cdUser.fieldbyname('cGroup').AsString;
WITH TfrmUserImpower.create(nil) do
TRY
if cGrp = 'A' then
cbAdmin.Checked := true;
if cGrp = 'U' then
cbUser.Checked := true;
if cGrp = 'G' then
cbGuest.Checked := true;
cdUser.Data := Self.cdUser.Data;
cdPower.data := GetUserPower(code,cGrp);
IF showmodal = mrOk THEN
FINALLY
FREE;
END;
end;
function TfrmInit.GetUserPower(const ccode, cGroup: string):oleVariant;
begin
WITH frmMain.cdPub do BEGIN
close;
commandText := 'execute GetUserImpower @ccode = '''+ccode+''''+
',@cGroup = '''+cGroup+'''';
open;
result := Data;
END;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -