 | |  | | | ¿Quién está en línea? Actualmente hay 50 invitados, 0 miembro(s) conectado(s).
Eres un usuario anónimo. Puedes registrarte aquí | |  | |  |
|  |
 |
|
 |
| |
Cronómetro usando la API GetTickCount
Posted on Saturday, 25 September a las 23:17:35 by galegre
Una clase para crear cronómetros ascendentes y cuentas regresivas en tiempo real que supera las limitaciones del control Timer.
En algunas aplicaciones es necesario controlar el tiempo de una determinada tarea, un procedimiento, y de forma más elaborada en proyectos para control de cybercafés. Básicamente para crear cronómetros se usa el control Timer; sin embargo éste tiene sus limitaciones, como la falta de precisión entre eventos Timer y el contador se detiene al hacer CTRL+ALT+SUPR en Windows 9x, lo que hace que éste control no sea el más adecuado para crear cronómetros en tiempo real. Por ello es recomendable utilizar la API de Windows y esta clase simplifica el uso de la función GetTickCount para la creación de cronómetros de cuenta regresiva y normales.
Código fuente de la clase clsCronómetro:
Option Explicit
'Declaración de la API
Private Declare Function GetTickCount Lib "kernel32" () As Long
'Variables para el control del tiempo
Dim TiempoFinal As Long
Dim TiempoParado As Long
Dim CuandoParó As Long
'Establece una cuenta regresiva, donde
'el argumento "Segundos" es la cantidad de
'segundos que se quiere fijar.
Public Sub EstablecerTiempo(Segundos As Long)
TiempoFinal = QuitarDecimales(GetTickCount / 1000) + Segundos
TiempoParado = 0
End Sub
'Establece una cuenta libre, osea un cronómetro
'común y corriente. Si deseas puedes establecer el
'argumento "TiempoQueHaTranscurrido" para indicar
'desde dónde va a comenzar el cronómetro.
Public Sub EstablecerLibre(Optional TiempoQueHaTranscurrido As Long = 0)
TiempoFinal = QuitarDecimales(GetTickCount / 1000) - TiempoQueHaTranscurrido
TiempoParado = 0
End Sub
'Agrega tiempo a un cronómetro en curso, donde
'"Segundos" es la cantidad de tiempo a agregar.
Public Sub AgregarTiempo(Segundos As Long)
TiempoFinal = QuitarDecimales(TiempoFinal) + Segundos
End Sub
'Utilizar esta función para obtener el tiempo
'en curso de una cuenta regresiva.
Public Function ObtenerTiempo() As Long
ObtenerTiempo = TiempoFinal - QuitarDecimales(GetTickCount / 1000) + TiempoParado
End Function
'Utilizar esta función para obtener el tiempo
'en curso de un cronómetro normal.
Public Function ObtenerTiempoLibre() As Long
ObtenerTiempoLibre = QuitarDecimales(GetTickCount / 1000) - TiempoFinal - TiempoParado
End Function
'Detiene momentaneamente el tiempo de
'un cronómetro en curso.
Public Function CongelarTiempo()
CuandoParó = QuitarDecimales(GetTickCount / 1000)
End Function
'Reanuda el tiempo de un cronómetro en
'curso.
Public Function ReanudarTiempo()
TiempoParado = TiempoParado + QuitarDecimales(GetTickCount / 1000) - CuandoParó
End Function
'Función privada para quitar los decimales que se
'obtienen al llamar a la API GetTickCount.
Private Function QuitarDecimales(ByVal Número) As Long
On Error Resume Next
Dim NúmeroConvertido As String, NúmeroNuevo As String
NúmeroConvertido = Número
If Len(NúmeroConvertido) <> 1 Then
NúmeroNuevo = Left(NúmeroConvertido, InStr(1, NúmeroConvertido, ".") - 1)
If Err.Number = 5 Then NúmeroNuevo = NúmeroConvertido
Else
NúmeroNuevo = NúmeroConvertido
End If
QuitarDecimales = Val(NúmeroNuevo)
End Function
Función FormatoHoras
Adicionalmente a la clase puedes usar esta función para convertir los segundos obtenidos con la función ObtenerTiempo u ObtenerTiempoLibre al formato "hh:mm:ss".
'Función para convertir una cantidad de
'segundos en el formato "hh:mm:ss".
Private Function FormatoHoras(Segundos As Long) As String
Dim Hora As Long, Minuto As Long, Segundo As Long
Dim Tiempo As Single
Tiempo = Segundos
'Separa el tiempo en horas, minutos y segundos
Hora = Int(Tiempo / 3600)
Minuto = Int((Tiempo - Hora * 3600) / 60)
Segundo = Tiempo - Hora * 3600 - Minuto * 60
'Formatea el tiempo como cadena
FormatoHoras = Format(Hora, "00") & ":" & Format(Minuto, "00") & ":" & Format(Segundo, "00")
End Function
|
|
 |
|
 |
| |
 | |  | | | Votos del Artículo Puntuación Promedio: 4.36 votos: 19

| |  | |  |
|
 |
|
 |
| |
|
| | Los comentarios son propiedad de quien los envió. No somos responsables por su contenido. |
|
|
 |
|
 |
 |
|
 |
| |
No se permiten comentarios Anónimos, Regístrese por favor |
|
 |
|
 |
 |
|
 |
| |
Re: Cronómetro usando la API GetTickCount (Puntuación 1) por PABLO el Tuesday, 24 May a las 15:17:21 (Información del Usuario | Enviar un Mensaje) | HOLA SABES PUEDO VER QUE ERES MUY BUENO EN VISUAL BASIC
TENGO QUE REALIZAR UN PROGRAMA PARA LA UNIVERSIDAD, MIRA TENGO QUE CUANDO DE UN CLIC EN UN BOTON ME DE EL TIEMPO EN UN TEXT
BUENO EN TU EJEMPLO DE CRONOMETRO NOSE DONDE PONER CADA CODIGO POR FA AYUDAME TENGO QUE PRESENTAR EN MENOS DE DOS SEMANAS GRACIAS POR TU AYUDA |
|
|
 |
|
 |
 |
|
 |
| |
Re: Cronómetro usando la API GetTickCount (Puntuación 0) por Anonymous el Thursday, 02 June a las 17:59:05 | | yo hize un cronometro en visual basic con el timer para un ciber pero no se como detenerlo y volverlo a correr pero con el mismo tiempo cuando lo detengo y lo corro me suma el tiempo transcurrido |
|
|
 |
|
 |
 |
|
 |
| |
Re: Cronómetro usando la API GetTickCount (Puntuación 1) por gus23hdz el Wednesday, 06 September a las 17:59:11 (Información del Usuario | Enviar un Mensaje) | Muy interesante.
Recien acabo de entrar al mundo de la programació por las materias de la universidad y me interesa mucho. lamentablemente no cuento con editor de Visual en mi casa mas que el editor de excel. Mi pregunta es: Se puede poner en el editor de excel el mismo codigo que se muestra aqui y obtendré los mismos resultados que si lo pongo en el compilador de Visual?
Puede que mi pregunta suene algo tonta y rebuscada pero es que realmente soy novato en esto y agradecería la ayuda de cualquiera que pueda brindarla |
|
|
 |
|
 |
 |
|
 |
| |
Re: Cronómetro usando la API GetTickCount (Puntuación 0) por Anonymous el Friday, 07 October a las 13:19:44 | | Muy buena función |
|
|
 |
|
 |
 |
|
 |
| |
Re: Cronómetro usando la API GetTickCount (Puntuación 0) por Anonymous el Friday, 17 February a las 14:34:24 | esta muy interesante este programa pero quiero consultarle que como puedo aser para camviar la fecha y hora del sistema de window desde un formulario de vb6.0 ,esdesir el proseso contrario que susede con date y now que solo me muestran la fecha y la hora .
quiero cambiar la fecha y la hora desde el formulario para que me actualise la del sistema
|
|
|
 |
|
 |
 |
|
 |
| |
Re: Cronómetro usando la API GetTickCount (Puntuación 0) por Anonymous el Friday, 17 February a las 14:40:05 | esta muy interesante este programa pero quiero consultarle que como puedo aser para camviar la fecha y hora del sistema de window desde un formulario de vb6.0 ,esdesir el proseso contrario que susede con date y now que solo me muestran la fecha y la hora .
quiero cambiar la fecha y la hora desde el formulario para que me actualise la del sistema
mi e-mail es antonioazcarate2004@yahoo.com
|
|
|
 |
|
 |
 |
|
 |
| |
Re: Cronómetro usando la API GetTickCount (Puntuación 1) por jenju302 el Thursday, 29 March a las 07:43:23 (Información del Usuario | Enviar un Mensaje) | | Me parece muy bueno tu codigo fuente pero como hago para poderlo correr en un formulario.Si me puedes ayudar me seria de mucha ayuda. |
|
|
 |
|
 |
 |
|
 |
| |
Re: Cronómetro usando la API GetTickCount (Puntuación 1) por da_vidzs el Tuesday, 11 March a las 00:25:42 (Información del Usuario | Enviar un Mensaje) | muy bueno pero no se donde va que, es decir cual es text o label o que??
gracias por la info |
|
|
 |
