Se Puede Hacer Que El Reloj Digital "Timer" Ponerlo En Formato De 12 Horas


Objetivo: Se Puede Hacer Que El Reloj Digital "Timer" Ponerlo En Formato De 12 Horas
hola , como puedo hacer que el "timer" aparesca la hora en formato de 12 horas?

pense que era por la hora que mostraba en la pc en formato de 24 hrs pero no sigue igual

Perfil MP  
Objetivo: Re: Se Puede Hacer Que El Reloj Digital "Timer" Ponerlo En Formato De 12 Horas
Hola metalgearxd

Tienes que usar la función Hour,Minute.

http://gambasdoc.org/help/cat/time?es

Réstale 12 a la hora que te da la función hora en 24h para obtener el formato de 12h.

Usa un valuebox con el tipo Time para obtener las horas, selecciona una hora de la lista, si quieres
practicar con estos valores ,antes de usar directamente la hora. Según como quieras el reloj, tendrás que añadir A.M, P.M,

Saludos

Objetivo: Re: Se Puede Hacer Que El Reloj Digital "Timer" Ponerlo En Formato De 12 Horas
Hola

Según el manual de gambas, con la función Format sería posible hacerlo, siempre que tu lenguaje (el de la máquina, evidentemente) lo soporte.

http://gambasdoc.org/help/cat/userformat?es

AM/PM: Muestra la hora en formato AM o PM de acuerdo a la hora. Fuerza a la hora estar comprendida entre 1 y 12.

la_hora = Format$(Now, "hh:nn AM/PM")


Debería imprimir 02:55 AM, por ejemplo

Pero en el caso de España usando la sentencia anterior, se muestra la hora siempre en formato de 1 a 12, pero la cadena AM ó PM no se muestra porque en nuestro idioma no se usa. Desconozco si para otras variantes del español (hispano) sucederá lo mismo o no.

En caso de que no se muestre, se puede recurrir a una simple comparación de la hora, si es mayor o igual a 12 se muestra PM, en caso contrario AM.

En definitiva, el sufijo AM/PM sólo se muestra en los idiomas que lo soporten. Más info en wikipedia: http://es.wikipedia.org/wiki/Sistema_horario_de_12_horas

Saludos

Perfil MP  
Objetivo: Re: Se Puede Hacer Que El Reloj Digital "Timer" Ponerlo En Formato De 12 Horas
Vaya, me compliqué más.

Hasta hice una función. Funcionaba pero con Format quedara mejor.

Saludos

Objetivo: Re: Se Puede Hacer Que El Reloj Digital "Timer" Ponerlo En Formato De 12 Horas
Shell escribió: [Ver mensaje]
Vaya, me compliqué más.

Hasta hice una función. Funcionaba pero con Format quedara mejor.

Saludos


Gracias a los 2 pero nada yo utilize las 2 formas y nada me sale en formato 24 horas (hora militar)

lo tengo haci :

PUBLIC SUB Timer1_Timer()
timer1.Delay = 1000
etiqueta1.Text = Time(Hour(Now), Minute(Now), Second(Now))
END


y si pongo
Format$(Now, "hh:nn AM/PM")
Format$(Now, "hh:nn AM/PM")
No aparece la hora

última edición por metalgearxd el Domingo, 10 Marzo 2013, 13:07; editado 1 vez
Perfil MP  
Objetivo: Re: Se Puede Hacer Que El Reloj Digital "Timer" Ponerlo En Formato De 12 Horas
metalgearxd escribió: [Ver mensaje]


PUBLIC SUB Timer1_Timer()
timer1.Delay = 1000 '<-- No debería estar aquí
etiqueta1.Text = Time(Hour(Now), Minute(Now), Second(Now))
END


y si pongo
Format$(Now, "hh:nn AM/PM")
No aparece la hora


A ver, dos cosas:

Dentro del evento timer no conviene modificar la propiedad Delay, porque si la cambias desde fuera, volverá a establecerse en cada tick.
Puedes ponerla en el Form_Open o establecerla en las propiedades del Timer1, a la derecha.

Segundo, al no ver el código completo, no puedo saber qué haces mal, pero esto debería funcionar 100%:

PUBLIC SUB Timer1_Timer()

etiqueta1.Text = Format$(Now, "hh:nn AM/PM")

END


Siempre que el Timer esté corriendo, claro. (Propiedad Timer1.Enabled = True, o bien Timer1.Start en el Form_Open).

Saludos

Perfil MP  
Objetivo: Re: Se Puede Hacer Que El Reloj Digital "Timer" Ponerlo En Formato De 12 Horas
metalgearxd escribió: [Ver mensaje]


