Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB6] Elenco valori possibili di un parametro di una fuzione

    Ciao a tutti,
    ho una dll che mi sono costruito con gli anni contenente metodi che uso in maniera ricorrente, in modo da non dover riscrivere le stesse procedure in vari programmi. Ora ho l'esigenza di scrivere una funzione che riceva in input un parametro di tipo String. Ad ogni valore di tipo String deve corrispondere un intero. Devo fare in modo che quando scrivo un programma e richiamo questa funzione della dll mi venga proposto l'elenco di tutti i valori possibili del parametro.
    Per fare un esempio banale: quando scrivo "Var=MsgBox("CIAO",...) mi compare un elenco a tendina contentente VbOk, VbNo, VbYesNo...
    Ho cercato su internet, ma con scarsi risultati...

    Grazie in anticipo!!!

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Devi crearti un enumerazione pubblica:
    codice:
    Public Enum eTipo
        eTipo_PRIMO = 1
        eTipo_SECONDO=2
    End Enum
    Nella funzione poi assegna il parametro l'enumeratore eTipo
    codice:
    Public Sub Test (ByVal param as eTipo)

  3. #3
    Quoto Gibra
    Mi contraddico facilmente, ma lo faccio così spesso che questo fa di me una persona coerente [Caparezza]
    Se la conoscenza crea problemi, non è con l'ignoranza che li si risolve [Isaac Asimov]
    >>>Visita il mio blog<<<

  4. #4
    Perfetto, grazie!

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Dimenticavo un piccolo suggerimento.

    Siccome i valori enumerati sono sì delle costanti, ma purtroppo se uno le scrive 'direttamente' nel codice (invece che selezionarle dall'elenco) possono anche non rispettare il 'case', ovvero le si può scrivere in minuscolo, maiuscolo o misto ad esempio:

    eTipo_Primo invece di eTipo_PRIMO.
    L'IDE di VB6 non corregge il 'case' (come ci si aspetta).

    Si può evitare questo utilizzando le opzioni di compilazione condizionale, ovvero:

    codice:
    #If False Then
        Public eTipo_PRIMO
        Public eTipo_SECONDO
    #End If
    
    Public Enum eTipo
        eTipo_PRIMO = 1
        eTipo_SECONDO=2
    End Enum
    Così, in qualsiasi modo si digitino i valori enumerati, l'IDE riporterà al 'case' originale.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.