|
 |
 |
|
 |
| |
Moncler Down Jackets (Puntuación 1) por afra99 el Monday, 16 January a las 19:22:43 (Información del Usuario | Enviar un Mensaje) | | Get close with our popular Discount Moncler Jackets [www.newmoncler-officialwebsite.com],you will find lots of amazing about these excellent Moncler Down Jackets [www.newmoncler-officialwebsite.com].Everyone has the right to fight for what you want,i think you absolutely would be interested with our New Moncler Jackets [www.newmoncler-officialwebsite.com],which are lauched on Moncler Online Store [www.newmoncler-officialwebsite.com].There is nothing can be hesitate for you to buy a piece of such gorgeous New Moncler Coats [www.newmoncler-officialwebsite.com].Buy some pieces of Moncler Down Coats [www.newmoncler-officialwebsite.com],you will go through with the wonderful daily time. |
|
|
 |
|
 |
 |
|
 |
| |
canada goose parka online shop (Puntuación 1) por teng123 el Tuesday, 20 December a las 04:15:12 (Información del Usuario | Enviar un Mensaje) | | The Women's Expedition Parka was developed as a nod to the styling and needs of post war bush pilots in Canada’s north. At a time and in places where pilots performed their own aircraft maintenance on desolate, wind-blown Arctic runways, durability, warmth and mobility were vital if not at times, life saving. The iconic coyote fur ruff that surrounds the hood of the Canada Goose Men's Parkas ensured they wouldn’t be frostbitten while working on their crafts and the premium Canadian down insulation took care of maintaining core temperatures. The success of this iconic canada goose jackets [www.canadagoose-jackets-online.com"] is evidenced by the fact that canada goose down jackets [www.canadagoose-jackets-online.com"] are still worn by northern pilots today and can be seen on TV shows like Ice Pilots. |
|
|
 |
|
 |
 |
|
 |
| |
moncler online (Puntuación 1) por afra99 el Friday, 16 December a las 02:22:51 (Información del Usuario | Enviar un Mensaje) | | These discounted moncler coats [www.downjackets-cheapsale.com] are elegant design for women, the colors are so attractive, I think women are all love doudoune moncler [www.downjackets-cheapsale.com] such things. Visit our moncler online [www.downjackets-cheapsale.com] and take one surprises go home. Trust me, you will be have a wonderful moncler jackets [www.downjackets-cheapsale.com] and warm winter this year. If you want to know more information about discount moncler jackets [www.downjackets-cheapsale.com], please come to our online shop now. Here besides mocler down jackets [www.downjackets-cheapsale.com], other styles products are also very stylish and unique. |
|
|
 |
|
 |
 |
|
 |
| |
monclers online (Puntuación 1) por afra99 el Friday, 16 December a las 02:22:48 (Información del Usuario | Enviar un Mensaje) | | Let me share these stylish cheap down jackets [www.monclersjackets4sale.com] with you. These sweaters can be worn by all men to attend all kinds of moncler jackets [www.monclersjackets4sale.com] occasions.So wherever you go, wear these moncler vest [www.monclersjackets4sale.com] sweater should be perfect. Now, our monclers online [www.monclersjackets4sale.com] online shop will sale all products with the biggest discount moncler outlet [www.monclersjackets4sale.com]. The high quality and stylish design will let you rest assure to moncler wiki [www.monclersjackets4sale.com] purchase. |
|
|
 |
|
 |
 |
|
 |
| |
canada goose jakke (Puntuación 1) por canadagoose el Tuesday, 01 November a las 03:27:13 (Información del Usuario | Enviar un Mensaje) | Canada Goose [www.canadagoosejakke2012.net] parka clothes, using a excellent brand name clothes, which was founded in Canada. Canada Goose Jakke [www.canadagoosejakke2012.net] within of the outfits latest market in winter.These design jacket to preserve the look at of person.All the people love this brand and would like to choose it as their must-have item in winter. If you are not so considerably concerned about style, you can opt for normal winter coats that give warmth. Like Canada Goose Kvinders [www.canadagoosejakke2012.net] and Canada Goose Mænd [www.canadagoosejakke2012.net].
New Style belstaff [www.belstaff-sito-ufficiale.com] sale online, Authentic belstaff outlet [www.belstaff-outlet.de] store,Discount Belstaff Jacktets, Sale Belstaff Jackets, Belstaff coats, Belstaff bags and so on with free shipping. |
|
|
 |
|
 |
|