flowcourseunit.~pas

来自「批发商品管理系统 目前我正在潜心研究」· ~PAS 代码 · 共 296 行

~PAS
296
字号
unit FlowCourseUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dxExEdtr, DB, ADODB, dxCntner, dxTL, dxDBCtrl, dxDBGrid,
  ExtCtrls, ImgList, RzButton, RzPanel, cxPC, cxControls, Grids, DBGrids,
  dxDBTLCl, dxGrClms, cxLabel, cxContainer, cxEdit, cxTextEdit, ActnList,
  cxDBEdit, cxGraphics, cxSpinEdit, cxMaskEdit, cxDropDownEdit;

type
  TFlowCourseForm = class(TForm)
    MainPC: TcxPageControl;
    MainTS: TcxTabSheet;
    Toolbar: TRzToolbar;
    BtnAdd: TRzToolButton;
    BtnEdit: TRzToolButton;
    BtnSave: TRzToolButton;
    BtnDelete: TRzToolButton;
    BtnRefresh: TRzToolButton;
    ImageList: TImageList;
    FlowCourse_PC: TcxPageControl;
    Flow_TS: TcxTabSheet;
    Flow_Panel: TPanel;
    dxDBGrid1: TdxDBGrid;
    dxDBGrid2: TdxDBGrid;
    Course_TS: TcxTabSheet;
    FlowData: TADOQuery;
    SQL: TADOQuery;
    DS_Flow: TDataSource;
    DS_Course: TDataSource;
    SQLiFlowID: TAutoIncField;
    SQLcFlowName: TWideStringField;
    SQLcFlowMemo: TWideStringField;
    CourseData: TADOTable;
    dxDBGrid2ID: TdxDBGridMaskColumn;
    dxDBGrid2AutoID: TdxDBGridMaskColumn;
    dxDBGrid2CourseID: TdxDBGridMaskColumn;
    dxDBGrid2cCourseName: TdxDBGridColumn;
    dxDBGrid2cPerson: TdxDBGridColumn;
    dxDBGrid2cDeptNo: TdxDBGridColumn;
    dxDBGrid2cCourseMemo: TdxDBGridColumn;
    dxDBGrid2cCouDefine01: TdxDBGridColumn;
    dxDBGrid2cCouDefine02: TdxDBGridColumn;
    dxDBGrid2cCouDefine03: TdxDBGridColumn;
    dxDBGrid2cCouDefine04: TdxDBGridColumn;
    dxDBGrid2cCouDefine05: TdxDBGridColumn;
    dxDBGrid2cCouDefine06: TdxDBGridColumn;
    dxDBGrid2cCouDefine07: TdxDBGridColumn;
    dxDBGrid2cCouDefine08: TdxDBGridColumn;
    dxDBGrid2cCouDefine09: TdxDBGridColumn;
    dxDBGrid2cCouDefine10: TdxDBGridColumn;
    dxDBGrid2iCouDefine01: TdxDBGridMaskColumn;
    dxDBGrid2iCouDefine02: TdxDBGridMaskColumn;
    dxDBGrid2iCouDefine03: TdxDBGridCurrencyColumn;
    dxDBGrid2dCouDefine04: TdxDBGridDateColumn;
    dxDBGrid2dCouDefine05: TdxDBGridDateColumn;
    dxDBGrid1iFlowID: TdxDBGridMaskColumn;
    dxDBGrid1cFlowName: TdxDBGridColumn;
    dxDBGrid1cFlowMemo: TdxDBGridColumn;
    FlowName_TE: TcxTextEdit;
    cxLabel1: TcxLabel;
    cxLabel2: TcxLabel;
    FlowMemo_TE: TcxTextEdit;
    FlowID_TE: TcxDBTextEdit;
    TranList: TActionList;
    Add: TAction;
    Change: TAction;
    Save: TAction;
    Refresh: TAction;
    Delete: TAction;
    Next: TAction;
    cxLabel3: TcxLabel;
    CourseName_TE: TcxTextEdit;
    cxLabel4: TcxLabel;
    CourseMemo_TE: TcxTextEdit;
    cxLabel5: TcxLabel;
    Person_CBB: TcxComboBox;
    cxLabel6: TcxLabel;
    Dept_CBB: TcxComboBox;
    cxLabel7: TcxLabel;
    CourseNo_SE: TcxSpinEdit;
    procedure AddExecute(Sender: TObject);
    procedure ChangeExecute(Sender: TObject);
    procedure RefreshExecute(Sender: TObject);
    procedure SaveExecute(Sender: TObject);
    procedure dxDBGrid1Click(Sender: TObject);
    procedure dxDBGrid2Click(Sender: TObject);
    procedure DeleteExecute(Sender: TObject);
    procedure dxDBGrid1DblClick(Sender: TObject);
    procedure dxDBGrid2DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FlowCourseForm: TFlowCourseForm;

