u_adddata.pas

来自「一个电力企业的后台管理程序」· PAS 代码 · 共 415 行 · 第 1/2 页

PAS
415
字号
unit U_AddData;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, ExtCtrls, Buttons, DB;

type
  TFrm_EditData = class(TForm)
    Panel1: TPanel;
    btn_New: TBitBtn;
    btn_Confirm: TBitBtn;
    btn_Cancel: TBitBtn;
    Ntbk_Type: TNotebook;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    edt_OrganName: TEdit;
    DTP_OrganCreate: TDateTimePicker;
    Mm_OrganProp: TMemo;
    Mm_OrganNote: TMemo;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    edt_WorkId: TEdit;
    DTP_PersonCreate: TDateTimePicker;
    Mm_PersonProp: TMemo;
    Mm_PersonNote: TMemo;
    Label9: TLabel;
    edt_PersonName: TEdit;
    Label10: TLabel;
    Cmb_PersonSex: TComboBox;
    Label11: TLabel;
    edt_PersonPass: TEdit;
    Label12: TLabel;
    Edt_Phone1: TEdit;
    Label13: TLabel;
    Edt_Phone2: TEdit;
    Label14: TLabel;
    Edt_Phone3: TEdit;
    Label15: TLabel;
    Label16: TLabel;
    Cmb_AcdGroup: TComboBox;
    Cmb_SkillLevel: TComboBox;
    procedure AddItem(sQstr, sP :String;cYnNew :Char);
    procedure btn_CancelClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btn_NewClick(Sender: TObject);
    procedure btn_ConfirmClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    sEditId :String;
    iItemIndex :Integer;
  end;

var
  Frm_EditData: TFrm_EditData;

implementation

uses U_Gwbj, U_EditLst;

{$R *.DFM}

procedure TFrm_EditData.btn_CancelClick(Sender: TObject);
begin
   Close;
end;

procedure TFrm_EditData.FormShow(Sender: TObject);
begin
   Case Ntbk_Type.PageIndex of   {"0":组织机构;"1":人员设置}
      0:
        begin
           if sEditId ='' then
           Begin
              edt_OrganName.Text :='';  DTP_OrganCreate.DateTime := Now;
              Mm_OrganProp.Clear ;      Mm_OrganNote.Clear ;
              edt_OrganName.SetFocus ;
           end
           else
           Begin
              With Frm_Gwsz.Qry_pub1 do
              begin
                 Close;
                 Sql.Clear;
                  Sql.add('Select * From DFWF_Organ Where OrganName =:p1');
                 ParamByname('p1').AsString := sEditId;
                 Open;
                 if Not IsEmpty then
                 Begin
                    edt_OrganName.Text :=FieldByName('OrganName').AsString;
                    if FieldByName('CreateTime').IsNull then DTP_OrganCreate.DateTime := Now
                    else DTP_OrganCreate.DateTime := FieldByName('CreateTime').AsDateTime;
                    Mm_OrganProp.Text := FieldByName('Property').AsString; ;
                    Mm_OrganNote.Text := FieldByName('Note').AsString; ;
                 end;
                 Close;
              end;
              edt_OrganName.SetFocus ;
           end;
        end;
      1:
        begin
           Frm_Gwsz.CmbAddPerson1(Cmb_AcdGroup,'AcdGroup','GroupID','Note');
           Frm_Gwsz.CmbAddPerson1(Cmb_SkillLevel,'SkillLevel','ID','Note');
           if sEditId ='' then
           Begin
              edt_WorkId.Text :='';
              edt_PersonName.Text :='';    edt_PersonPass.Text :='';
              Cmb_PersonSex.Text :='';     DTP_PersonCreate.DateTime := Now;
              Edt_Phone1.Text :='';  Edt_Phone2.Text :='';
              Edt_Phone3.Text :='';
              Mm_PersonProp.Clear ;   Mm_PersonNote.Clear ;
              edt_WorkId.SetFocus ;
              Cmb_AcdGroup.ItemIndex :=-1; Cmb_SkillLevel.ItemIndex :=-1;
           end
           else
           Begin
              With Frm_Gwsz.Qry_pub1 do
              begin
                 Close;
                 Sql.Clear;
                 Sql.Add('Select * From DFWF_People Where WorkId =:p1');
                 ParamByname('p1').AsString := sEditId;
                 Open;
                 if Not IsEmpty then
                 Begin
                    edt_WorkId.Text := sEditId;
                    edt_PersonName.Text := FieldByName('Name').AsString;
                    edt_PersonPass.Text := FieldByName('PassWord').AsString;
                    if FieldByName('Sex').AsString ='M' then Cmb_PersonSex.Text :='男'
                    else if FieldByName('Sex').AsString ='F' then Cmb_PersonSex.Text :='女'
                    else Cmb_PersonSex.Text :='';
                    if FieldByName('CreateTime').IsNull then DTP_PersonCreate.DateTime := Now
                    else DTP_PersonCreate.DateTime := FieldByName('CreateTime').AsDateTime;
                    Mm_PersonProp.Text := FieldByName('Property').AsString;
                    Mm_PersonNote.Text := FieldByName('Note').AsString;
                    Edt_Phone1.Text := FieldByName('Phone1').AsString;
                    Edt_Phone2.Text :=FieldByName('Phone2').AsString;
                    Edt_Phone3.Text :=FieldByName('Phone3').AsString;
                    Cmb_AcdGroup.ItemIndex := Cmb_AcdGroup.Items.IndexOfName(FieldByName('AcdGroup').AsString);
                    Cmb_SkillLevel.ItemIndex := Cmb_SkillLevel.Items.IndexOfName(FieldByName('SkillLevel').AsString);
                 end;
                Close;
              end;
              edt_WorkId.SetFocus ;
           end;
        end;
   end;
