Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Guida Pascal - Appendice 12 Dichiarazione External e Forward

Guida Pascal

Capitolo 31° - Appendice 12 Dichiarazione External e Forward

<< Precedente Prossimo >>
Dichiarazioni Forward
Avete sicuramente visto come sono ordinate le librerie, con la loro bella interfaccia (interface) in cui sono riassunte tutte le procedure e le funzioni che verranno implementate. Questo è possibile anche nei programmi, per rendere il codice più fluido e leggibile: non si usa la chiamata a interface, ma una parola riservata, che indica che la dichiarazione del corpo della funzione/procedura si trova più avanti nel codice, la parola riservata forward.

Program Esempio;
uses crt;
var a,b:integer;

procedure InitA; forward;
procedure InitB; forward;
procedure ShowA; forward;
procedure ShowB; forward;
function GetA:integer; forward;
function GetB:integer; forward;

(*Altre procedure o funzioni*)

procedure InitA;
begin
    a:=0;
end;

procedure InitB;
begin
    b:=0;
end;

(*Dichiarazione del corpo delle altre procedure o funzioni*)
(*...*)


Tutte le dichiarazioni dei nomi e dei parametri sono all'inizio, mentre il corpo vero e proprio è dopo: come in una libreria.

Dichiarazioni External
Le dichiarazione external servono per richiamare una procedura o funzione da una DLL (Dinamic Link Library) esistente nel sistema operativo, di cui si deve conoscere il nome. Una dichiarazione external si scrive così:

procedure <nome>(<parametri>) external <nome libreria> name <nome procedura da richiamare>

function <nome>(<parametri>):<tipo> external <nome libreria> name <nome funzione da richiamare>


Il nome delle procedure/funzione può essere scelto a proprio piacere, mentre i parametri devono essere perfettamente identici a quelli della procedura/funzione da richiamare. Di solito, nei sistemi operativi Windows, le librerie si trovano per la maggior parte in C:\WINDOWS\System32.
Questa dichiarazione è molto specialistica, ed è meglio lasciarla a chi la sa gestire.
<< Precedente Prossimo >>
A proposito dell'autore

Programmatore e analista .NET 2005/2008/2010 (in particolare C# e VB.NET), anche nell'implementazione Mono per Linux. Conoscenze approfondite di Pascal, PHP, XML, HTML 4.01/5, CSS 2.1/3, Javascript (e jQuery). Conoscenze buone di C, LUA, GML, Ruby, XNA, AJAX e Assembly 68000. Competenze basilari di C++, SQL, Hlsl, Java.