Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

LCDNumber en Visual Basic

Estas en el tema de LCDNumber en Visual Basic en el foro de Visual Basic clásico en Foros del Web. Hola, Me gustaría utilizar un LCDNumber (como en QT) para mi formulario para que me indicara unas lecturas simulando el lector de una máquina, y ...
  #1 (permalink)  
Antiguo 17/03/2010, 05:34
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
LCDNumber en Visual Basic

Hola,

Me gustaría utilizar un LCDNumber (como en QT) para mi formulario para que me indicara unas lecturas simulando el lector de una máquina, y así sea lo más parecido posible ¿Sabéis si existe algun objeto del estilo LCDNumber?

La idea seria algo como esto (tipo de números):
http://gambasdoc.org/image/control/:lcdnumber

Muchas gracias.
  #2 (permalink)  
Antiguo 17/03/2010, 06:03
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: LCDNumber en Visual Basic

Quizá puedas usar un simple Label:

Label1.Font = "Courier"
Label1.FontSize = 24
Label1.BackColor = vbBlack
Label1.ForeColor = vbYellow
Label1.Caption = "0:00:00"

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #3 (permalink)  
Antiguo 17/03/2010, 06:13
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Respuesta: LCDNumber en Visual Basic

Hola

No me suena ningún control de ese tipo, pero no sería más sencillo bajarse una fuente de ese tipo y luego en la propiedad font del text seleccionar esa fuente?

El único posible problema sería a la hora de distribuir el programa, pero igual puedes añadir la fuente en el programa de instalación

--Saludos--
  #4 (permalink)  
Antiguo 17/03/2010, 06:30
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: LCDNumber en Visual Basic

El ejemplo que he puesto muestra unos caracteres parecidos a los que buscas, (aunque he cambiado el color), y la fuente creo que viene por defecto con windows.
Tambien es verdad que puedes encontrar una fuente más parecida en la red.

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #5 (permalink)  
Antiguo 17/03/2010, 08:25
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: LCDNumber en Visual Basic

Había pensado en instalar la letra. Es más, me he instalado una letra llamada "lcd" que la simula a la perfección. El problema que vi es el que comentáis, tener que instalar la letra a los demás ordenadores donde ejecute la aplicación.

De todos modos, gracias por vuestra pronta respuesta.
  #6 (permalink)  
Antiguo 18/03/2010, 02:55
Avatar de XYON126  
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 18 años
Puntos: 0
Respuesta: LCDNumber en Visual Basic

Cita:
Iniciado por negu Ver Mensaje
Hola,

Me gustaría utilizar un LCDNumber (como en QT) para mi formulario para que me indicara unas lecturas simulando el lector de una máquina, y así sea lo más parecido posible ¿Sabéis si existe algun objeto del estilo LCDNumber?

La idea seria algo como esto (tipo de números):
http://gambasdoc.org/image/control/:lcdnumber

Muchas gracias.
Hola!

Creo que esto te servira, mira en esta dirección [URL="http://moratiel.com/visualbasicrelojes.html"]http://moratiel.com/visualbasicrelojes.html[/URL] hay un reloj digital de "Martin Carlsson" es el penultimo, que ha creado un modulo que simula el conometro LCD, colores, fondo, etc. lo tienes que adaptar a tu gusto, lo importante es que te ha creado el codigo (solo los numeros del 0 al 9) pero como base te puede ir fenomenal, el resto imaginación y visión abierta para aplicarlo, como ayuda te puedo decir que la clave esta en la linea de visualización que tiene .:


Código:
Private Sub Timer1_Timer()

   lcdTest.Caption = Time

End Sub
variando el Time por el elemento que quieres visualizar ya lotienes.

Un saludo y espero haberte ayudado
  #7 (permalink)  
Antiguo 19/03/2010, 06:20
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: LCDNumber en Visual Basic

Muy bueno el label LCD ese. Una pena que no admita puntos, comas, etc.

Yo me lo estoy ampliando poco a poco, y aunque la coma y el punto han sido mas o menos faciles, meter todas las letras se está complicando un poco más.

De todas formas, merece la pena el invento.

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #8 (permalink)  
Antiguo 19/03/2010, 07:20
Avatar de XYON126  
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 18 años
Puntos: 0
Respuesta: LCDNumber en Visual Basic

