Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
tenho esse sisteminha abaixo de contagem de tempo de serviço e gostaria de subtrair o resultado de 30 ANOS, 00 MES E 00 DIA para ver qto tempo ainda falta para a pessoa aposentar que é 30 anos exatos; Alguem pode me ajudar nessa?
procedure TForm1.BtnSomarClick(Sender: TObject);
Var
Ano, Mes, Dia, Ano1, Mes1, Dia1, Ano2, Mes2, Dia2, AnoA, MesA,
DiaA, TotalB, TotalA, AnoT, MesT, DiaT : Word;
Data1, Data2 :TDateTime;
Resultado : String;
begin
If DateTimePicker1.Date < DateTimePicker2.Date then
begin
Data1 := DateTimePicker1.Date;
Data2 := DateTimePicker2.Date;Data1 := DateTimePicker2.Date;
Data2 := DateTimePicker1.Date;
Resultado := 'Falta ';
end;
DecodeDate(Data1, Ano1, Mes1, Dia1);
DecodeDate(Data2, Ano2, Mes2, Dia2);Dia := Dia2 + 30 - Dia1;
Mes2 := Mes2 - 1;
Ano2 := Ano2 - 1;Dia := Dia2 + 30 - Dia1;
Mes2 := Mes2 - 1;Dia := Dia2 + 30 - Dia1;
Mes2 := Mes2 - 1;Dia := Dia2 + 30 - Dia1;
Mes2 := Mes2 - 1;
end;
end;
end;
end;Mes := Mes2 + 12 - Mes1;
Ano2 := Ano2 - 1;
end;Ano := 0;
end;Resultado := Resultado + IntToStr(Dia) + ' Dias.';
Edit1.Text := (Resultado);
//end {Foi retirado um End daqui, esse end não pode existir aqui}
// AÍ EU ADICIONEI MAIS 3 EDITS E MAIS 2 LABELS E ADICIONEI OS CODIGOS ABAIXO:
if EditAnoA1.Text <> '' then
AnoA := StrToInt(EditAnoA1.Text);
if EditAnoA2.Text <> '' then
AnoA := AnoA + StrToInt(EditAnoA2.Text);
if EditAnoA3.Text <> '' then
AnoA := AnoA + StrToInt(EditAnoA3.Text);
if EditAnoA4.Text <> '' then
AnoA := AnoA + StrToInt(EditAnoA4.Text);
if EditMesA1.Text <> '' then
MesA := StrToInt(EditMesA1.Text);
if EditMesA2.Text <> '' then
MesA := MesA + StrToInt(EditMesA2.Text);
if EditMesA3.Text <> '' then
MesA := MesA + StrToInt(EditMesA3.Text);
if EditMesA4.Text <> '' then
MesA := MesA + StrToInt(EditMesA4.Text);
if EditDiaA1.Text <> '' then
DiaA := StrToInt(EditDiaA1.Text);
if EditDiaA2.Text <> '' then
DiaA := DiaA + StrToInt(EditDiaA2.Text);
if EditDiaA3.Text <> '' then
DiaA := DiaA + StrToInt(EditDiaA3.Text);
if EditDiaA4.Text <> '' then
DiaA := DiaA + StrToInt(EditDiaA4.Text);
TotalB := (AnoA*360) + (MesA*30) + DiaA;
AnoA := TotalB div 360;
MesA := (TotalB - (AnoA*360))div 30;
DiaA := TotalB - ((AnoA*360)+(MesA*30));
//Tempo Averbado é jogado no Edit5
Edit5.Text := IntToStr(AnoA)+ ' Ano(s), ' + IntToStr(MesA) + ' Mês(s), '+ IntToStr(DiaA) + ' Dia(s) ';
totalA := (Ano*360) + (AnoA*360) + (Mes*30) + (MesA*30) + Dia + DiaA;
AnoT := TotalA div 360;
MesT := (TotalA - (AnoT*360))div 30;
DiaT := TotalA - ((Anot*360)+(MesT*30));
//Tempo Atual + Tempo Averbado = Total
Edit6.Text := IntToStr(AnoT)+ ' Ano(s), '+ IntToStr(MesT)+ ' Mês(s), ' + IntToStr(DiaT)+' Dia(s)';
end;Carregando comentários...