L
lljimo
Unregistered / Unconfirmed
GUEST, unregistred user!
function GetworkAgeInID(const ID:string):Integer ;
//工龄计算var TmpStr:string ;
iYear1,iMonth1,iDay1,iYear2,iMonth2,iDay2:Word ;
begin
try DecodeDate(?????,iYear1,iMonth1,iDay1);
DecodeDate(Date,iYear2,iMonth2,iDay2);
Result:=iYear2-iyear1;
if (iMonth1 >iMonth2 ) then
Dec(Result) else
if (iMonth1=iMonth2)and(iDay1 >iDay2 ) then
Dec(Result) except Result:=0;
end;
end;
这部分是实现部分procedure TFrmbase_rszl.DBEditEh9Exit(Sender: TObject);
//计算工龄部分var TmpStr:string ;
begin
inherited;
if not IsValidDate(TDBEditEh(Sender).Text) then
begin
MsgShow('无效的日期格式!');
TDBEditEh(Sender).SetFocus;
end;
if TDBEditEh(Sender).Text='' then
Exit;
if TDBEditEh(Sender).DataSource.State in [dsinsert,dsedit] then
begin
TmpStr:=TDBEditEh(Sender).Text ;
with AdoQryrszldo
begin
FieldByName('gzgl').Value:= GetworkAgeInID(TmpStr);
FieldByName('gzrq').Value:=DBEditEh9.Text;
end;
end;
end;
我需要在DBEditEh9的控件里输入时间,然后再下一个控件里自动计算出工龄,???位置我曾经用strtodate('DBEditEh9.Text'),可是结果不能计算,说'DBEditEh9.Text'不是时间,请问如何解决
//工龄计算var TmpStr:string ;
iYear1,iMonth1,iDay1,iYear2,iMonth2,iDay2:Word ;
begin
try DecodeDate(?????,iYear1,iMonth1,iDay1);
DecodeDate(Date,iYear2,iMonth2,iDay2);
Result:=iYear2-iyear1;
if (iMonth1 >iMonth2 ) then
Dec(Result) else
if (iMonth1=iMonth2)and(iDay1 >iDay2 ) then
Dec(Result) except Result:=0;
end;
end;
这部分是实现部分procedure TFrmbase_rszl.DBEditEh9Exit(Sender: TObject);
//计算工龄部分var TmpStr:string ;
begin
inherited;
if not IsValidDate(TDBEditEh(Sender).Text) then
begin
MsgShow('无效的日期格式!');
TDBEditEh(Sender).SetFocus;
end;
if TDBEditEh(Sender).Text='' then
Exit;
if TDBEditEh(Sender).DataSource.State in [dsinsert,dsedit] then
begin
TmpStr:=TDBEditEh(Sender).Text ;
with AdoQryrszldo
begin
FieldByName('gzgl').Value:= GetworkAgeInID(TmpStr);
FieldByName('gzrq').Value:=DBEditEh9.Text;
end;
end;
end;
我需要在DBEditEh9的控件里输入时间,然后再下一个控件里自动计算出工龄,???位置我曾经用strtodate('DBEditEh9.Text'),可是结果不能计算,说'DBEditEh9.Text'不是时间,请问如何解决