Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-05-2003
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
Trabajar con cadenas

Hola a todos, mi duda es la siguiente, tiene que ver con una duda que os comente hace unos dias sobre fechas y horas.

El asunto es el siguiente yo obtengo la diferencia de horas entre una fecha y me devuelve un resultado de tipo TTime, el que posteriormente lo paso a un string.

Bueno aqui tengo el problema es que, los resultados desde 0 horas a 9 horas los devuelve del asi

9:15:00


Mientras que los que son de 10 horas a 24 horas los devuelve asi

19:25:00


El asunto es que a mi solo me interesa el valor de la hora por eso utilizaba esta función

Código:
  EditHoras.Text:=TimeToStr(horastotal);

  EDitHoras.Text:=Copy(EditHoras.Text,1,2);
  Horas:=StrToInt(EditHoras.Text);
y asi trabajaba con enteros bueno para horas de 10 a 24 funciona bien. El asunto es que para horas de 0 a 9
yo creia que devolvia los resultados de la forma 09:15:00 para lo cual la función me servía.

Pero de esta forma 9:15:00

El resultado es 9: y evidentemente al pasarlo a un string me da un error. Como puedo descartar el segundo carácter si se tratan del caracter ':'

Muchas gracias.
Responder Con Cita
  #2  
Antiguo 22-05-2003
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
Queria decir al pasarlo a un integer
Responder Con Cita
  #3  
Antiguo 22-05-2003
FRANKER FRANKER is offline
Miembro
 
Registrado: may 2003
Ubicación: Elche
Posts: 71
Poder: 21
FRANKER Va por buen camino
Puedes usar la Procedure DecodeTime.
Sacado de la Ayuda de Delphi5:

This example uses a button and two labels on a form. When the user clicks the button, the current date and time are reported in the captions of the two labels.
Código:
procedure TForm1.Button1Click(Sender: TObject);

var
  Present: TDateTime;
  Year, Month, Day, Hour, Min, Sec, MSec: Word;
 begin
  Present:= Now;
  DecodeDate(Present, Year, Month, Day);
  Label1.Caption := 'Today is Day ' + IntToStr(Day) + ' of Month '
    + IntToStr(Month) + ' of Year ' + IntToStr(Year);
  DecodeTime(Present, Hour, Min, Sec, MSec);
  Label2.Caption := 'The time is Minute ' + IntToStr(Min) + ' of Hour '
    + IntToStr(Hour);
end;
__________________
.:.::FRANKER::.:.
Responder Con Cita
  #4  
Antiguo 22-05-2003
Avatar de JavierB
JavierB JavierB is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 99
Poder: 21
JavierB Va por buen camino
Hola, judoboy.

Esto te puede servir:

Cadena:=FormatDateTime('hh:nn:ss',Time);

Saludos,
__________________
Lo importante no es saber, sino tener el e-mail del que sabe.
Responder Con Cita
  #5  
Antiguo 23-05-2003
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
Pasar el valor time que tienes a un string para despues pasarlo a entero es redundante. Haces asi un monton de operaciones de mas.

Una forma mucho mas sencilla y rapida de hacerlo:

NumeroHoras:= Trunc(time * 24 );

Salud2 !!!
Responder Con Cita
  #6  
Antiguo 24-05-2003
bitERROR bitERROR is offline
No confirmado
 
Registrado: may 2003
Posts: 33
Poder: 0
bitERROR Va por buen camino
Si mezclamos algunas de estas ideas que te parece ...

NumeroHoras := StrToInt(FormatDateTime('h', Time));

todos los caminos llevan a roma jeje
Responder Con Cita
  #7  
Antiguo 26-05-2003
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
Gracias a todos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:57:25.


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
Copyright 1996-2007 Club Delphi