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

📄 untframeemp.pas

📁 是分布式粮库程序,是采用Delphi实现的
💻 PAS
字号:
unit UntframeEmp;

interface

uses 
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, DBCtrls, StdCtrls, Mask,dmPub,Untpub, ExtDlgs;

type
  TFrameEmp = class(TFrame)
    tblEmp: TTable;
    dedtUserName: TDBEdit;
    DsEmp: TDataSource;
    lblUserName: TLabel;
    lblDptID: TLabel;
    stcEmpDpt: TStaticText;
    lblName: TLabel;
    dedtName: TDBEdit;
    lblSex: TLabel;
    lblBirthday: TLabel;
    dedtBirthday: TDBEdit;
    lblEdu: TLabel;
    dedtEdu: TDBEdit;
    lblNation: TLabel;
    lblRally: TLabel;
    dedtRally: TDBEdit;
    lblStiuation: TLabel;
    lblPolitics: TLabel;
    dedtPolitics: TDBEdit;
    lblHomeAddress: TLabel;
    dedtHomeAddress: TDBEdit;
    lblMobiPhone: TLabel;
    dedtMobiPhone: TDBEdit;
    lblHomePhone: TLabel;
    dedtHomePhone: TDBEdit;
    lblBPNum: TLabel;
    dedtBPNum: TDBEdit;
    lblEmp: TLabel;
    dedtEmp: TDBEdit;
    lblPID: TLabel;
    dedtPID: TDBEdit;
    lblRank: TLabel;
    dedtRank: TDBEdit;
    lblRankDate: TLabel;
    dedtRankDate: TDBEdit;
    lblEmpSDate: TLabel;
    dedtEmpSDate: TDBEdit;
    lblCPA: TLabel;
    dedtCPA: TDBEdit;
    lblEmpEDate: TLabel;
    dedtEmpEDate: TDBEdit;
    lblWorkDate: TLabel;
    dedtWorkDate: TDBEdit;
    lblRSDate: TLabel;
    dedtRSDate: TDBEdit;
    lblProunit: TLabel;
    dedtProunit: TDBEdit;
    lblLeaveDate: TLabel;
    dedtLeaveDate: TDBEdit;
    lblLeaveCause: TLabel;
    dedtLeaveCause: TDBEdit;
    lblMarriay: TLabel;
    dedtMarriay: TDBEdit;
    lblWriteDate: TLabel;
    dedtWriteDate: TDBEdit;
    lblCY: TLabel;
    dedtCY: TDBEdit;
    lblAward: TLabel;
    dedtAward: TDBEdit;
    lblDocPos: TLabel;
    dedtDocPos: TDBEdit;
    lblPhoto: TLabel;
    DBImage1: TDBImage;
    lblMemo: TLabel;
    dmemMemo: TDBMemo;
    tblEmpUserName: TStringField;
    tblEmpDptID: TIntegerField;
    tblEmpName: TStringField;
    tblEmpSex: TStringField;
    tblEmpBirthday: TDateTimeField;
    tblEmpEdu: TStringField;
    tblEmpNation: TStringField;
    tblEmpRally: TStringField;
    tblEmpStiuation: TStringField;
    tblEmpPolitics: TStringField;
    tblEmpHomeAddress: TStringField;
    tblEmpMobiPhone: TStringField;
    tblEmpHomePhone: TStringField;
    tblEmpBPNum: TStringField;
    tblEmpEmp: TStringField;
    tblEmpPID: TStringField;
    tblEmpRank: TStringField;
    tblEmpRankDate: TDateTimeField;
    tblEmpEmpSDate: TDateTimeField;
    tblEmpEmpEDate: TDateTimeField;
    tblEmpCPA: TStringField;
    tblEmpWorkDate: TDateTimeField;
    tblEmpRSDate: TDateTimeField;
    tblEmpProunit: TStringField;
    tblEmpLeaveDate: TDateTimeField;
    tblEmpLeaveCause: TStringField;
    tblEmpMarriay: TStringField;
    tblEmpWriteDate: TDateTimeField;
    tblEmpCY: TStringField;
    tblEmpAward: TStringField;
    tblEmpDocPos: TStringField;
    tblEmpMemo: TStringField;
    dcbxSex: TDBComboBox;
    dcbxNation: TDBComboBox;
    tblEmpPhoto: TBlobField;
    OpenPictureDialog1: TOpenPictureDialog;
    lblHint: TLabel;
    Label1: TLabel;
    dcbxStiuation: TDBComboBox;
    tblEmptag: TIntegerField;
    tblEmpUSER_ID: TIntegerField;
    procedure dedtNameChange(Sender: TObject);
    procedure tblEmpBirthdaySetText(Sender: TField; const Text: String);
    procedure tblEmpBirthdayGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure tblEmpRankDateGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure tblEmpRankDateSetText(Sender: TField; const Text: String);
    procedure tblEmpEmpSDateGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure tblEmpEmpSDateSetText(Sender: TField; const Text: String);
    procedure tblEmpEmpEDateGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure tblEmpEmpEDateSetText(Sender: TField; const Text: String);
    procedure tblEmpWorkDateGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure tblEmpWorkDateSetText(Sender: TField; const Text: String);
    procedure tblEmpRSDateGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure tblEmpRSDateSetText(Sender: TField; const Text: String);
    procedure tblEmpLeaveDateGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure tblEmpLeaveDateSetText(Sender: TField; const Text: String);
    procedure tblEmpWriteDateGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure tblEmpWriteDateSetText(Sender: TField; const Text: String);
    procedure DBImage1DblClick(Sender: TObject);
  private
    { Private declarations }
    procedure DateFieldGetText(Sender: TField; var Text: String);
    function DateFieldSetText(Sender: TField; const Text: String):Boolean;
  public
    { Public declarations }
  end;