implementation
uses
  DataModule;

{$R *.dfm}

procedure TFlowCourseForm.AddExecute(Sender: TObject);
begin
    BtnAdd.Enabled            := False ;
    BtnEdit.Enabled           := False ;
    BtnDelete.Enabled         := False ;
    BtnSave.Enabled           := True ;
    BtnRefresh.Enabled        := True ;
    IF FlowCourse_PC.ActivePage = Flow_TS Then
    Begin
        FlowName_TE.Enabled       := True  ;
        FlowMemo_TE.Enabled       := True  ;
    End Else IF FlowCourse_PC.ActivePage = Course_TS Then
    Begin
        CourseNo_SE.Enabled       := True ;
        CourseName_TE.Enabled     := True ;
        Dept_CBB.Enabled          := True ;
        Person_CBB.Enabled        := True ;
        CourseMemo_TE.Enabled     := True ;
    End;
end;

procedure TFlowCourseForm.ChangeExecute(Sender: TObject);
begin
    BtnAdd.Enabled            := False ;
    BtnEdit.Enabled           := False ;
    BtnDelete.Enabled         := False ;
    BtnSave.Enabled           := True ;
    BtnRefresh.Enabled        := True ;
    IF FlowCourse_PC.ActivePage = Flow_TS Then
    Begin
        FlowName_TE.Enabled       := True  ;
        FlowMemo_TE.Enabled       := True  ;

        FlowName_TE.Text := FlowData.Fields[1].AsString ;
        FlowMemo_TE.Text := FlowData.Fields[2].AsString ;

    End Else IF FlowCourse_PC.ActivePage = Course_TS Then
    Begin
        CourseNo_SE.Enabled       := True ;
        CourseName_TE.Enabled     := True ;
        Dept_CBB.Enabled          := True ;
        Person_CBB.Enabled        := True ;
        CourseMemo_TE.Enabled     := True ;

        CourseName_TE.Text := CourseData.Fields[1].AsString ;
        Dept_CBB.Text := CourseData.Fields[2].AsString ;
        Person_CBB.Text := CourseData.Fields[3].AsString ;
        CourseNo_SE.Text := CourseData.Fields[4].AsString ;
        CourseMemo_TE.Text := CourseData.Fields[5].AsString ;

    End;

end;

procedure TFlowCourseForm.RefreshExecute(Sender: TObject);
begin
    FlowName_TE.Enabled       := False ;
    FlowMemo_TE.Enabled       := False ;
    CourseNo_SE.Enabled       := False ;
    CourseName_TE.Enabled     := False ;
    Dept_CBB.Enabled          := False ;
    Person_CBB.Enabled        := False ;
    CourseMemo_TE.Enabled     := False ;
    BtnAdd.Enabled            := True ;
    BtnEdit.Enabled           := True ;
    BtnDelete.Enabled         := True ;
    BtnSave.Enabled           := False ;
    BtnRefresh.Enabled        := False ;
end;

