Vai al contenuto

Gli eventi

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

  1. si assegna a ogni evento che si vuole controllare il nome di una Sub specifica
  2. 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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.