TODOPIC
Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: gabotronic en 27 de Agosto de 2004, 16:26:00
-
Amigos:
Desde un pic envio 2 datos seguidos cada 2 seg.
PIC ---dato1,dato2----2seg. ----dato1,dato2----2 seg-----VB.
¿Como puedo guardarlos en diferentes variables con el VB?
Es decir llega el primer dato lo guardo en dato1, llega segundo dato lo guardo en dato2.
Gracias de antemano.
-
Ahora no tengo el VB a mano... pero la mejor forma es así:
Te conviene guardar los datos en un arreglo, o sea: Dato(0), Dato(1), Dato(2), Dato(3)...
Para declarar un arreglo se pone: Dim Dato (10) as String.
Esto declara un arreglo de 10 "Datos".
Entonces declarás una variable para un contador: Dim X as Integer.
Hacés:
Dato(x) =MSComm1.Input
X= X + 1
Entonces cada vez que leés guardas el dato y incrementás el contador para pasar al próximo casillero del arreglo la próxima vez.
El problema viene cuando no sabés cuántos datos vas a guardar. Con 10 te vas a quedar corto en poco tiempo. Y no es bueno declarar arreglos de 20000 índices si no sabés si los vas a usar todos, desperdiciás memoria y igual te podés quedar corto...
ENTONCES:
Declarás: Dim Dato () as String.
Esto declara un arreglo DINAMICO. Esto quiere decir que no es fijo y que lo podés "agrandar" a medida que lo necesitás.
Para agrandarlo usás REDIM PRESERVE. Redim cambia el tamaño del arreglo y Preserve es para que guarde los datos que tenés hasta el momento (sinó los borra y empieza un arreglo vacío).
Te quedaría así:
Redim Preserve Dato(x + 1)
Dato(x) =MSComm1.Input
X= X + 1
Este código primero agranda el array una posición más de lo necesario y después guarda en el lugar anterior.
Se debe tener en cuenta que cuando se declara un array, por default, la primera posición es 0.
Cualquier cosa preguntá.
Salu2.
-
Mas claro y practico, imposible. Muchas gracias Colores!!