Necesito saber como sumar dias a una fecha dada, para ello estoy utilizando 3 DBEdit de una tabla de Paradox, la idea es que cuando yo escriba la fecha con un DBDateTimeEditEh1 (DBEdit1) y sumar dias (DBEdit2) y como resultado me de otra fecha ya sumando los dias (DBEdit3).
DBDateTimeEditEh1 es un componente de la libreria EhLib que se asigna directamente a campo de mi Tabla TbEmpleados
Los campos son de tipo String:
FInicioLicencia : String : 10
FTerminoLicencia : String : 10
TotalDiasLicencia: Integer
el codigo que tengo es este:
Código Delphi
[-]
procedure TFormLicencias.TotaldiasLicenciaChange(Sender: TObject);
begin
TerminaLicencia.Text:= FormatDateTime('dd/mm/yyyy', StrToDate(DBDateTimeEditEh1.Text) + StrToInt(TotaldiasLicencia.Text));
end;
de hecho al principio si lo hacia, pero ahora cuando ejecuto mi Aplicacion me manda el siguiente mensaje de error: (si le pongo como comentario a esta linea:
// TerminaLicencia.Text:= FormatDateTime('dd/mm/yyyy', StrToDate(DBDateTimeEditEh1.Text) + StrToInt(TotaldiasLicencia.Text));
se ejecuta bien mi aplicacion.
Cita:
Project PlantillaCAPASEG.exe raised exception class EConvertError with message " / / 'is not a valid date'.
|
y le vuelvo a pulsar ejecutar y me envia el siguiente error:
Cita:
Exception EConvertError in module PlantillaCAPASEG.exe at 0000872A ' / / 'is not a valid date'
|
La idea que tengo es que cuando yo capture todos los datos de los empleados estos se graben casi todos los campos (exepto FInicioLicencia, FTerminoLicencia, TotalDiasLicencia), para que cuando yo entre a dar Licencias (Permisos en el trabajo por X numero de dias), y utilizar un CheckBox al activar se activen los campos solicitados) y en el campo Estatus: sea igual a L (Licencia), A (Activo).
Código Delphi
[-]
procedure TFormLicencias.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
begin
TotaldiasLicencia.Enabled:=True;
IniciaLicencia.Enabled:=True;
TerminaLicencia.Enabled:=True;
dm.TbEmpleados.FieldByName('Estatus').AsString:= 'L';
end
else
begin
dm.TbEmpleados.FieldByName('Estatus').AsString:= 'A';
Totaldiaslicencia.Text:='';
IniciaLicencia.Text:='';
TerminaLicencia.Text:='';
end;
end;
de momento saludos y gracias por su atencion.