Guide e Tutorials:indexed | |||
Le API: dichiarazione Prima di poter utilizzare una funzione API, essa dev'essere dichiarata. Dichiarare una funzione significa dire a Visual Basic dove può andare a reperire tale funzione. Ecco che allora la dichiarazione identifica il nome della funzione, il file .DLL nel quale è contenuta, i parametri che supporta (e richiede tassativamente) e nel caso in cui sia richiesto, il tipo di dati da essa ritornato. Utilizzando queste informazioni Visual Basic è informato di quale funzione vi serve, dove andarla a trovare e quali dati associarle. Questa procedura naturalmente non è limitata alle API ma è estendibile a qualsiasi funzione contenuta in un file di estensione .DLL. La dichiarazione di un'API deve essere inserita nella giusta posizione all'interno del codice, nella fattispecie nella sezione riservata alle dichiarazioni di una form o di un modulo. Un errore nel giusto posizionamento della dichiarazione indurrà Visual Basic a non avviare l'applicazione. Nel caso poi decidiate di posizionarla all'interno di una form, la dichiarazione dovrà essere di tipo Private, in modo tale che la funzione sia disponibile solamente all'interno di tale form. Nel caso vogliate estendere la validità dell'API si potrà in ogni caso dichiararla all'interno di un modulo. Anche qui però bisogna compiere una netta distinzione: dichiarare un'API in un modulo come Private ne limita la validità al modulo. Dichiararla invece come Public la rende disponibile a tutto il progetto. Ecco che infatti la prima parola che si incontra nella dichiarazione di un'API è Private oppure Public, a seconda dell'area di validità che si assegna alla stessa:
|
nome_funzione | E' il nome della funzione (ad es: StretchBlt) ossia il nome attraverso il quale Visual Basic fa riferimento alla funzione dichiarata ovunque si trovi nel codice. In teoria il nome può essere scelto arbitrariamente dal programmatore, sempre nel caso in cui si utilizzi la particella Alias nel modo corretto, ma è sempre buona regola utilizzare il nome "ufficiale" dell'API. |
DLL_nomefile | E' il nome del file di formato .DLL in cui la funzione è immagazzinata. Questa voce non deve includere il percorso (ad esempio: "C:\Windows\Sysyem\xyz.DLL") perchè è sottinteso che il file si troverà nella cartella Windows\System, dove compaiono tutti i files contenenti le API. In realtà non è granchè importante specificare l'estensione .DLL. Così ad esempio indicare "user32" e "user32.dll" è esattamente la medesima cosa. In ogni caso esistono particolari API non contenute in files .DLL come le funzioni API per l'uso della stampante che si trovano nel file "winspool.drv", la cui estensione deve essere obbligatoriamente indicata. |
alias_funzione | Questa voce è opzionale. Corrisponde al nome "ufficiale" della funzione come appare nel file .DLL. E' importante perchè quasi tutte le API aventi una stringa come parametro hanno due versioni: la versione ANSI (utilizzata dalla maggior parte delle lingue comunemente parlate) e la versione Unicode a caratteri estesi (utilizzata ad esempio dal Cinese). Quando una funzione è presente in un file .DLL con entrambe le sue versioni, il suo nome è leggermente diverso: la versione ANSI terminerà con la lettera A (Ansi e la versione Unicode con la lettera W (Wide-character). Ad esempio se andiamo a vedere quel file di estensione .DLL che contiene la funzione API CompareString, vedremo che le due versioni saranno chiamate CompareStringA e CompareStringW. |
lista_argomenti | E' una lista di 0 o più argomenti che la funzione necessita. Vedremo più nel dettaglio questo argomento più avanti nelle lezioni |
tipologia_dati | E' il nome del tipo di dato che la funzione ritorna. Troveremo così As Long se il "risultato" della funzione è un numero oppure As String se è una stringa di testo. |
[{Public | Private}] Declare Sub nome_funzione Lib "DLL_nomefile" [Alias _ "alias_funzione"] (lista_argomenti) |
Riferimenti: | |||
Riferimento precedente: TUTORIALS > API > Definizione Riferimento successivo : TUTORIALS > API > Dichiarare una funzione (seconda parte) |
Archivio:ndexed | ||||
Lezioni | Commenta questa lezione | Invia la tua guida | Avviso per le nuove lezioni | Proponi un argomento |
Visual Basic Italia© copyright 2000 - tutti i diritti riservati |