FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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); 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. |
#2
|
|||
|
|||
Queria decir al pasarlo a un integer
|
#3
|
|||
|
|||
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::.:. |
#4
|
||||
|
||||
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. |
#5
|
|||
|
|||
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 !!! |
#6
|
|||
|
|||
Si mezclamos algunas de estas ideas que te parece ...
NumeroHoras := StrToInt(FormatDateTime('h', Time)); todos los caminos llevan a roma jeje |
#7
|
|||
|
|||
Gracias a todos
|
|
|
|