Corso di Delphi

La prima applicazione (II)

 

Dove eravamo rimasti?

Salve ancora una volta.

Con la nostra applicazione, avevamo sistemato un pannello in basso nella form e poi avevamo aggiunto un Memo, ricordate? Bene, ora procediamo oltre.

Innanzitutto selezionezionate il memo, andate sull’Object Inspector e cercate la proprietà “Align”.
Impostatela ad “alClient”. Ora dovreste aver ottenuto un qualcosa di simile alla fig. 1.


Figura 1

Se così non fosse, potete semplicemente ripercorrere tutti i passi accertandovi di seguire tutte le istruzioni.
Qualora vi dovesse essere ancora qualcosa con cui non vi trovate, potete sempre mandarmi un’email.

Adesso abbiamo qualcosa, ma ancora non è funzionale. Nonostante potremmo, in teoria, già caricare e salvare files da programma, noi vogliamo che sia l’utente del nostro software a scegliere il file che più gli aggrada.
Al fine di permettere all’utente la scelta del file, dobbiamo dargli la possibilità di dire al programma che vuole scegliere un file da caricare. 
A questo punto dobbiamo scegliere il “mezzo” attraverso il quale l’utente potrà dire al nostro programma della sua scelta. Abbiamo diverse scelte possibili:
- Un menu
- Dei bottoni (ce ne sono di vario tipo disponibili)

Io lascerei il menu per adesso, più che altro perché mi sembra un po’ eccessivo per un’applicazione così semplice.
In più lavorare con i menu può essere abbastanza complesso finché non ci si ambienta bene.
Questa è la ragione per cui scelgo di usare i bottoni.

Ce ne saranno tre. Uno servirà per caricare un file. Un altro ci servirà per salvare il file con le eventuali modifiche ed uno ci servirà per terminare il programma.

A questo proposito, voglio farvi presente che dovreste sempre dare all’utente un modo per uscire dal programma esplicitamente. Questo perché non potete essere certi che tutti i vostri utenti sappiano usare Windows bene.
Quindi potrebbero, ad esempio, non sapere che premendo la “X” posta nell’angolo in alto a destra si può chiudere il programma.

Ma torniamo a noi.
Sempre sulla sezione “Standard”, se puntate con il mouse sui vari controlli disponibili, vi accorgerete che uno si chiama “Button”. Selezionatelo. Ora portatevi sul pannello in basso e premete il pulsante sinistro del mouse.
Ripetete quest’operazione altre due volte.
Ora selezionate nuovamente il primo bottone e spostatevi sull’Object Inspector.
Cercate la proprietà “Caption”, selezionate la casella a fianco e digitate “Load…”. Ricordatevi di mettere i tre punti, perché servono.
Dovete sapere che in ambiente Windows è convenzione usare i tre punti per indicare che scegliendo una determinata opzione appaia una finestra.  Non vi preoccupate, in seguito avrete occasione di capire meglio.

Ma torniamo nuovamente al discorso di prima. Ricordate che avete modificato la caption?
Bene, sempre sullo stesso bottone, cercate la proprietà “Name”.  Selezionatela e sostituite il contenuto a fianco con “LoadBtn” (senza le virgolette, mi raccomando !).


Ad ogni controllo il suo nome

Che significa questo? Significa che la proprietà “Name” è speciale. Essa, infatti, interagisce in modo diretto con il sorgente del programma.  Ma questo anche vi sarà più chiaro in seguito.
Mi preme, tuttavia, darvi alcuni consigli per la scelta dei nomi da dare ai controlli.
Precisiamo, innanzitutto, che significa “attribuire un nome ai controlli”. I controlli di per sé hanno un nome di “tipo” non modificabile (Button, Panel, Memo, ecc.). Poi hanno un nome nel codice (indicato, appunto, dalla proprietà Name) che è adoperato quando vogliamo indicare al compilatore che vogliamo riferirci ad un controllo specifico per una qualche ragione. Adesso, però, riprendiamo il discorso, aggiungendo gli altri due bottoni “Save” ed “Exit”.
Ricordate che il pulsante “Save” non deve avere i tre punti. Questo perché il nostro editor è molto rudimentale, ne vedremo uno più carino andando avanti nel corso. Adesso, per vedere come sta venendo, osservate la figura 2, che contiene anche gli altri due bottoni.


Figura 2

Quando l’utente decide di agire…

E’ qui che sorgono i problemi. Finora non abbiamo visto granché, lo so.

Andate sul bottone “Exit” e fate un doppio click su di lui. Mi raccomando, non vi spaventate, perché vi ritroverete in una condizione nuova.

Guardate la figura 3. Questo è quello che vi dovrebbe apparire, più o meno, una volta fatto il doppio click.


Figura 3


Quello in cui vi trovate è chiamato “Code editor”. Anche se a prima vista può sembrare insignificante, in realtà è una parte molto importante di Delphi.

Ma del Code Editor ci occuperemo in un’altra occasione.
Adesso voi vi trovate in questa situazione, più o meno:

procedure Form1.ExitBtnClick( Sender: TObject );
begin

end;

Avrete il cursore lampeggiante nello spazio vuoto. Giusto? Ora, premete due spazi e scrivete “Close;”.

Adesso dovreste avere qualcosa tipo:

procedure Form1.ExitBtnClick( Sender: TObject );
begin
  // Il metodo Close della form principale dell’applicazione serve a chiuderla.
  Close; // Ricordatevi il punto e virgola a fine istruzione… :=)
end
;


Cosa abbiamo fatto? Cosa significa “Close”? Close è un metodo della classe TForm. Serve, come dice la parola, a “chiudere” la form. Ho messo quella parola tra virgolette perché il discorso della chiusura lo dovremo affrontare un po’ meglio in futuro… ve l’ho detto, le cose si fanno… interessanti.
Adesso, provate a premere F9 o il pulsante di run( quel triangolo con il vertice rivolto a destra e totalmente verde ).
Ora premete il pulsante Exit.

Funziona eh? Bene, Possiamo essere soddisfatti? Io dico di si.  Nella prossima lezione vedremo ancora quest’applicazione, cercheremo di finirla ma ci sono tante cose da dire.

Un’ultima considerazione: sviluppare un’applicazione può sembrare facile, ma non lo è. Come avete visto, abbiamo appena completato la settima lezione ed ancora non abbiamo finito la prima applicazione.
Ci sto arrivando per gradi, perché credo che spiegare molte cose all’inizio faciliti il compito dopo.

Ora vi lascio davvero, e sperimentate! Il codice completo lo avrete direttamente quando l’applicazione potrà dirsi finita.
Alla prossima!.

 

Torna all'indice Generale del corso di Corso di Delphi di Software Planet