Crystal Report - Cambiar a formato hora

   
Vista:

Cambiar a formato hora

Publicado por Jose (7 intervenciones) el 09/06/2008 08:58:45
Buenos días, ya llevo una semana intentándolo.
El campo hora lo recibo en formato numérico: 730, 1400, 2030, etc,... y lo que quiero es ponerle los ":" entre la hh y mm.

La metodología ya sé cómo pero en crystal report no tengo mucho conocimiento y no sé ni dónde ni cómo ponerlo para que lo haga.

Mi idea es:
'Le añado el cero al valor numérico que cojo del campo hora.
stringVar Uno := "0" & totext({tabla.hora});
'Ahora cojo los 4 primeros valores y me aseguro tener ya la hh y mm.
stringVar Dos := right(Uno,4);
'Cojo las hh
stringVar Tres := right(dos,2);
'Cojo los mm
stringVar Cuatro := left(dos,2);
'Y ahora agrego entre las horas y minutos los ":"
stringVar Cinco := (Cuatro & ":" & Tres);

Esto dónde tendría que ponerlo y cómo finalizarlo para que el programa sepa que el valor del campo hora debe ser esa variable Cinco.???

Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cambiar a formato hora

Publicado por Fran (371 intervenciones) el 11/06/2008 21:52:24
//Si el punto (.) es separador de decimales y la coma(,) de miles
//Crea una formula con sintaxis crystal

stringvar var1:="";
var1:= totext({Tabla.HoraNumerico});
var1:= replace(var1,".00","");
var1:= replace(var1,",","");
Mid (var1,1, len(var1)-2)& ":" & Right (var1,2)

//colocarla en el reporte

//Si lacoma (,) es separador de decimales y el punto(.) de miles
//Crea una formula con sintaxis crystal

stringvar var1:="";
var1:= totext({Tabla.HoraNumerico});
var1:= replace(var1,",00","");
var1:= replace(var1,".","");
Mid (var1,1, len(var1)-2)& ":" & Right (var1,2)

//colocarla en el reporte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cambiar a formato hora

Publicado por JoseM (7 intervenciones) el 12/06/2008 11:55:54
Gracias Fran, estos días modifiqué el campo por diseño para que sacarla ese valor como un entero, ahora es 730 o 1430, pero sigue sin hacerme el formato hora correctamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cambiar a formato hora

Publicado por SARA (1 intervención) el 03/07/2015 19:40:17
Copia esto en una formula y en vez de arrastrar el campo al informe, arrastra la fórmula.


stringVar Hora := ' ';
stringVar HoraTexto := '';
HoraTexto := ToText ({tabla.hora});
if len(HoraTexto) = 13 then
Hora := Mid (HoraTexto, 1, 2) + ":" + Mid (HoraTexto, 4, 2) + ":" + Mid (HoraTexto, 6, 1) + Mid (HoraTexto, 8, 1)
Else if len(HoraTexto)>0 then
Hora := Mid (HoraTexto, 1, 1) + ":" + Mid (HoraTexto, 3, 2) + ":" + Mid (HoraTexto, 5, 1) + Mid (HoraTexto, 7, 1);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar