Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Risultato Funzione
Forum - Visual Basic 6 - Risultato Funzione

Avatar
WillyVB (Normal User)
Rookie


Messaggi: 31
Iscritto: 30/12/2011

Segnala al moderatore
Postato alle 19:08
Giovedì, 05/01/2012
C'è un modo per portare all'esterno di una funzione il risultato di essa o il valore di una sua variabile?!

PM
Avatar
ampeg (Normal User)
Pro


Messaggi: 124
Iscritto: 21/04/2011

Up
2
Down
V
Segnala al moderatore
Postato alle 19:52
Giovedì, 05/01/2012
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
PM
Avatar
ampeg (Normal User)
Pro


Messaggi: 124
Iscritto: 21/04/2011

Up
1
Down
V
Segnala al moderatore
Postato alle 19:32
Giovedì, 05/01/2012
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
PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 2:13
Venerdì, 06/01/2012
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

  1. Function f() As Integer
  2.   Return 5
  3. End Function



ma

Codice sorgente - presumibilmente VB.NET

  1. Function f() As Integer
  2.   f=5
  3. End Function



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à.
PM
Avatar
Nullable (Normal User)
Expert


Messaggi: 217
Iscritto: 12/07/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 19:35
Giovedì, 05/01/2012
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.

PM