implementation
 uses UntDptEmp;
{$R *.DFM}

procedure TFrameEmp.dedtNameChange(Sender: TObject);
begin
 if frmDptEmp.bAdd or frmDptEmp.bEdit then
    frmDptEmp.TreeView1.Selected.Text:=dedtName.Text;
end;

procedure TFrameEmp.tblEmpBirthdaySetText(Sender: TField;
  const Text: String);
begin

 if DateFieldSetText(Sender,Text)=False then
   Abort; {转换不成功日期非法}
end;

procedure TFrameEmp.DateFieldGetText(Sender: TField; var Text: String);

var 
  dDate:TDate;
  wYear,wMonth,wDay:Word;
  aryTestYMD:Array [1..2] of Char;{测试输入掩码用临时数组}
  iYMD:Integer;
begin
  dDate:=Sender.AsDateTime;
  if dDate<>0 then
  begin
    DecodeDate(dDate,wYear,wMonth,wDay);
    {测试输入掩码所包含的格式.}
    aryTestYMD:='年';
    if StrScan(PChar(Sender.EditMask) ,aryTestYMD[1])<>nil then
    iYMD:=1;
    aryTestYMD:='月';
    if StrScan(PChar(Sender.EditMask),aryTestYMD[1])<>nil then
    iYMD:=2;
    aryTestYMD:='日';
    if StrScan(PChar(Sender.EditMask),aryTestYMD[1])<>nil then
    iYMD:=3;
    case iYMD of
      1:{输入掩码为:”yyyy年”的格式.}
      Text:=IntToStr(wYear)+'年';
      2: {输入掩码为:”yyyy年mm月”的格式.}
      Text:=IntToStr(wYear)+'年'+IntToStr(wMonth)+'月';
      3: {输入掩码为:”yyyy年mm月dd日”的格式.}
      Text:=IntToStr(wYear)+'年'+IntToStr(wMonth)+'月'+IntToStr(wDay)+'日';
    else {默认为:”yyyy年mm月dd日”的格式.}
      Text:=IntToStr(wYear)+'年'+IntToStr(wMonth)+'月'+IntToStr(wDay)+'日';
    end;
  end;
end;


function TFrameEmp.DateFieldSetText(Sender: TField; const Text: String):Boolean;
var
  dDate:TDate;
  sYear,sMonth,sDay:String;
  aryTestYMD:Array [1..2] of Char;
  iYMD:Integer;
