Controlar events

En aquest apartat continuarem amb el nostre "Hola món" de manera que introduirem la programació a la defensiva i les estructures condicionals.



Més concretament es pretén donar resposta a les preguntes següents:


  • Què és la programació a la defensiva?
  • Com podem executar una part del programa en funció d'una condició?
  • Què són i per què serveixen els components no visibles?


Continuem amb la nostra app. Anem, ara, a introduir diferents elements per tal de corregir alguns usos no previstos de la nostra app per part de qui l'estigui utilitzant. D'això se'n diu programació a la defensiva.


La primera cosa que detectem és que podem prémer el botó sense que hi hagi cap nom escrit. Això no és el que estava previst, per tant podem verificar que hi ha alguna cosa escrita en el TextBox abans d'executar el programa.


Estructura condicional

Per fer aquesta validació hem d'utilitzar una estructura condicional. Aquesta estructura ens permet decidir si un conjunt d'instruccions s'executa, o no, en funció d'una condició, és a dir, d'una expressió lògica.


Aquesta instrucció la trobarem a la categoria Control i té forma de contenidor obert:



Aquesta estructura condicional ens permet executar un conjunt d'instruccions si s'acompleix una determinada expressió lògica i continuar a continuació amb l'execució del programa.


També es pot donar el cas que necessitem una estructura condicional més complexa on puguem distingir un conjunt d'instruccions que s'ha d'executar si s'acompleix la condició i un altre que s'ha d'executar si no s'acompleix la condició. Per obtenir aquesta estructura ho hem de fer a partir de la que ja tenim:




En el nostre cas, volem que si el TextBox està buit ens avisi, mentre que si no és així executi el programa:



Ara, doncs, només cal que ens avisi de la incidència. Per fer-ho cal un nou component.


Components no visibles

Necessitem un component que ens mostri un avís. Aquest component és el Notifier que podem trobar a la categoria User interface. Aquest component, però, no és un component normal que podem posar a la pantalla i visualitzar-lo, sinó que quan l'arrosseguem queda a la part inferior i no es veurà a la nostra app:



Ara bé, quan l'hem de programar funciona com qualsevol altre component, de manera que utilitzem una de les instruccions que té associades per tal que ens aparegui el missatge d'avís: