📄 uglobal.pas
字号:
////////////////////////////////////////////////////////////////////////////////
//
//
// FileName : uGlobal.pas
// Creator : itluo
// Date : 2003-4-6
// Comment :
// 建立对象实列的单元
//
////////////////////////////////////////////////////////////////////////////////
unit uGlobal;
interface
uses Forms, SysUtils,uMain, Classes, windows, dbclient, db,
uLogon, uReport, uGetDateOne, uGetTwoDate, uChangePass,
uGetData, StdCtrls, cxDropDownEdit, uPublic;
var
cd_clr : TclientDataSet;
cdOption: TclientDataSet;
frmMain: TfrmMain = nil;
frmReport: TfrmReport = nil;
frmLogon: TfrmLogon = nil;
frmGetTwoDate: TfrmGetTwoDate = nil;
frmGetDateOne: TfrmGetDateOne = nil;
frmchangePass: TfrmchangePass = nil;
frmGetData: TfrmGetData = nil;
//frmRestoreDataBase: TfrmRestoreDataBase = nil;
function InitObjects() : Integer;
procedure UnInitObjects();
procedure ShowChildForm(FormClass: TFormClass;
AOwner: TComponent; dsEdit: string; ws: TWindowState);
procedure ShowModalWinForm(TWinForm: TFormClass;//TComponentClass;
WinForm: TForm; Maximized: Boolean; tag: Smallint);
procedure cancelUpdateData(cdTem: TclientDataset);
procedure UndoLastChangeData(cdTem: TclientDataset);
procedure DeleteRecordData(cdTem: TclientdataSet);
procedure InsertRecordData(cdTem: TclientDataSet);
function ApplyUpdateData(cdTem: TclientDataSet):boolean;
procedure cbox_GetColor(sender :Tobject);
procedure cbox_SetColor(sender :Tobject);
function cboxSetOperation(sender: Tobject): integer;
procedure cBoxGetOperation(sender : TObject);
implementation
function InitObjects() : Integer;
begin
cd_clr := TclientDataSet.create(nil);
cdOption := TclientDataSet.Create(nil);
frmlogon := Tfrmlogon.create(nil);
Application.CreateForm(TfrmMain, frmMain);
frmMain.Visible := false;
Application.CreateForm(TfrmReport,frmReport);
Application.CreateForm(TfrmGetData, frmGetData);
frmMain.Init();
Result := 1;
end;
procedure UnInitObjects();
begin
cd_clr.Free;
cd_clr := nil;
cdOption.Free;
cdOption := nil;
frmReport.Free;
frmReport := nil;
frmGetData.free;
frmGetData := nil;
frmMain.Free;
frmMain := nil;
end;
procedure ShowChildForm(FormClass: TFormClass;
AOwner: TComponent; dsEdit: string; ws: TWindowState);
var i:integer;
cForm: TForm;
begin
for i := 0 to Screen.FormCount - 1 do
if Screen.Forms[i].ClassType = FormClass then {如有一窗口打开,将不打开新的窗口}
begin
Cform:=Screen.Forms[i];
if Cform.WindowState = wsMinimized then {如已存在但最少化的窗口,将还原显示 }
ShowWindow(Cform.handle, SW_RESTORE);
if (not Cform.Visible) then Cform.Visible := True;
Cform.BringToFront;
Cform.Setfocus;
//TForm(frm) := cForm;
exit;
end;
//if Cform <> nil then exit;
//Application.CreateForm(FormClass,Cform);
//cform := formClass.Create(application);
//Cform := FormClass.Create(NIL);
Cform := TForm(FormClass.NewInstance);
//TForm(frm) := Cform;
Cform.Create(AOwner);
cform.Caption:=dsEdit;
cform.WindowState:=ws;
end;
procedure ShowModalWinForm(TWinForm: TFormClass;
WinForm: TForm; Maximized: Boolean; tag: Smallint);
begin
if not Assigned(WinForm) then
try
//Application.CreateForm(TWinForm, WinForm);
WinForm := TWinForm.create(nil);
WinForm.Tag:=tag;
if Maximized then WinForm.WindowState:= wsMaximized;
WinForm.ShowModal;
finally
WinForm.Free;
//winForm := nil;
end;
end;
procedure cancelUpdateData(cdTem: TclientDataset);
Begin
if not cdTem.Active then exit;
cdTem.CancelUpdates;
cdTem.MergeChangeLog;
end;
procedure UndoLastChangeData(cdTem: TclientDataset);
begin
if not cdTem.Active then exit;
cdTem.UndoLastChange(false);
end;
procedure DeleteRecordData(cdTem: TclientdataSet);
begin
if not cdTem.Active then exit;
if cdtem.IsEmpty then exit;
cdtem.Delete;
end;
procedure InsertRecordData(cdTem: TclientDataSet);
begin
if not cdTem.Active then exit;
cdtem.Append;
end;
function ApplyUpdateData(cdTem: TclientDataSet):boolean;
begin
result := false;
if not cdTem.Active then exit;
if cdTem.State in [dsInsert,dsEdit] then
cdTem.Post;
cdTem.ApplyUpdates(-1);
result := true;
end;
function comboBox_exit(sender :Tobject): integer;
begin
Result := 0;
IF (TcomboBox(sender).Text = '12') OR
(TcomboBox(sender).Text = '广东仓库') THEN Begin
TcomboBox(sender).Text := '广东仓库';
result := 12;
End
ELSE
IF (TcomboBox(sender).Text = '34') OR
(TcomboBox(sender).Text = '公司仓库') THEN Begin
TcomboBox(sender).Text := '公司仓库';
result := 34;
End
ELSE BEGIN
//TcomboBox(sender).SetFocus;
infoWnd('请确定仓库是"广东仓库" 或 "公司仓库"');
END;
end;
procedure cbox_SetColor(sender :Tobject);
var b: boolean;
begin
if TcomboBox(sender).Text = '' then
exit;
b := cd_clr.Locate('ckey',TcomboBox(sender).Text,[loCaseInsensitive]);
if not b then
b := cd_clr.Locate('cName',TcomboBox(sender).Text,[loCaseInsensitive]);
if not b then Begin
infoWnd('颜色输入错误,请检查!');
end
else
TcomboBox(sender).Text := cd_clr.fieldbyname('cName').AsString;
end;
procedure cbox_GetColor(sender :Tobject);
begin
cd_clr.first;
TcxComboBox(sender).Properties.Items.Clear;
while not cd_clr.eof do begin
TcxComboBox(sender).Properties.Items.Add(cd_clr.fieldbyname('cName').AsString);
cd_clr.next;
end;
end;
procedure cBoxGetOperation(sender : TObject);
begin
cdOption.First;
TcxComboBox(sender).Properties.Items.Clear;
WHILE NOT cdOption.Eof do BEGIN
TcxComboBox(sender).Properties.Items.Add(cdOption.fieldbyname('cName').AsString);
cdOption.next;
END;
end;
function cboxSetOperation(sender: Tobject): integer;
var b: boolean;
begin
result := 0;
if TComboBox(sender).Text = '' then
exit;
//b := cdOption.Locate('Ikey',TComboBox(sender).Text,[loCaseInsensitive]); IKEY与 TEXT不匹配
//if not b then
b := cdOption.Locate('cName',TComboBox(sender).Text,[loCaseInsensitive]);
if not b then Begin
infoWnd('提示: 请确定业务类别.');
exit;
end;
TComboBox(sender).Text := cdOption.fieldbyname('cName').AsString;
result := cdOption.fieldbyname('IKey').AsInteger;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -