Problema de seleccionar on objeto, en VB

Saludos, estoy aprendiendo VB, así que tengo varias dudas, actualmente estoy desarrollando un pequeño programa, el cual muestra un mapa de un restaurant, y sus mesas, mi idea es que cuando yo seleccione la mesa, con un clic, cambie de color, y quede marcada, para saber que ya fue ocupada, obviamente, cuando yo me salga del programa y regrese debe de dejar cada mesa con su ultimo estatus, ¿esto cómo lo puedo lograr? ¿Necesito manejar un archivo y solo con condicionantes?
Algún ejemplo, por favor.
Saludos

1 respuesta

Respuesta
1
Tienes dos maneras de guardar esos datos, la primera y más aconsejable es crear un archivo de base de datos, en el vas a ir guardando toda la actividad del restaurante, pero te tienes que meter con bases de datos y la programación que ello implica, si vos no necesitas grabar la actividad y solo quieres almacenar el estado actual, para poder salir de programa y al cargarlo recuperar el anterior, lo que tienes que hacer es un archivo sencillo de texto, te doy un ejemplo:
Tenemos 10 mesas, por lo tanto vamos a crear una matriz en el procedimiento general
DIM EstadoMesas(10) as Byte
Luego en el programa vamos a suponer que la mesa ocupada toma al valor 1 y la desocupada el valor 0
Se nos ocupa la mesa 3
Vos por código al hacer click el esa mesa también pondrías:
EstadoMesas(3)=1
si de desocupara pondrias
EstadoMesas(3)=0
asi con todas las mesas, pero tambien llamarias siempre a esta funcion:
esto copialo y pegalo en el form
Private Sub GrabarEstado()
Open "C:\Prueba.sta" For Output As #1
For x = 1 To 10
Print #1, EstadoMesas(x)
Next
Close #1
End Sub
al hacer click sobre una mesa harias esto:
If EstadoMesas(mesa) = 1 then
EstadoMesas(mesa)=0
'aca pondrias el color de libre
Else
EstadoMesas(mesa)=1
'aca pondrias el color ocupado
End If
Call GrabarEstado
de esta anera siempre te graba los dato apenas haces un cambio.
Al cargar el programa harias esto:
esto ponelo en el Loas del formulario principal
On Error Resume Next
Dim Numero As Byte
Numero = 1
Open "C:\Prueba.sta" For Input As #1
Do While Not EOF(1)
Input #1, valor
EstadoMesas(Numero) = valor
Numero = Numero + 1
Loop
Close #1
Con esto lees los datos del archivo y tendrías la matriz con los datos de las mesas, vos tendrías que leer cada una y colocar el color que le corresponde a cada mesa.
Como no se como haces con los dibujos de las mesas y con que cambias de color, no te puedo enviar algo más completo, si quieres dame esos datos y te paso el código.
Cualquier duda estoy a tu disposición, también si quieres base de datos pídeme y te paso una idea de como crearla y trabajarla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas