Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
occhio che il Return per restituire il valore di ritorno non è valido nel VB
il ritorno lo si ottiente assegnando al nome della funzione stessa il valore
Function Somma(ByVal a As Double, ByVal b As Double) As Double
Somma = a + b
End Function
Non ho capito questo tuo commento...cosa intendi dire ? - Nullable - 05/01/12 19:57
mi è parso di capire che suggerivi il metodo di restituzione di un valore da una funzione utilizzando lo statement Return... nel VB è stato implementato solo dalla versione .NET o sbaglio ? - ampeg - 05/01/12 20:44
Sì esatto, ho sbagliato io. - Nullable - 05/01/12 21:01
lo scopo della funzione è proprio quello di restituire un valore, è possibile anche "portare esternamente" il valore di una variabile interna alla funzione passando gli argomenti della funzione stessa per riferimento anziché per valore
La funzione riguarda la ricerca di una "parola" per ogni singola parola presente nel testo in cui si cerca, oltre il risultato "trovato" vorrei che impostasse una flag su true, ma se io scrivo FLAG= true nel momento in cui io dall'esterno richiamo la funzione il valore della FLAG sembra non leggerlo - WillyVB - 05/01/12 20:03
bisognerebbe capire lo scopo di quel FLAG, comunque se è solo questione di visibilità della variabile puoi fare come ha scritto Nullable e mettere la dichiarazione a livello di modulo oppure a livello globale invece che dichiararla all'interno della funzione - ampeg - 05/01/12 20:49
http://www.pierotofy.it/pages/extras/forum/6/1035127-ricerca_multipla_in_un_file_random/ qui c'è l'intero codice e l'intera spiegazione logica - WillyVB - 05/01/12 21:22
ho visto che fai le dichiarazioni delle variabili in stile vb.net - ampeg - 05/01/12 22:19
ad esempio Dim F1, F2, F3, F4, F5, F6, FVet() As Boolean in vb.net vengono dichiarate tutte come Boolean, se usi il VB6 le prime 6 sono variabili tipo Variant e solo l'ultima è tipo Boolean, la prima cosa sarebbe correggere questa situazione - ampeg - 05/01/12 22:21
In VB6 non esiste il Return per la restituzione dei risultati di una funzione.
Come già detto, il valore viene restituito assegnandolo al nome della funzione (come se questa fosse una variabile).
Quindi, per una funzione f che restituisce un intero, non si scrive
Codice sorgente - presumibilmente VB.NET
Function f()AsInteger
Return 5
EndFunction
ma
Codice sorgente - presumibilmente VB.NET
Function f()AsInteger
f=5
EndFunction
La funzione in questione può anche restituire un valore booleano.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
Quando scrivi una funzione che restituisce un valore - sia esso intero che stringa etc... - questo valore viene - come scrivi tu - "portato all'esterno della funzione" proprio perchè è il suo valore di ritorno quindi sì è possibile basta utilizzare lo statement Return. Per quanto riguarda il "portare all'esterno di una funzione una sua variabile" potresti utilizzare le variabili globali in modo da potervi accedere quando vuoi.