Se hai intenzione di essere un buon programmatore Delphi, è necessario che parole come "interfaccia", "implementazione" e "usi" abbiano un posto speciale nella tua conoscenza della programmazione.
Progetti Delphi
Quando creiamo un'applicazione Delphi, possiamo iniziare con un progetto vuoto, un progetto esistente o uno dei modelli di applicazione o modulo di Delphi. Un progetto è costituito da tutti i file necessari per creare la nostra applicazione di destinazione.
La finestra di dialogo che si apre quando scegliamo View-Project Manager ci consente di accedere al modulo e alle unità nel nostro progetto.
Un progetto è costituito da un singolo file di progetto (.dpr) che elenca tutte le forme e le unità del progetto. Possiamo esaminare e persino modificare il file di progetto (chiamiamolo un file Unità di progetto) scegliendo Visualizza - Origine progetto. Poiché Delphi mantiene il file di progetto, normalmente non dovremmo aver bisogno di modificarlo manualmente, e in generale non è raccomandato per i programmatori inesperti di farlo.
Unità Delphi
Come ormai sappiamo, i moduli sono una parte visibile della maggior parte dei progetti Delphi. Ogni modulo in un progetto Delphi ha anche un'unità associata. L'unità contiene il codice sorgente per tutti i gestori di eventi allegati agli eventi del modulo o ai componenti in esso contenuti.
Poiché le unità memorizzano il codice per il tuo progetto, le unità sono la base della programmazione Delphi. In generale, unit è una raccolta di costanti, variabili, tipi di dati e procedure e funzioni che possono essere condivise da diverse applicazioni.
Ogni volta che creiamo un nuovo modulo (file .dfm), Delphi crea automaticamente la sua unità associata (file .pas) chiamiamola unità modulo. Tuttavia, le unità non devono essere associate ai moduli. Un'unità di codice contiene codice chiamato da altre unità del progetto. Quando inizi a creare librerie di routine utili, probabilmente le memorizzerai in un'unità di codice. Per aggiungere una nuova unità di codice all'applicazione Delphi, scegli File-Nuovo ... Unità.
Anatomia
Ogni volta che creiamo un'unità (modulo o unità di codice) Delphi aggiunge automaticamente le seguenti sezioni di codice: intestazione dell'unità, interfaccia sezione, implementazione sezione. Ci sono anche due sezioni opzionali: inizializzazione e finalizzazione.
Come vedrai, le unità devono essere in un formato predefinito in modo che il compilatore possa leggerle e compilare il codice dell'unità.
Il progetto intestazione dell'unità inizia con la parola riservata unità, seguita dal nome dell'unità. Dobbiamo usare il nome dell'unità quando ci riferiamo all'unità nella clausola di usi di un'altra unità.
Sezione interfaccia
Questa sezione contiene il file usa clausola che elenca le altre unità (codice o unità di modulo) che verranno utilizzate dall'unità. In caso di unità di modulo, Delphi aggiunge automaticamente le unità standard come Windows, Messaggi, ecc. Quando si aggiungono nuovi componenti a un modulo, Delphi aggiunge i nomi appropriati all'elenco degli usi. Tuttavia, Delphi non aggiunge una clausola di utilizzo alla sezione dell'interfaccia delle unità di codice: dobbiamo farlo manualmente.
Nella sezione dell'interfaccia dell'unità, possiamo dichiarare costanti globali, tipi di dati, variabili, procedure e funzioni.
Tieni presente che Delphi crea un'unità modulo per te mentre progetti un modulo. Il tipo di dati del modulo, la variabile del modulo che crea un'istanza del modulo e i gestori di eventi sono dichiarati nella parte dell'interfaccia.
Poiché non è necessario sincronizzare il codice in unità di codice con un modulo associato, Delphi non mantiene l'unità di codice per te.
La sezione dell'interfaccia termina con l'implementazione della parola riservata.
Sezione implementazione
La sezione di implementazione di un'unità è la sezione che contiene il codice effettivo per l'unità. L'implementazione può avere dichiarazioni aggiuntive proprie, sebbene queste dichiarazioni non siano accessibili a nessun'altra applicazione o unità. Qualsiasi oggetto Delphi dichiarato qui sarebbe disponibile solo per il codice all'interno dell'unità (globale per unità). Una clausola di utilizzo facoltativa può apparire nella parte di implementazione e deve seguire immediatamente la parola chiave di implementazione.
Sezioni di inizializzazione e finalizzazione
Queste due sezioni sono opzionali; non vengono generati automaticamente quando crei un'unità. Se si desidera inizializzare i dati utilizzati dall'unità, è possibile aggiungere un codice di inizializzazione alla sezione di inizializzazione dell'unità. Quando un'applicazione utilizza un'unità, il codice all'interno della parte di inizializzazione dell'unità viene chiamato prima che venga eseguito qualsiasi altro codice dell'applicazione.
Se l'unità deve eseguire una pulizia quando l'applicazione termina, ad esempio liberando le risorse allocate nella parte di inizializzazione; puoi aggiungere una sezione di finalizzazione alla tua unità. La sezione di finalizzazione viene dopo la sezione di inizializzazione, ma prima della fine finale.