begin {获得用户输入的日期}
  sYear:=Copy(Text,1,4);
  sMonth:=Copy(Text,7,2);
  SDay:=Copy(Text,11,2);
  if ((sYear='    ') and (sMonth='  ')) and (Sday='  ') then
  begin
    Sender.AsDateTime:=0;
    DateFieldSetText:=True;
    exit;
  end;
{测试输入掩码所包含的格式.}
  aryTestYMD:='年';
  if StrScan(PChar(Sender.EditMask),aryTestYMD[1])<>nil then
  iYMD:=1;
  aryTestYMD:='月';
  if StrScan(PChar(Sender.EditMask),  aryTestYMD[1])<>nil then
  iYMD:=2;
  aryTestYMD:='日';
  if StrScan(PChar(Sender.EditMask),  aryTestYMD[1])<>nil then
  iYMD:=3;
  {利用Try…Except进行输入的日期转换}
  try
   begin
     if (strtoint(syear)<=1900) or (strtoint(syear)>=2050) then
     begin
       Application.MessageBox(PChar(Text+'不是有效的日期!'),'错误',mb_Ok+mb_IconError);
       DateFieldSetText:=False;
       exit;
     end;
     case iYMD of
     1: {输入掩码为:”yyyy年”的格式.}
     begin
       dDate:=StrToDate(sYear+'-01-01');{中文Windows默认的日期格式为:yyyy-mm-dd.下同}
       Sender.AsDateTime:=dDate;
     end;
     2: {输入掩码为:”yyyy年mm月”的格式.}
     begin
       dDate:=StrToDate(sYear+'-'+sMonth+'-01');
       Sender.AsDateTime:=dDate;
     end;
     3: {输入掩码为:”yyyy年mm月dd日”的格式.}
     begin
       dDate:=StrToDate(sYear+'-'+sMonth+'-'+sDay);
       Sender.AsDateTime:=dDate;
     end;
     else {默认为:”yyyy年mm月dd日”的格式.}
       begin
         dDate:=StrToDate(sYear+'-'+sMonth+'-'+sDay);
         Sender.AsDateTime:=dDate;
       end;
     end;
    DateFieldSetText:=True;
  end;
  except
   {日期转换出错}
    begin
      Application.MessageBox(PChar(Text+'不是有效的日期!'),'错误',mb_Ok+mb_IconError);
      DateFieldSetText:=False;
    end;
  end;
end;



procedure TFrameEmp.tblEmpBirthdayGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
   DateFieldGetText(Sender,Text);
end;

procedure TFrameEmp.tblEmpRankDateGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  DateFieldGetText(Sender,Text);
end;

procedure TFrameEmp.tblEmpRankDateSetText(Sender: TField;
  const Text: String);
begin
  if DateFieldSetText(Sender,Text)=False then
  Abort; {转换不成功日期非法}
end;

procedure TFrameEmp.tblEmpEmpSDateGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  DateFieldGetText(Sender,Text);
end;

procedure TFrameEmp.tblEmpEmpSDateSetText(Sender: TField;
  const Text: String);
begin
  if DateFieldSetText(Sender,Text)=False then
  Abort; {转换不成功日期非法}
end;

procedure TFrameEmp.tblEmpEmpEDateGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  DateFieldGetText(Sender,Text);
end;

procedure TFrameEmp.tblEmpEmpEDateSetText(Sender: TField;
  const Text: String);
begin
  if DateFieldSetText(Sender,Text)=False then
  Abort; {转换不成功日期非法}
end;

procedure TFrameEmp.tblEmpWorkDateGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  DateFieldGetText(Sender,Text);
end;

procedure TFrameEmp.tblEmpWorkDateSetText(Sender: TField;
  const Text: String);
begin
   if DateFieldSetText(Sender,Text)=False then
  Abort; {转换不成功日期非法}
end;

procedure TFrameEmp.tblEmpRSDateGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
   DateFieldGetText(Sender,Text);
end;

procedure TFrameEmp.tblEmpRSDateSetText(Sender: TField;
  const Text: String);
begin
  if DateFieldSetText(Sender,Text)=False then
  Abort; {转换不成功日期非法}
end;

procedure TFrameEmp.tblEmpLeaveDateGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  DateFieldGetText(Sender,Text);
end;

procedure TFrameEmp.tblEmpLeaveDateSetText(Sender: TField;
  const Text: String);
begin
   if DateFieldSetText(Sender,Text)=False then
  Abort; {转换不成功日期非法}
end;

procedure TFrameEmp.tblEmpWriteDateGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  DateFieldGetText(Sender,Text);
end;

procedure TFrameEmp.tblEmpWriteDateSetText(Sender: TField;
  const Text: String);
begin
   if DateFieldSetText(Sender,Text)=False then
  Abort; {转换不成功日期非法}
end;

procedure TFrameEmp.DBImage1DblClick(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then 
  DBImage1.Picture.LoadFromFile(OpenPictureDialog1.filename);
  //Application.CreateForm(TfrmImageFind,frmImageFind);
//  frmImageFind.Show;
end;

end.

⌨️ 快捷键说明

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