2012-02-21 11 views
15

Ho appena ricevuto un po 'di codice VB6 (!) Legacy su di me e continuo a vedere le funzioni dichiarate con una e commerciale alla fine del nome, ad esempio Private Declare Function ShellExecute& . . ..Significato di una e commerciale in nome funzione VB6?

Non sono stato in grado di trovare una risposta al significato di questo, né sono stato in grado di rilevare alcun modello in uso o la firma delle funzioni che sono state denominate in tal modo.

Qualcuno sa se quelli finali e finali significano qualcosa per il compilatore, o almeno se c'è qualche convenzione che mi manca? Finora, lo sto scrivendo come uno strano programmatore, ma mi piacerebbe sapere con certezza se c'è un significato dietro di esso.

risposta

20

Significa che la funzione restituisce un valore Long (numero intero a 32 bit).

È equivalente a

Declare Function ShellExecute(...) As Long 

L'elenco completo dei suffissi è la seguente:

Integer % 
Long & 
Single ! 
Double # 
Currency @ 
String $ 
12

Come Philip Sheard ha detto che è un tipo di identificatore per un lungo. Sono ancora presenti in Net, questa MSDN link e questo VB6 article

Dal secondo articolo:

Le regole per formare un VB nome di variabile valido sono i seguenti:

(1) L' il primo carattere deve essere una lettera dalla A alla Z (possono essere usate lettere maiuscole o minuscole). I caratteri successivi possono essere lettere, cifre o il carattere di sottolineatura (_) (non sono consentiti spazi o altri caratteri ).

(2) Il carattere finale può essere un "carattere di dichiarazione del tipo". Solo alcuni dei tipi di variabili possono usarli, come illustrato di seguito:

Data Type Type Declaration Character 

String   $ 
Integer  % 
Long   & 
Single   ! 
Double   # 
Currency  @  

uso di dichiarazione del tipo caratteri in VB non è incoraggiata; lo stile moderno è quello di utilizzare la clausola "As" in una dichiarazione di dichiarazione dei dati.