Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Restar Horas/Minutos/Segundos en C++ (https://www.clubdelphi.com/foros/showthread.php?t=78054)

LuisMiguel 15-03-2012 22:11:08

Restar Horas/Minutos/Segundos en C++
 
Saludos a todos
Quisiera saber si hay metodo efectivo y menos complejo de poner restar 2 horas diferentes con sus minutos y segundos, ya que de la forma que lo he realice no ha sido la mas optima.

Ejemplo: Tengo 2 MaskEdit en las cuales introduzco una hora determina con el siguiente formato:hh:mm:ss, suponiendo que el valor que introduzca en cada MaskEdit sea:
14:47:58
07:45:10
---------
07:02:48 Este es el resultado que deseo obtener

La forma que resolvi el problema fue la siguiente:
Con el metodo SubString obtuve los datos que necesitaba desde la posicion 0 hasta la 2, en este caso para la hora,lo mismo hice para los minutos y segundos, pero como ven es muy engorroso y nada optimo.

Código:

String LLegada= MaskEdit1->Text;
  String HoraLLegada = LLegada.SubString(0,2);


_cero_ 15-03-2012 22:59:18

Y que no te sirve el operador “-”?
Por ejemplo para restar dos horas y mostrar el resultado (02:01:00 a.m.), seria algo así:
Código:

    TTime hor = EncodeTime( 7, 22, 00, 00 );
    TTime hor2 = EncodeTime( 5, 21, 00, 00 );

    ShowMessage( ( hor - hor2 ).TimeString() );

Pd. En lugar de TMaskEdit usa el TDateTimePicker con su propiedad Kind = dtkTime y solo restas su propiedad Time.

LuisMiguel 15-03-2012 23:38:42

Excelente amigo, muchas gracias, funciona a la perfección!!.


La franja horaria es GMT +2. Ahora son las 17:53:09.

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