Me alegro que te guste la aplicación pkj, como minimo aunque no es mio el codigo que la aportación sirva para agradecer un 1% de tu ayuda y del resto de gente del foro. Referente a esta aplicacion aunque soy un novato total, creo que rascando y estudiando ese modulo se puede realizar con paciencia y mucho curro todo el abecedario, aunque lo ideal seria en vez de lineas insertar una imagen o un array de pixeles con la forma real del sector del caracter LCD, ¿No existe alguna manera como se hacia en el Basic antiguo (Commodore, Amstrang, etc) de realizar arrays graficos con imagenes de pixeles? si existe seria una solución ideal.

Un saludo
  #9 (permalink)  
Antiguo 19/03/2010, 07:56
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: LCDNumber en Visual Basic

El método de las imágenes sería lo más fácil y cómodo, ya que las puedes dibujar con cualquier programa, pero implica incluir las imágenes con el programa. Este método es algo parecido a como se creaba un caracter en el spectrum, solo que en lugar de 8x8 pixels son 24x14 y se han creado 7 segmentos a base de puntos, mostrando los que necesita cada vez.
El caso es que hay que crear nuevos segmentos para poder crear la M, la X, etc... pero tiene esa ventaja, que los caracteres van incluidos con el codigo y no hacen falta ficheros aparte.

Yo ya he programado (solo mayusculas) todas las letras que se pueden crear con esos segmentos y algunas cosas más, pero aparte tambien he incluido el modo de ajustar el tamaño de las letras y la posibilidad de insertar saltos de línea.
Cuando acabe va a estar muy bien, pero me quedan unos cuantos segmentos por crear, y aunque he simplificado el modo de calcularlo, primero tengo que diseñarlos todos en papel y es lo que mas tiempo imagino que me llevará.

De todas formas lo estoy pasando en grande

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #10 (permalink)  
Antiguo 19/03/2010, 11:39
Avatar de XYON126  
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 18 años
Puntos: 0
Respuesta: LCDNumber en Visual Basic

Hola pkj!

Por lo que comentas veo que donde te frena un poco es en las letras que como la M y la X tienen segmentos inclinados, supongo que ya lo habras tenido en cuenta, de todas maneras por si no se te habia ocurrido, los digitos de los LCD normalmente no estan formados con 7 segmentos sino con 11 los de 1ª generacion que es el STD el incoveniente de los caracteres LCD es que no existen las minusculas debido a que los otros cuatro segmentos forman una X y la letra Q, Ñ, Y, B, D y O ya que cuando las implementaron tuvieron que cambiar la resolución de los mismos para pasar de 11 segmentos a 38 que son los LCD de 2º generación y a partir de aqui ya entro el sistema diginal que era mas practico, desde luego como pasatiempos y reto debe ser una pasada pero nada mas.
Referente a lo de las imagenes como en el Spectrum, etc. ¿Que sentencia es la que lo realiza, se puede hacer con imagenes gif, tif, etc tambien? Si con imagenes se puede hacer yo me las puedo currar para poder aportar algo.

Un saludo
  #11 (permalink)  
Antiguo 19/03/2010, 15:05
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: LCDNumber en Visual Basic

Hombre, no es exáctamente como en el spectrum. Alli creo que se hacía a base de pokes.

Me refería a que es un cuadrado de 25 *15 y vas rellenando cuadritos para crear el dibujo.
Como el LCD es en realidad un picturebox se hace a base de líneas (.Line). Yo no lo había usado, pero no es muy complicado. Coordenadas de inicio, coordenadas de fin y "zasca".

Como el recuadro es grande se puede hacer cualquier letra, el problema es que yo soy más de números que de diseño, y nunca me acaba de gustar como me quedan, pero es lo que hay.

En fin, cuando me canse lo dejo. Total, seguramente nunca lo use...

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #12 (permalink)  
Antiguo 20/03/2010, 02:23
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: LCDNumber en Visual Basic

Hola, he querido unirme al hilo de este tema porque el otro dia casualmente encontré este código que por su procedencia es de suponer que funciona:

Utilizar una fuente temporalmente

Código vb:
Ver original
  1. Declare Function AddFontResource& Lib "gdi32" Alias "AddFontResourceA" (ByVal lpFileName As String)
  2.  
  3. Declare Function RemoveFontResource& Lib "gdi32" Alias "RemoveFontResourceA" (ByVal lpFileName As String)
  4.  
  5. 'Para instalarla (en el Load)
  6. dim retvalue as long
  7. retvalue = AddFontResource("tufuente.ttf")
  8.  
  9. 'Para desinstalarla (en el Unload)
  10. dim retvalue as long
  11. retvalue = RemoveFontResource("tufuente.ttf")

Por si quereis indagar mas sobre APIS y lo desconoceis aquí os dejo el enlace

http://allapi.mentalis.org/agnet/apiguide.shtml
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...

Etiquetas: basic, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:57.