Da Wikipedia
La programmazione a eventi è un paradigma di programmazione dell’informatica.
Mentre in un programma tradizionale l’esecuzione delle istruzioni segue percorsi fissi, che si ramificano soltanto in punti ben determinati predefiniti dal programmatore, nei programmi scritti utilizzando la tecnica a eventi il flusso del programma è largamente determinato dal verificarsi di eventi esterni.Invece di aspettare che un’istruzione impartisca al programma il comando di elaborare una certa informazione, il sistema è predisposto per eseguire all’infinito un loop di istruzioni all’interno del quale vi sono istruzioni che verificano continuamente la comparsa delle informazioni da elaborare (come la pressione di un tasto del mouse o della tastiera), e quindi lanciare l’esecuzione della parte di programma scritta appositamente per gestire l’evento in questione.
Programmare “a eventi” vuol dire, quindi, ridefinire in modo personalizzato le azioni “di default” con cui il sistema risponde al verificarsi di un certo evento.I programmi che utilizzano la programmazione a eventi (denominati spesso “programmi event-driven”) sono composti tipicamente da diversi brevi sotto-programmi che sono eseguiti in risposta agli eventi esterni.
I programmi dotati di interfaccia grafica sono tipicamente realizzati secondo l’approccio event-driven. I sistemi operativi sono un altro classico esempio di programmi event-driven su almeno due livelli.
Per gestire gli eventi
- si assegna a ogni evento che si vuole controllare il nome di una Sub specifica
- si realizzano le singole Sub
GraphicsWindow.KeyDown=TastoAbbassato GraphicsWindow.KeyUp =TastoAlzato '------------------------------------ Sub TastoAbbassato ch=GraphicsWindow.LastKey ... EndSub '------------------------------------ Sub TastoAlzato ... EndSub '------------------------------------
Ecco l’elenco degli eventi disponibili in Small Basic (in alcuni casi dovrai interrogare alcune proprietà per approfondire…)
Cosa è appena successo? | Cosa posso sapere di più? | |
Un qualsiasi controllo Button è stato cliccato.
Controls.ButtonClicked |
Qual è il pulsante appena premuto?
x=Controls.LastClickedButton |
|
Un qualsiasi controllo TextBox è stato cliccato.
Controls.TextTyped |
Qual è la casella di testo appena modificata?
x=Controls.LastTypedTextBox Ottieni il testo nella casella di testo t=Controls.GetTextBoxText(x) |
|
Un qualsiasi tasto della tastiera è stato premuto.
GraphicsWindow.KeyDown |
Qual è l’ultimo tasto premuto?
ch=GraphicsWindow.LastKey |
|
Il tasto precedentemente premuto è stato appena rilasciato.
GraphicsWindow.KeyUp |
||
Un tasto del mouse è stato premuto.
GraphicsWindow.MouseDown |
Il pulsante di sinistra del mouse è stato premuto?
Mouse.IsLeftButtonDown Il pulsante di destra del mouse è stato premuto? Mouse.IsRightButtonDown |
|
Il mouse è stato mosso sopra la finestra grafica.
GraphicsWindow.MouseMove |
La coordinata attuale X del cursore del mouse?
x=GraphicsWindow.MouseX La coordinata attuale Y del cursore del mouse? y=GraphicsWindow.MouseY La coordinata attuale X, rispetto al desktop, del cursore del mouse? x=Mouse.MouseX La coordinata attuale Y, rispetto al desktop, del cursore del mouse? y=Mouse.MouseY |
|
Il tasto precedentemente premuto è stato appena rilasciato.
GraphicsWindow.MouseUp |
||
…
GraphicsWindow.TextInput |
Qual è l’ultimo testo inserito?
t=GraphicsWindow.LastText |
|
L’intervallo di tempo prefissato è appena passato.
Timer.Tick |