Ciao a tutti!
Siccome non esiste una sezione per le presentazioni (strano, perchè non la fate?
) lo faccio qui: mi chiamo Massimo, ho 46 anni e mi diletto in programmazione Basic. Ho cominciato nel lontano '89 con un Commodore 16 (sepolto in soffitta e dovrebbe essere ancora funzionante), erano più i reset che facevo che tutto provando cose strane
, poi sono passato al mitico QB 4.5 che uso tuttora ogni tanto, breve puntatina sul VB e da pochi mesi dopo il passaggio da winciof a Debian ho scoperto Gambas, e mi piace parecchio.
Dopo i convenevoli le domande: sto scrivendo una piccola applicazione per segnare e visualizzare i numeri estratti nella tombola, come si fa spesso con i proiettori nelle sagre di paese. Il programma funziona, anche se non l'ho ancora finito, ma vorrei migliorarlo. Per i 90 numeri ho usato le cifre LCD, e per ogni cifra ho scritto la sua routine per gestire il click del mouse (un lavoraccio):
PUBLIC SUB LCD2_MouseDown()
accendi(lcd2)
END
Che a seconda dello stato accende la cifra cambiando il colore di sfondo:
SUB accendi(numero AS lcdnumber)
IF numero.background = &hc0 THEN
numero.Background = &h80ff00
ultimo.value = numero.value
ELSE
numero.Background = &hc0
ultimo.value = 0
ENDIF
END
ultimo serve a far vedere l'ultimo numero estratto.
Inoltre nel menù c'è una opzione per spegnere tutti i numeri accesi in un colpo solo, ma l'unica maniera che mi è venuta in mente è questa roba:
PUBLIC SUB Azzera_Click()
LCD1.background = &hc0
LCD2.background = &hc0
LCD3.background = &hc0
.
.
.
LCD88.background = &hc0
LCD89.background = &hc0
LCD90.background = &hc0
ultimo.value = 0
END
altro lavoraccio.
Vorrei semplificare il tutto, so che c'è la possibilità di riunire tutti gli LCD in un gruppo, ma non mi è ancora chiaro in che maniera operare. Nel VB c'era la possibilità di creare array di controlli ma qui la storia è differente.
Come posso fare per stabilire dentro nel gruppo quale numero è stato cliccato e accenderlo di conseguenza?
Per Azzera_Click ho già in mente una mezza idea, vediamo se funge.
Per ora questo è tutto, ma non preoccupatevi, arriveranno altre domande.