Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   restar tiempos (https://www.clubdelphi.com/foros/showthread.php?t=72804)

Nostradonuts 12-03-2011 18:55:14

restar tiempos
 
hola a todos.

tengo un pequeño problema, en una aplicación que estoy haciendo. Tengo un Edit1 en el cual quiero poner una fecha y una hora, por ejemplo con este formato: 'dd/mm/yyyy, hh:mm:ss', y en un edit2 quiero poner una hora con el siguiente formato: 'hh:mm:ss'. Despues en un Panel1 quiero que me reste el Edit1 del Edit2.

Para explicarme un poco mejor. Tengo un proceso, que por ejemplo, quiero que termine el dia 23/03/2011 a las 15:00 (Edit1), dicho proceso dura un tiempo determinado, por ejemplo: 16:38:00 (Edit2), lo que quiero es que el programa me diga a que hora deberia empezar el proceso, para que finalice en el dia y hora marcados en el Edit1.

he provado distantas formas, lo ultimo que e probado es lo siguiente:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 n1, resta: TdateTime;
 n2 : TTime;
begin
  n1:= StrToDate (edit1.text);
  n2:= StrToTime (edit2.text);
  resta:= n1 - n2;
  panel1.Caption:= formatDateTime ('dd/mm/yyyy, hh:mm:ss', (resta));
end;

... pero siempre me da error en el formato que le ponga en el edit1.:confused:

Gracias por vuesra antencion y ayuda.

ecfisa 13-03-2011 00:25:44

Hola Nostradonuts.

Si el proceso no supera las 23hs 59min 59seg, podrías hacer:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Ini,Fin: TDateTime;
begin
  LongTimeFormat:='hh:mm:ss';      // formato 24hs 
  (* valores ejemplo de prueba *)
  Edit1.Text:= '12/03/2011 12:00:00';
  Edit2.Text:= '12:30:00';

  Fin:= StrToDateTime(Edit1.Text); // fin del proceso
  Ini:= StrToTime(Edit2.Text);     // tiempo de duración
  ShowMessage(FormatDateTime('"La aplicación debe comenzar el" ' +
                             'dd/mm/yyy "a las "hh:mm:ss', Fin-Ini));

end;

Un saludo.

Nostradonuts 15-04-2011 20:09:48

gracias, me ha ido muy bien.


La franja horaria es GMT +2. Ahora son las 12:06:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi