⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uglobal.pas

📁 制衣管理系统程序+源码,编译通过还不错啊,可以
💻 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 + -