Estás utilizando un navegador desactualizado. Puede que no muestre este u otros sitios web correctamente Deberías actualizar o utilizar un navegador alternativo.
Hola amigos del corral necesito de su ayuda en Visual Basic 6 el tema es que estoy haciendo el juego del gato o tres en linea o tic-tac toc (diferentes nombres para algunos paises, ya lo tengo casi listo pero necesito colocar un marcador de tiempo para el juego y no se como hacerlo.
Visual basic tiene un control llamado "timer". y lo agregas como si fuera un simple button ó textbox.
Son pocas sus propiedades pero hay una donde le indicas cada cuantos X milisegundos se ejecute el codigo del timer.
aqui te paso el codigo del cronometro, tienes que adaptarlo a tus necesidades, pero te da casi el problema resuelto
OptionExplicit
'Declaración de la API PrivateDeclareFunction GetTickCount Lib"kernel32" () AsLong
'Variables para el control del tiempo Dim TiempoFinal AsLong Dim TiempoParado AsLong Dim CuandoParó AsLong
'Establece una cuenta regresiva, donde 'el argumento "Segundos" es la cantidad de 'segundos que se quiere fijar. PublicSub EstablecerTiempo(Segundos AsLong)
TiempoFinal = QuitarDecimales(GetTickCount / 1000) + Segundos
TiempoParado = 0 EndSub
'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. PublicSub EstablecerLibre(Optional TiempoQueHaTranscurrido AsLong = 0)
TiempoFinal = QuitarDecimales(GetTickCount / 1000) - TiempoQueHaTranscurrido
TiempoParado = 0 EndSub
'Agrega tiempo a un cronómetro en curso, donde '"Segundos" es la cantidad de tiempo a agregar. PublicSub AgregarTiempo(Segundos AsLong)
TiempoFinal = QuitarDecimales(TiempoFinal) + Segundos EndSub
'Utilizar esta función para obtener el tiempo 'en curso de una cuenta regresiva. PublicFunction ObtenerTiempo() AsLong
ObtenerTiempo = TiempoFinal - QuitarDecimales(GetTickCount / 1000) + TiempoParado EndFunction
'Utilizar esta función para obtener el tiempo 'en curso de un cronómetro normal. PublicFunction ObtenerTiempoLibre() AsLong
ObtenerTiempoLibre = QuitarDecimales(GetTickCount / 1000) - TiempoFinal - TiempoParado EndFunction
'Detiene momentaneamente el tiempo de 'un cronómetro en curso. PublicFunction CongelarTiempo()
CuandoParó = QuitarDecimales(GetTickCount / 1000) EndFunction
'Reanuda el tiempo de un cronómetro en 'curso. PublicFunction ReanudarTiempo()
TiempoParado = TiempoParado + QuitarDecimales(GetTickCount / 1000) - CuandoParó EndFunction
'Función privada para quitar los decimales que se 'obtienen al llamar a la API GetTickCount. PrivateFunction QuitarDecimales(ByVal Número) AsLong OnErrorResumeNext Dim NúmeroConvertido AsString, NúmeroNuevo AsString
NúmeroConvertido = Número IfLen(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 EndIf
QuitarDecimales = Val(NúmeroNuevo) EndFunction
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". PrivateFunction FormatoHoras(Segundos AsLong) AsString Dim Hora AsLong, Minuto AsLong, Segundo AsLong Dim Tiempo AsSingle
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") EndFunction