end;

procedure TFrm_EditData.btn_NewClick(Sender: TObject);
begin
    if Ntbk_Type.PageIndex =0 then
    begin
        edt_OrganName.Text :='';  DTP_OrganCreate.DateTime := Now;
        Mm_OrganProp.Clear ;      Mm_OrganNote.Clear ;
        edt_OrganName.SetFocus ;
    end
    else
    begin
       edt_WorkId.Text :='';  edt_PersonPass.Text :='';
       edt_PersonName.Text :='';  Cmb_PersonSex.Text :='';
       Edt_Phone1.Text :='';  Edt_Phone2.Text :='';
       Edt_Phone3.Text :='';
       Mm_PersonProp.Clear ;  Mm_PersonNote.Clear ;
       DTP_PersonCreate.DateTime := Now;
       edt_WorkId.SetFocus ;
       Cmb_AcdGroup.ItemIndex :=-1;   Cmb_SkillLevel.ItemIndex :=-1;
    end;
end;


procedure TFrm_EditData.AddItem(sQstr, sP :String;cYnNew :Char);
var
  iFldCount, ii :Integer;
  ListItem: TListItem;
begin
    With Frm_Gwsz.Qry_pub1 do
    begin
       Close;
       Sql.Clear;
       Sql.Add(sQstr);
       ParamByName('p1').AsString := sp;
       Open;
       iFldCount := FieldCount;
       if cYnNew ='1' then //修改
       begin
          ListItem := Frm_EditLst.lv_phoneline.Items.Item[iItemIndex];
          ListItem.Caption := Fields[0].AsString ;
          For ii :=1 to iFldCount-1 do
              if UpperCase(Fields[ii].FieldName) ='SEX' then
                begin
                    if Fields[ii].AsString='M' then ListItem.SubItems.Strings[ii-1]:='男'
                    else if Fields[ii].AsString='F' then ListItem.SubItems.Strings[ii-1]:='女'
                    else ListItem.SubItems.Strings[ii-1]:='';
                end
                else ListItem.SubItems.Strings[ii-1]:=Fields[ii].AsString;
       end
       else
       begin
           ListItem := Frm_EditLst.lv_phoneline.Items.Add;

⌨️ 快捷键说明

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