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 + -
显示快捷键?