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

📄 part_set.pas

📁 delphi的一个开发实例
💻 PAS
字号:
unit Part_Set;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, Buttons, ToolWin, Grids, DBGrids;

type
  Tfrm_Part_Set = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Edit_Name: TLabeledEdit;
    Edit_NO: TLabeledEdit;
    Edit_TEL: TLabeledEdit;
    Edit_Fax: TLabeledEdit;
    Edit_Use: TEdit;
    CheckBox2: TCheckBox;
    Edit_POP: TComboBox;
    Label1: TLabel;
    ToolBar1: TToolBar;
    Cmd_Add: TSpeedButton;
    Cmd_Delete: TSpeedButton;
    Cmd_Edit: TSpeedButton;
    Cmd_Save: TSpeedButton;
    Cmd_Exit: TSpeedButton;
    Edit_Remark: TLabeledEdit;
    GroupBox1: TGroupBox;
    Edit_Company_Name: TLabeledEdit;
    Edit_Company_NO: TLabeledEdit;
    DBGrid1: TDBGrid;
    ListBox1: TListBox;
    SpeedButton1: TSpeedButton;
    procedure FormShow(Sender: TObject);
    procedure Cmd_SaveClick(Sender: TObject);
    procedure Cmd_AddClick(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure ListBox1Click(Sender: TObject);
    procedure Cmd_EditClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_Part_Set: Tfrm_Part_Set;
  temp_company_no:string;//公司代码
implementation

uses func, Data;

{$R *.dfm}

procedure Tfrm_Part_Set.FormShow(Sender: TObject);
var
    i:Integer;

begin
    if Str_Part_Code='Company_Str' then
    begin
        Edit_Company_Name.Text:=Trim(Str_part_Name);
        Edit_Company_NO.Text:=Trim(Str_part_Name);
    end;
    //加载公司名称和代码
    ListBox1.Clear;
    with frm_data.ClientDataSet_Company do
    begin
        Close;
        Commandtext:='';
        Commandtext:='Select Distinct Company_Name from [JB_Company]';
        Open;
        if frm_data.ClientDataSet_Company.RecordCount>0 then
        begin
            while not eof do
            begin
                ListBox1.Items.Add(frm_data.ClientDataSet_Company.FieldByName('Company_Name').AsString);
                next;
            end;
        end;
    end;
    //查询所有部门
    with frm_data.Client_Part_Set do
    begin
        Close;
        commandtext:='';
        Commandtext:='Select Company_Name,Company_NO,Part_NO,Part_name,P_fax,P_TEL,P_property,P_Use_Flag,P_Remark from [V_Company_Part_View]';
        Open;
        if frm_data.Client_Part_Set.RecordCount>0 then
        begin
            frm_data.Data_Part_Set.DataSet:=frm_data.Client_Part_Set;
            frm_data.Data_Part_Set.Enabled:=true;
            DBGrid1.DataSource:=frm_data.Data_Part_Set;
            DBGrid1.Columns[0].Title.caption:='公司名称';
            DBGrid1.Columns[1].Title.caption:='公司代码';
            DBGrid1.Columns[2].Title.caption:='部门代码';
            DBGrid1.Columns[3].Title.caption:='部门名称';
            DBGrid1.Columns[4].Title.caption:='传真号码';
            DBGrid1.Columns[5].Title.caption:='联系电话';
            DBGrid1.Columns[6].Title.caption:='部门属性';
            DBGrid1.Columns[7].Title.caption:='停用标志';
            DBGrid1.Columns[8].Title.caption:='部门说明';
        end;
    end;
end;

procedure Tfrm_Part_Set.Cmd_SaveClick(Sender: TObject);
begin
    if (Trim(Edit_Company_Name.Text)='') or (Trim(Edit_Company_NO.Text)='') then
    begin
        Application.MessageBox('错误操作!【公司名称】不能为空,请确认!',Pchar(Application.Title),MB_ICONWARNing);
        Exit;
    end;
    if (Trim(Edit_Name.Text)='') or (Trim(Edit_NO.Text)='') then
    begin
        Application.MessageBox('错误操作!【部门代码】或【部门名称】不能为空,请确认!',Pchar(Application.Title),MB_ICONWARNing);
        Exit;
    end;
    with frm_data.ClientDataSet_Add do
    begin
        Close;
        CommandText:='';
        CommandText:='Select * from [Part] where Part_name='''+Trim(Edit_name.Text)+''' and Part_No='''+Trim(Edit_No.Text)+''' and Company_NO='''+Trim(Edit_Company_No.Text)+'''';
        Try
            Open;
            if frm_data.ClientDataSet_Add.RecordCount>0 then
            begin
                Application.MessageBox('操作错误!该【部门】在数据表中,已经存在请确认!!',Pchar(Application.Title),MB_ICONWarning);
                Exit;
            end
            else
            begin
                with frm_data.Client_Part_Set do
                begin
                    frm_data.Client_Part_Set.Close;
                    frm_data.Client_Part_Set.Open;
                    frm_data.Client_Part_Set.Insert;
                    frm_data.Client_Part_Set.FieldByName('Company_NO').AsString:=Trim(Edit_Company_NO.Text);
                    frm_data.Client_Part_Set.FieldByName('Part_NO').AsString:=Trim(Edit_NO.Text);
                    frm_data.Client_Part_Set.FieldByName('Part_name').AsString:=Trim(Edit_Name.Text);
                    frm_data.Client_Part_Set.FieldByName('P_fax').AsString:=Trim(Edit_Fax.Text);
                    frm_data.Client_Part_Set.FieldByName('P_TEL').AsString:=Trim(Edit_TEL.Text);
                    frm_data.Client_Part_Set.FieldByName('P_property').AsString:=Trim(Edit_POP.Text);
                    frm_data.Client_Part_Set.FieldByName('P_Use_Flag').AsString:=Trim(Edit_Use.Text);
                    frm_data.Client_Part_Set.FieldByName('P_Remark').AsString:=Trim(Edit_Remark.Text);
                    try
                        frm_data.Client_Part_Set.Post;
                        frm_data.Client_Part_Set.SaveToFile('Client_Part_Set.cds');
                        Application.MessageBox('【部门开设】,添加成功,请确认!',pchar(application.Title),mb_iconwarning);
                    except
                        application.MessageBox('【部门开设】失败,请检查连接网络是否正常或数据格式是否正确,请确认!',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                end
            end;
        except
            Application.MessageBox('系统错误!系统在打开【部门数据表】时出错!',Pchar(Application.Title),MB_ICONWarning);
            Exit;
        end;
    end;
end;

procedure Tfrm_Part_Set.Cmd_AddClick(Sender: TObject);
begin
    Cmd_Add.Enabled:=False;
    Cmd_Edit.Enabled:=False;
    Cmd_Delete.Enabled:=False;
    Cmd_Save.Enabled:=True;
end;

procedure Tfrm_Part_Set.CheckBox2Click(Sender: TObject);
begin
    if CheckBox2.Checked=true then
    begin
        Edit_Use.Text:='是';
    end;
    if CheckBox2.Checked=False then
    begin
        Edit_Use.Text:='否';
    end;
end;

procedure Tfrm_Part_Set.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    frm_data.Client_Part_Set.Active:=False;
    frm_data.Client_Part_Set.Close;
    frm_data.ClientDataSet_Add.Active:=false;
    frm_data.ClientDataSet_Add.Close;
    frm_data.ClientDataSet_Company.Active:=false;
    frm_data.ClientDataSet_Company.Close;
    Action:=Cafree;
end;

procedure Tfrm_Part_Set.DBGrid1CellClick(Column: TColumn);
begin
    Edit_Company_Name.Text:=frm_data.Client_Part_Set.FieldByName('Company_Name').AsString;
    Edit_Company_NO.Text:=frm_data.Client_Part_Set.FieldByName('Company_NO').AsString;
    Edit_Name.Text:=frm_data.Client_Part_Set.FieldByName('Part_name').AsString;
    Edit_NO.Text:=frm_data.Client_Part_Set.FieldByName('Part_NO').AsString;
    Edit_TEL.Text:=frm_data.Client_Part_Set.FieldByName('P_TEL').AsString;
    Edit_Fax.Text:=frm_data.Client_Part_Set.FieldByName('P_fax').AsString;
    Edit_POP.Text:=frm_data.Client_Part_Set.FieldByName('P_property').AsString;
    Edit_Use.Text:=frm_data.Client_Part_Set.FieldByName('P_Use_Flag').AsString;
    Edit_Remark.Text:=frm_data.Client_Part_Set.FieldByName('P_Remark').AsString;
end;

procedure Tfrm_Part_Set.ListBox1Click(Sender: TObject);
begin
    //ListBox1.Items.Move(ListBox1.ItemIndex, 0);
    temp_company_no:='';
    Edit_Company_Name.Text:=ListBox1.Items.Strings[ListBox1.ItemIndex];
    with frm_data.ClientDataSet_Company do
    begin
        Close;
        Commandtext:='';
        Commandtext:='Select Company_No from [JB_Company] where Company_Name='''+Trim(Edit_Company_Name.Text)+'''';
        Open;
        temp_company_no:=frm_data.ClientDataSet_Company.FieldByName('Company_NO').AsString;
        Edit_Company_NO.Text:=temp_company_no;
        with frm_data.Client_Part_Set do
        begin
            Close;
            commandtext:='';
            Commandtext:='Select Company_Name,Company_NO,Part_NO,Part_name,P_fax,P_TEL,P_property,P_Use_Flag,P_Remark from [V_Company_Part_View] where Company_No='''+Trim(temp_company_no)+'''';
            Open;
            if frm_data.Client_Part_Set.RecordCount>0 then
            begin
                frm_data.Data_Part_Set.DataSet:=frm_data.Client_Part_Set;
                frm_data.Data_Part_Set.Enabled:=true;
                DBGrid1.DataSource:=frm_data.Data_Part_Set;
                DBGrid1.Columns[0].Title.caption:='公司名称';
                DBGrid1.Columns[1].Title.caption:='公司代码';
                DBGrid1.Columns[2].Title.caption:='部门代码';
                DBGrid1.Columns[3].Title.caption:='部门名称';
                DBGrid1.Columns[4].Title.caption:='传真号码';
                DBGrid1.Columns[5].Title.caption:='联系电话';
                DBGrid1.Columns[6].Title.caption:='部门属性';
                DBGrid1.Columns[7].Title.caption:='停用标志';
                DBGrid1.Columns[8].Title.caption:='部门说明';
                Edit_Name.Text:=frm_data.Client_Part_Set.FieldByName('Part_name').AsString;
                Edit_NO.Text:=frm_data.Client_Part_Set.FieldByName('Part_NO').AsString;
                Edit_TEL.Text:=frm_data.Client_Part_Set.FieldByName('P_TEL').AsString;
                Edit_Fax.Text:=frm_data.Client_Part_Set.FieldByName('P_fax').AsString;
                Edit_POP.Text:=frm_data.Client_Part_Set.FieldByName('P_property').AsString;
                Edit_Use.Text:=frm_data.Client_Part_Set.FieldByName('P_Use_Flag').AsString;
                Edit_Remark.Text:=frm_data.Client_Part_Set.FieldByName('P_Remark').AsString;
            end
            else
            begin
                frm_data.Data_Part_Set.Enabled:=False;
                Edit_Name.Text:='';
                Edit_NO.Text:='';
                Edit_TEL.Text:='';
                Edit_Fax.Text:='';
                Edit_POP.Text:='';
                Edit_Use.Text:='';
                Edit_Remark.Text:='';
            end;
        end;
    end;
end;

procedure Tfrm_Part_Set.Cmd_EditClick(Sender: TObject);
begin
    if (Trim(Edit_Company_Name.Text)='') or (Trim(Edit_Company_NO.Text)='') then
    begin
        Application.MessageBox('错误操作!【公司名称】不能为空,请确认!',Pchar(Application.Title),MB_ICONWARNing);
        Exit;
    end;
    if (Trim(Edit_Name.Text)='') or (Trim(Edit_NO.Text)='') then
    begin
        Application.MessageBox('错误操作!【部门代码】或【部门名称】不能为空,请确认!',Pchar(Application.Title),MB_ICONWARNing);
        Exit;
    end;
    if application.MessageBox('确定需要修改该部门的信息吗?请确认!',Pchar(Application.Title),Mb_Okcancel)=idok then
    begin
        with frm_data.ClientDataSet_Add do
        begin
            Close;
            CommandText:='';
            CommandText:='Select * from [Part]';
            Try
                Open;
                with frm_data.Client_Part_Set do
                begin
                    frm_data.Client_Part_Set.Close;
                    frm_data.Client_Part_Set.Open;
                    frm_data.Client_Part_Set.Edit;
                    frm_data.Client_Part_Set.FieldByName('Company_NO').AsString:=Trim(Edit_Company_NO.Text);
                    frm_data.Client_Part_Set.FieldByName('Part_NO').AsString:=Trim(Edit_NO.Text);
                    frm_data.Client_Part_Set.FieldByName('Part_name').AsString:=Trim(Edit_Name.Text);
                    frm_data.Client_Part_Set.FieldByName('P_fax').AsString:=Trim(Edit_Fax.Text);
                    frm_data.Client_Part_Set.FieldByName('P_TEL').AsString:=Trim(Edit_TEL.Text);
                    frm_data.Client_Part_Set.FieldByName('P_property').AsString:=Trim(Edit_POP.Text);
                    frm_data.Client_Part_Set.FieldByName('P_Use_Flag').AsString:=Trim(Edit_Use.Text);
                    frm_data.Client_Part_Set.FieldByName('P_Remark').AsString:=Trim(Edit_Remark.Text);
                    try
                        frm_data.Client_Part_Set.Post;
                        frm_data.Client_Part_Set.SaveToFile('Client_Part_Set.cds');
                        Application.MessageBox('【部门开设】,添加成功,请确认!',pchar(application.Title),mb_iconwarning);
                    except
                        application.MessageBox('【部门开设】失败,请检查连接网络是否正常或数据格式是否正确,请确认!',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                end;
            except
                application.MessageBox('在打开【部门】数据表时失败,请检查连接网络是否正常或数据格式是否正确,请确认!',pchar(application.Title),mb_iconwarning);
                Exit;
            end;
        end;
    end;
end;

procedure Tfrm_Part_Set.SpeedButton1Click(Sender: TObject);
begin
    with frm_data.Client_Part_Set do
    begin
        try
            frm_data.Client_Part_Set.open;
            frm_data.Client_Part_Set.ApplyUpdates(-1);
        except
            Application.MessageBox('系统错误,系统在提交【部门信息】数据库更新时出错!',Pchar(Application.Title),MB_ICONWarning);
            Exit;
        end;
    end;
    Close;
end;

end.

⌨️ 快捷键说明

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