Gracias a los 2 pero nada yo utilize las 2 formas y nada me sale en formato 24 horas (hora militar)

lo tengo haci :

PUBLIC SUB Timer1_Timer()
timer1.Delay = 1000
etiqueta1.Text = Time(Hour(Now), Minute(Now), Second(Now))
END


y si pongo
Format$(Now, "hh:nn AM/PM")
Format$(Now, "hh:nn AM/PM")
No aparece la hora


Bueno, vayamos por partes:

Primero tienes que saber usar el componente Timer. No puedes poner el retardo dentro
de la rutina del timer. Es fuera.

La propiedad delay le dice cuantas veces se ejecutan las instrucciones que hay dentro del timer.
Por defecto el timer usa un delay (reatrdo) fijo 1000 lo que equivale a 1 segundo.

Mira este ejemplo de reloj que hice hace un tiempo.Usa 24h
Su código es simple.

Private fecha As Date

Public Sub _new()

Me.Title = "RELOJ"
Me.Center
Me.Y = Desktop.Y

End

Public Sub Form_Open()

fecha = Date(Now)
Timer1.Start

End

Public Sub Timer1_Timer()

LCDyear.Text = Year(Now)
LCDMeses.Text = Month(Now)
LCDDias.Text = Day(Now)
LCDHoras.Text = Hour(Now)
LCDMinutos.Text = Minute(Now)
LCDSegundos.Text = Second(Now)

End


Ves que en el metodo _Timer se ejecutan unas instrucciones cada "1 segundo " que es lo que
necesitamos para el reloj.

Bien.Time , ¿ no se usa para poner la hora ?.
Prueba dentro de procedimiento o método Timer , esto:
Vacíalo y escribe.

etiqueta1.Text= Format$(Now, "hh:nn AM/PM")


Tienes que asignar el valor que devuelve la función Format a algo.
En este caso a la propiedad texto de la etiqueta.

Lo que hace es que ves en la etiqueta cada 1 segundo la hora del sistema en formato 12h, pero sin ver si es AM/PM

Aunque tu conozcas un función no quiere decir que no intentes otros métodos, tuyos personales, los compañeros pueden
ayudarte a mejorar esto.No obstante esta en ti como programador, siempre buscar otras soluciones posibles, que ahora
puede que no conocieras.

Tienes que conseguir entender que hace la instrucción, si esta te vale como la escribes, aunque no sea lo que quieras,
que entiendas la instrucción. Siempre inténtalo de las maneras que tu veas posibles.
Cuando preguntes sobre el componente tienes que tener un poco de idea de como funciona.Ve los ejemplos del
editor de gambas, busca en la comunidad.Desarrolla.

A mi me funcionaba la conversión de 24h a 12h pero de una manera mas complicado, pero eso no importa,
lo importante es conseguir lo que quieres hacer.Cuando conozca que hay otras posibilidades, aplícalas,
pregunta.

Tengo la función que con la ayuda de nuestro administrador ha quedado mas reducida (mas optimizada), pero eso
no lo quita merito a lo primero que hice, simplemente en ese momento, no recordaba la instrucción Format.
luego lo aplique y comprendí que era mas fácil.

La programación no es solo usar unas funciones, es creatividad.Experiencia que adquieres con tiempo,
con ayuda de los compañeros, buscando información.Pero lo mas importante es que des tus pasos,
que entiendas que haces, no des palos de ciego.Y si los das, aprende por que la respuesta fue así.

Da tus paso. Vuelve a repasarlo, vuelve a preguntar cuando comprendas mejor el problema y te haga falta.
Aquí estaremos.

Saludos

última edición por Shell el Domingo, 10 Marzo 2013, 14:08; editado 2 veces

Reloj.tar.gz
Descripción:  
Descargar
Nombre del archivo: Reloj.tar.gz
Tamaño: 6.15 KB
Descargado: 39 veces
Reloj.tar.gz
Descripción:  
Descargar
Nombre del archivo: Reloj.tar.gz
Tamaño: 6.15 KB
Descargado: 39 veces
Reloj.tar.gz
Descripción:  
Descargar
Nombre del archivo: Reloj.tar.gz
Tamaño: 6.15 KB
Descargado: 39 veces

Objetivo: Re: Se Puede Hacer Que El Reloj Digital "Timer" Ponerlo En Formato De 12 Horas
Gracias a los 2 me funciono en este formato

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.534s (PHP: -72% SQL: 172%)
Consultas SQL: 49 - Debug off - GZIP Activado