Panoramica sul linguaggio Delphy

« Older   Newer »
  Share  
OmegaAlex
CAT_IMG Posted on 23/2/2011, 13:54




Sempre facendo riferimento alla parte introduttiva storica di questo corso, abbiamo visto che Delphi si basa su Object Pascal. Si tratta, come d'altronde il Pascal, di un linguaggio compilato, fortemente tipizzato, che supporta la progettazione strutturata e orientata agli oggetti. Offre un codice di facile lettura, una compilazione veloce e l'uso di più file unit per la programmazione modulare. Object Pascal ha delle speciali funzionalità che supportano la struttura a componenti e l'ambiente RAD di Delphi.

I programmi Delphi sono generalmente divisi in moduli di codice sorgente denominati unit. Ogni programma inizia con una intestazione, che ne specifica il nome, la quale è seguita da una clausola opzionale uses e da un blocco di dichiarazioni e di istruzioni. La clausola uses elenca le unit che sono collegate nel programma; queste possono essere condivise da programmi diversi ed hanno spesso proprie clausole uses. La clausola uses fornisce al compilatore informazioni sulle dipendenze esistenti tra i moduli. Dal momento che queste informazioni vengono memorizzate nei moduli stessi, i programmi in Object Pascal non richiedono né makefile, né file header, né direttive "include" per il preprocessore come per esempio nel C++.

Diamo un'occhiata alle estensioni utilizzate dal compilatore Delphi. Questo si aspetta di trovare il codice sorgente in Pascal in di tre tipi:

File sergente di unit, che terminano con l'estensione .PAS
File progetto, che hanno come estensione .DPR
File sorgente di package, che terminano con l'estensione .DPK
I file sorgente delle unit contengono la maggior parte del codice di un'applicazione. Ogni applicazione Delphi ha un singolo file progetto e diversi file unit; il file progetto, corrispondente al file "principale" nel Pascal tradizionale, organizza i file unit in un'applicazione. Delphi mantiene automaticamente un file progetto per ciascuna applicazione. I file sorgente dei packages sono simili ai file progetto, ma vengono usati per costruire speciali librerie a collegamento dinamico, denominate package. Esistono altri file utilizzati nella realizzazione di una applicazione Delphi che non contengono codice Pascal. Questi file vengono di norma mantenuti automaticamente da Delphi. Essi sono:

I file from, terminano con l'estensione .DFM
I file di risorse, che hanno come estensione .RES
I file di opzioni di progetto, che terminano in .DOF
Esistono anche altri tipi di file utilizzati esclusivamente per le impostazioni dell'ambiente di sviluppo come per esempio i file .DSK che contengono le impostazioni del desktop dell'IDE.

I file .DFM sono dei file di risorse di Windows che contengono bitmap, stringhe e così via. Ogni file form è la rappresentazione binaria della scheda Delphi corrispondente generalmente ad una finestra o ad una finestra di dialogo di una applicazione Windows. L'IDE di Delphi permette anche di modificare in maniera testuale il contenuto di questi file; tranne in casi eccezionali, come il recupero di schede danneggiate a causa di componenti malfunzionanti, non sia ha la necessità di intervenire direttamente in maniera testuale su questo tipo di file. La gestione viene generalmente tenuta dai tool visuali di Delphi. Ad ogni scheda è altresì associato un file .PAS contenente il codice Pascal che si riferisce alla scheda in oggetto. Questo file contiene il codice degli eventi degli oggetti nella scheda, le routines definite dall'utente per quella scheda, ecc. Per impostazione predefinita questi file hanno lo stesso nome del file form.

I file di risorse sono file di risorse standard di Windows (.RES) per contenere la bitmap per l'icona dell'applicazione.

Questo è quello che si ha prima di effettuare la compilazione del codice. Una volta che il codice è stato compilato, troveremo dei nuovi file nella directory del progetto, alcuni con lo stesso nome di quelli appena visti ma con estensioni differenti. Queste sono:

.DCU (Delphi Compiled Unit): sono le estensioni che il compilatore da alle unit compilate che in seguito verranno linkate insieme nel file .EXE
.DLL (Dinamic Link Library): solo le estensioni che contraddistinguono una libreria a collegamento dinamico; ovviamente questo tipo di estensione sarà disponibile qualora sia stato compilato un progetto di libreria a collegamento dinamico.
.BPL (Borland Package Library): sono le estensioni delle librerie a collegamento dinamico della borland ovvero i package; anche queste estensioni non saranno sempre disponibili tranne se si effettua la compilazione di un progetto di package.
Diamo uno sguardo ad un semplice esempio, il tipico programmino "Hello World!" che si è soliti realizzare in fase di apprendimento di un nuovo linguaggio.

Si tratta di una semplice applicazione per console che può essere compilato ed eseguito dalla riga di comando.

CODICE
Program Hello_World;
{$APPTYPE CONSOLE}
Var MessageStr : String;
Begin
MessageStr := 'Hello world!';
Writeln(MessageStr);
End.

La prima riga di questo codice, dichiara il nome del programma. La direttiva {$APPTYPE CONSOLE} indica al compilatore che si tratta di una applicazione console, da eseguire dalla riga comandi.

La riga successiva dichiara una variabile di tipo stringa.

Successivamente, all'interno del blocco Begin..End., che costituisce il blocco principale del programma, viene dapprima assegnata alla variabile MessageStr il valore contenuto nella stringa 'Hello world!'. In ultimo con l'istruzione Writeln(MessageStr) il contenuto della variabile MessageStr viene visualizzato sullo schermo dopo di che il programma termina.

Per compilare il programma dell'esempio, è possibile, se Delphi è stato correttamente installato e nella path di sistema è riportato il percorso ..BIN nella directory di installazione di Delphi, utilizzare il seguente comando: supponendo di aver chiamato il file del programma Hworld.Pas o Hworld.dpr possiamo scrivere

CODICE
DCC32 Hworld.pas
Otterremo un file eseguibile di nome Hworld.exe che se eseguito stamperà a video il teso 'Hello world!'.

Questo non è solitamente l'uso che si fa di Delphi. Delphi è solitamente utilizzato per la realizzazione di applicazioni Windows con interfaccia grafica non eseguibili dalla riga di comando. Anche la struttura del file di progetto è leggermente differente e non contiene generalmente codice effettivo dell'applicazione se non poche chiamate ai metodi definiti nelle unit.

Vediamo un attimo alcune particolarità che avrete sicuramente già notato. Prima di tutto il segno ";" (punto e virgola) che delimita la fine di una istruzione. Il Pascal, come il C++ ed altri linguaggi simili, necessita di questo segno di punteggiatura per riconoscere il termine di una istruzione. Un'altra particolarità è il "." (punto) che delimita la fine del blocco principale del codice. Come vedremo più avanti, solamente il blocco principale delle unit avrà il punto dopo l'End del blocco principale, i blocchi delle Funzioni e delle Procedure utilizzeranno normalmente il punto e virgola.

Ma passiamo ora ad esaminare in maniera più approfondita la sintassi e la struttura del linguaggio.

by Html
 
Top
0 replies since 23/2/2011, 13:54   25 views
  Share