Fórum Somar anos meses e dias #442663

11/05/2013

0

tempo uma aplicação de contagem de tempo de serviço na minha empresa com os seguinte codigos:
o codigo completo é esse?

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Mask, ExtCtrls, jpeg;

type
TForm1 = class(TForm)
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
BitBtn3: TBitBtn;
Label2: TLabel;
Label3: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
Var
Ano, Mes, Dia, Ano1, Mes1, Dia1, Ano2, Mes2, Dia2 : Word;
Data1, Data2 :TdateTime;
Resultado : String;
begin
If StrToDate(MaskEdit1.Text) < StrToDate(MaskEdit2.Text) then
begin
Data1 := StrToDate(MaskEdit1.Text);
Data2 := StrToDate(MaskEdit2.Text);
end
else
begin
Data1 := StrToDate(MaskEdit2.Text);
Data2 := StrToDate(MaskEdit1.Text);
Resultado := 'Falta ';
end;
DecodeDate(Data1, Ano1, Mes1, Dia1);
DecodeDate(Data2, Ano2, Mes2, Dia2);
if Dia2 >= Dia1 Then
begin
Dia := Dia2 - Dia1;
end
else
begin
If Mes2 = 1 then
begin
Dia := Dia2 + 31 - Dia1;
Mes2 := Mes2 - 1;
Ano2 := Ano2 - 1;
end
else
begin
If Mes2 = 3 then
begin
Dia := Dia2 + 28 - Dia1;
Mes2 := Mes2 - 1;
end
else
begin
If (Mes2 = 5) or (Mes2 = 7) or (Mes2 = 10) or (Mes2 = 12) then
begin
Dia := Dia2 + 30 - Dia1;
Mes2 := Mes2 - 1;
end
else
begin
Dia := Dia2 + 31 - Dia1;
Mes2 := Mes2 - 1;
end;
end;
end;
end;
If Mes2 >= Mes1 then
begin
Mes := Mes2 - Mes1;
end
else
begin
Mes := Mes2 + 12 - Mes1;
Ano2 := Ano2 - 1;
end;
If Ano2 >= Ano1 then
begin
Ano := Ano2 - Ano1;
end
else
begin
Ano := 0;
end;
If Ano < 2 then
Resultado := Resultado + IntToStr(Ano) + ' Ano, '
else
Resultado := Resultado + IntToStr(Ano) + ' Anos, ';
If Mes < 2 then
Resultado := Resultado + IntToStr(Mes) + ' Mes, '
else
Resultado := Resultado + IntToStr(Mes) + ' Meses, ';
If Dia < 2 then
Resultado := Resultado + IntToStr(Dia) + ' Dia.'
else
Resultado := Resultado + IntToStr(Dia) + ' Dias.';
Label1.Caption :=(Resultado);
Label1.Visible :=true;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Label1.Visible :=false;
MaskEdit1.Clear;
MaskEdit2.Clear;
MaskEdit1.SetFocus;

end;

procedure TForm1.FormActivate(Sender: TObject);
begin
MaskEdit1.SetFocus;
end;

end.


mais estou precisando de incrementar no sistema a soma de alguns tempo averbados de outras empresas.

como eu faço para somar ao resultado do tempo de serviço na minha empresa os tempos de serviços vindos de outras empresas;

por exemplo o João tem 05 anos 04 meses e 03 dias na minha empresa, agora estou precisando averbar 02 anos 04 meses e 10 dias de outra empresa, como faço essa soma no sistema?
Paulo

Paulo

Responder

Posts

13/05/2013

Leonardo Xavier

Veja se é mais ou menos isso que você queria.

http://www.4shared.com/rar/e_xboa8n/calculoanos.html?
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar