Ver Mensaje Individual
  #1  
Antiguo 24-05-2007
Avatar de Goyo
Goyo Goyo is offline
Miembro
 
Registrado: feb 2006
Posts: 89
Reputación: 19
Goyo Va por buen camino
Question sumar dias una fecha dada

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
 //    DBDateTimeEditEh1.Enabled:=True;
     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.
Responder Con Cita