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

📄 uinit.pas

📁 DELPHI做的制衣厂管理系统,功能完善,可能马上使用,SQL2000数据库
💻 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 + -