La creazione di un progetto da zero in Visual Basic NET? Lo trovi su Opentraining.it Visual Basic Italia
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:

[{Public | Private}] Declare Function nome_funzione Lib "DLL_nomefile" [Alias _ "alias_funzione"] (lista_argomenti) As tipologia_dati

Vediamo adesso di cosa si compone una dichiarazione:

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.


E' però importante sottolineare che spesso le funzioni non ritornano nessun tipo di dato. Per queste funzioni la dichiarazione sarà leggermente differente: al posto di indicare Declare Function si avrà Declare Sub come di seguito:

[{Public | Private}] Declare Sub nome_funzione Lib "DLL_nomefile" [Alias _ "alias_funzione"] (lista_argomenti)

Nella lezione 'Dichiarare una funzione (secoda parte)' si vedrà più in dettaglio le modalità di dichiarazione delle API.

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
E-mail:
vbitalia@libero.it