Usuario
Matriz de puntos con vb6

Pregunta
-
Hola amigos de la comunidad,
Resulta que quiero homologar una de esas matrices de leds como las que usan para anuncios
publicitarios.Estas estan conformadas por filas y columnas en arreglos de 8x8 leds.
ya la dibuje en vb6, usando chapes, lo que no se es como cargarle las letras y generar el efecto desplazamiento, la letra se la enviaría a la matriz por medio de un button y la escribiria en un textbox para tal fin,, la idea es escribir una frase y que esta se vea en la matriz de chapes, como si se desplasace, hasta leer todas las palabras.
les envio una imagen de lo que me propongo hacer..
Todas las respuestas
-
Te creas una matriz de 8x8 para saber el estado actual de las palabras.
En t1:
seria todo blanco excepto la primera que supongo que seria la última letra de la palabra
desde t2 hasta tf=fin de palabra:
si te estas moviendo en horizontal, copiarias el valor de la casilla uno a la dos y pondrias una nueva letra en la 1
desde tf hasta tn:
tendrías que ir moviendo la palabra siempre teniendo en cuenta el salto de linea
-
Gracias alberto.
No entendi mucho, pues soy novatisimo, sin envargo hasta el momento he logrado rotar uno por uno cada pixel de la matriz, te subo el código a ver si me das una mano..
'*******************************************
Dim a, b, c, d As Integer
Private Sub Command1_Click()
Command1.BackColor = vbRed
With Timer1
.Interval = 300 ' establecer intervalo
.Enabled = True
End With
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
d = 1
Timer1.Enabled = False
'For d = 0 To 7 'para pintar varios chap de la fila
'Shape1(0 + d).FillColor = vbRed
'Next d
End Sub
Private Sub Timer1_Timer()
If a <= 63 Then
Shape1(0 + a).FillColor = vbRed
If c < a Then
Shape1(0 + a - d).FillColor = &HC000& 'aquiresto 1 para rotar un solo chap
End If
'-----------------------------------
If Shape2.FillColor = vbRed Then
Shape2.FillColor = &HC000&
Else
Shape2.FillColor = vbRed
End If
a = a + 1
Text1.Text = a
Text2.Text = d
If a = 64 Then
MsgBox ("Terminado")
Shape1(63).FillColor = &HC000&
'End
End If
End If
End Sub
'************************************ -
-
Gracias alberto8.
te envio una imagen de lo que quiero hacer.
estas letras deben aparecer de derecha a izquierda, se cual fuese la frase escrita y enviada por el textbox.
claro que esta es un prorotipo electronico, la que quiero hacer es en vb6
Espero puedas ayudarme.
-
-
Hola amigo Alberto8.
ya entendi un poco sobre matrices con un videotutorial en youtube.
declarando la matriz de 8x8 en mi caso pero desde cero para ocho filas por ocho columnas
Dim matriz(7, 7) As Single
recorro con un for, he ingreso los datos de una variable.
pero me falta saber cómo le hago para introducir los datos de cada byte que forma la letra, por ejemplo.
esta tabla debo capturarla con el caracter correspondiente y decodificarla en la matriz de shapes.
A=
(00000000,
00111100,
01000010,
01000010,
01111110,
01000010,
01000010,
01000010)
si observamos en forma espacial veremos como se forma la letra a atraves de los 1's.
- Editado WILSON PULIDO domingo, 30 de septiembre de 2012 18:15 errores de letras
-
-
Si lo sé, la idea seria rotarla y que fuera desaparecinedo por el lado izquierdo para dar el efecto de desplazamiento, aunque seria hacerla por lo menos de seis matrices. sea 8x6 para un total de 480 pixeles... pero igual si se logra hacer con una, ya estara la idea para hacerlo mas extenso..
-
No lo he buscado pero de seguro en Javasacript hay varios ejemplos por ahí colgados, lo que te permitiría insertar un control WebBrowser y en éste, una html con el script.
http://ledscroller.modernlifeisrubbish.co.uk/- Editado guarracuco martes, 2 de octubre de 2012 11:06 Agregar referencia
-
-
-
La verdad, no se que lenguaje maneja este codigo, pues al descargarlo, no lo puedo abrir
Umm; recuerden que soy un tanto novato..
Sin envargo, estoy haciendo algunas prácticas enviando por medio de un input box, numeros que seran decodificados en color, en su correspondiente
chape, segun ubicación concordante, para darme una idea de como ir metiendo los arreglos a bytes en cada fila de la matriz
-
-
-
Dim A(1 to 8) as String
LetraA= ("00000000",
"00111100",
"01000010",
"01000010",
"01111110",
"01000010",
"01000010",
"01000010")
Creo que primero tienes que representar todos las letras del abecedario asi como representaste la A... todas las letras y simbolos que quieras que aparezcan en tu "display". La tecla Espacio tambien tiene que ser representada.
Crea un procedimiento para encender o apagar los leds por renglon... algo como:
Public Sub DisplayRow(Byval Estados as String, Byval Row as Integer, Byval ColIni as Integer) Dim A as Integer Dim B as String For A = 0 to Len(Estados)-1 B = Mid$(Estados,A+1,1) If B = "0" Then 'Apagar el Led que se encuentra en la coordenada (Row,ColIni+A) Else 'Encender el Led que se encuentra en la coordenada (Row,ColIni+A) End If Next A End Sub
Para "dibujar" una letra seria:
Public Sub Display1(Letra() as String, Byval ColIni as Integer) Dim A as Integer For A = 1 to 8 DisplayRow Letra(A),A,ColIni Next A End Sub
Primero tienes que dibujar la primera letra del anuncio sin efecto (te aconsejo que la primer letra sea un espacio):
Select Case Mid$(Anuncio,1,1) Case "A": Display1 LetraA,0 Case "B": Display1 LetraB,0 Case "C": Display1 LetraC,0 'etc, etc, etc End Select
Y ahora tienes que hacer un For para leer el anuncio de 2 letras en 2 letras (la letra actual mas la siguiente):
Public Sub EfectoScroll() Dim A as Integer Dim C as String Dim Tiempo as String For A = 1 to Len(Anuncio)-1 C = Mid$(Anuncio,A,2) For B = 0 to -7 Step -1 Select Case Mid$(C,1,1) Case "A": Display1 LetraA,B Case "B": Display1 LetraB,B Case "C": Display1 LetraC,B 'etc, etc, etc End Select Select Case Mid$(C,2,1) Case "A": Display1 LetraA,B+8 Case "B": Display1 LetraB,B+8 Case "C": Display1 LetraC,B+8 'etc, etc, etc End Select For D = 1 to 2 'Esperar 2 segundos Tiempo = Format(Now,"hh:mm:ss") While Format(Now,"hh:mm:ss") = Tiempo Wend Next D Next B Next A End Sub
Este es mi aporte a tu proyecto, y con un poco de ingenio y papel y lapiz, estoy seguro que podras hacer terminar tu proyecto.
Saludos desde Mexico.
EmmaRmz
-