procedure TFlowCourseForm.SaveExecute(Sender: TObject);
begin
    IF FlowCourse_PC.ActivePage = Flow_TS Then
    Begin
        FlowName_TE.Enabled       := False ;
        FlowMemo_TE.Enabled       := False ;
        IF (FlowName_TE.Text = '') OR (FlowMemo_TE.Text = '') Then
        Begin
            Showmessage('资料填写不完整,请重新输入');
            Exit ;
        End;
        SQL.Close;
        SQL.SQL.Clear;
        SQL.SQL.Add('INSERT INTO tFlowData ');
        SQL.SQL.Add('(cFlowName, cFlowMemo)');
        SQL.SQL.Add('VALUES ('''+ FlowName_TE.Text +''','''+ FlowMemo_TE.Text +''')');
        SQL.ExecSQL;
        FlowData.Close;
        FlowData.Open;
    End Else IF FlowCourse_PC.ActivePage = Course_TS Then
    Begin
        CourseNo_SE.Enabled       := False ;
        CourseName_TE.Enabled     := False ;
        Dept_CBB.Enabled          := False ;
        Person_CBB.Enabled        := False ;
        CourseMemo_TE.Enabled     := False ;
        IF (CourseName_TE.Text = '') OR (Dept_CBB.Text = '') OR (Person_CBB.Text = '') OR (CourseMemo_TE.Text = '') Then
        Begin
            Showmessage('资料填写不完整,请重新输入');
            Exit ;
        End;
        SQL.Close;
        SQL.SQL.Clear;
        SQL.SQL.Add('INSERT INTO tFlowCourseItem ');
        SQL.SQL.Add('(ID, CourseID, cCourseName, cPerson, cDeptNo, cCourseMemo)');
        SQL.SQL.Add('VALUES ('''+ FlowData.Fields[0].AsString +''','+ IntTOStr(CourseNo_SE.Value) +','''+ CourseName_TE.Text +''','''+ Person_CBB.Text +''','''+ Dept_CBB.Text +''','''+ CourseMemo_TE.Text +''')');
        SQL.ExecSQL;
        CourseData.Close;
        CourseData.Open;
    End;
    BtnAdd.Enabled            := True ;
    BtnEdit.Enabled           := True ;
    BtnDelete.Enabled         := True ;
    BtnSave.Enabled           := False ;
    BtnRefresh.Enabled        := False ;


end;

procedure TFlowCourseForm.dxDBGrid1Click(Sender: TObject);
begin
    FlowCourse_PC.ActivePage := Flow_TS;
end;

procedure TFlowCourseForm.dxDBGrid2Click(Sender: TObject);
begin
    FlowCourse_PC.ActivePage := Course_TS;
end;

procedure TFlowCourseForm.DeleteExecute(Sender: TObject);
begin
    IF FlowCourse_PC.ActivePage = Flow_TS Then
    Begin
        IF MessageDlg('提示: '+#13+'是否要删除以下流程的信息:'+#13+#13+ FlowData.Fields[1].AsString +#13,mtInformation,[mbOK,mbCancel],0) = mrOk Then
        Begin
            SQL.Close;
            SQL.SQL.Clear;
            SQL.SQL.Add('DELETE FROM tFlowData ');
            SQL.SQL.Add('WHERE iFlowID = '+ FlowData.Fields[0].AsString +'');
            SQL.ExecSQL;
        End Else Exit ;
        FlowData.Close;
        FlowData.Open;
    End Else IF FlowCourse_PC.ActivePage = Course_TS Then
    Begin
        IF MessageDlg('提示: '+#13+'是否要删除以下子进程的信息:'+#13+#13+ CourseData.Fields[3].AsString +#13,mtInformation,[mbOK,mbCancel],0) = mrOk Then
        Begin
            SQL.Close;
            SQL.SQL.Clear;
            SQL.SQL.Add('DELETE FROM tFlowCourseItem ');
            SQL.SQL.Add('WHERE ID = '+ FlowData.Fields[0].AsString +'');
            SQL.SQL.Add('AND CourseID = '+ CourseData.Fields[2].AsString +'');
            SQL.ExecSQL;
        End Else Exit ;
        CourseData.Close;
        CourseData.Open;
    End;
end;

procedure TFlowCourseForm.dxDBGrid1DblClick(Sender: TObject);
begin
    IF MessageDlg('提示: '+#13+'是否要删除以下流程的信息:'+#13+#13+ FlowData.Fields[1].AsString +#13,mtInformation,[mbOK,mbCancel],0) = mrOk Then
    Begin
        SQL.Close;
        SQL.SQL.Clear;
        SQL.SQL.Add('DELETE FROM tFlowData ');
        SQL.SQL.Add('WHERE iFlowID = '+ FlowData.Fields[0].AsString +'');
        SQL.ExecSQL;
    End Else Exit ;
    FlowData.Close;
    FlowData.Open;
end;

procedure TFlowCourseForm.dxDBGrid2DblClick(Sender: TObject);
begin
    IF MessageDlg('提示: '+#13+'是否要删除以下子进程的信息:'+#13+#13+ CourseData.Fields[3].AsString +#13,mtInformation,[mbOK,mbCancel],0) = mrOk Then
    Begin
        SQL.Close;
        SQL.SQL.Clear;
        SQL.SQL.Add('DELETE FROM tFlowCourseItem ');
        SQL.SQL.Add('WHERE AutoID = '+ CourseData.Fields[1].AsString +'');
        SQL.ExecSQL;
    End Else Exit ;
    CourseData.Close;
    CourseData.Open;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?