Novità

FUNCTION e passaggio di dati

  • Creatore Discussione Creatore Discussione gennaro
  • Data di inizio Data di inizio
G

gennaro

Guest
Salve a tutti... volevo chiedervi come passare piu' informazioni da una FUNCTION.

Mi spiego meglio: ho scritto questa Function che mi restituisce SOLO il numero di presenze di un certo ambo in un certo range estrattivo ma avrei bisogno di tirare fuori
qualche altra informazione come il valore della variabile appo

Sara' una stupidaggine ma mi manca un tassello....

Grato per tutto quello che fate, vi ringrazio.

Function GetPresenzeAmbo(IdNum1,IdNum2,IdRuota,IdInizio,IdFine)
Dim Ruota(1),NumAmbo(2)

Conta = 0
Inizio = IdInizio
NumAmbo(1) = IdNum1
NumAmbo(2) = IdNum2
Ruota(1) = IdRuota

For j = Inizio To IdFine
appo = SeriePrima(Inizio,IdFine,NumAmbo,Ruota,2)
If appo <> 0 Then
Conta = Conta + 1
Inizio = appo + 1
End If
Next

GetPresenzeAmbo = Conta

End Function
 
tutti i paramtri che vengono passati alla funzione possono essere modificati e al ritorno nella procedura chiamante
è possibile leggerli.
 
Impara ad estrapolare quanto costruisci per verificarne in concreto ciò che hai programmato.

Guarda cosa hai costruito e capirai se è quanto stai cercando (ti ho cocretizzato la Function)



Sub Main
'SeriePrima(Inizio, fine, vetNumeri, vetRuote, Sorte, Optional tipogioco = 0, Optional jolly = False, Optional idArchivio = 0) As Long
'Analizza una determinata combinazione di numeri per una data sorte entro un certo range di estrazioni su una data Ruota e torna il
'numero dell'estrazione in cui per la prima volta è sortita la sorte specificata

'Function GetPresenzeAmbo(IdNum1,IdNum2,IdRuota,IdInizio,IdFine)
Dim Ruota(1),NumAmbo(2)
Conta = 0
Inizio = 6000 'IdInizio
IdFine = 7710
NumAmbo(1) = 6 ' IdNum1
NumAmbo(2) = 49 'IdNum2
Ruota(1) = 1 ' IdRuota
For j = Inizio To IdFine
appo = SeriePrima(Inizio,IdFine,NumAmbo,Ruota,2)
If appo > 0 Then
Conta = Conta + 1
Inizio = appo + 1
End If
Scrivi " appo = " & appo & " conta = " & conta & " inizio = " & Inizio & " IdFine = " & IdFine

Next
Scrivi " appo = " & appo & " conta = " & conta
'GetPresenzeAmbo = Conta
'End Function
End Sub
 
Ok Luigi e Claudio... mi mancava proprio una variabile da scambiare :)

allego esempio

Sub Main

a = CInt(InputBox("1 numero dell'ambo ","1°",1))
b = CInt(InputBox("2 numero dell'ambo ","2°",2))
c = CInt(InputBox("Inserire la ruota ","Ruota",10))
d = CInt(InputBox("Inizio analisi ","Ini",1))
e = CInt(InputBox("Fine analisi ","Fin",EstrazioneFin))

f = GetPresenzeAmbo(a,b,c,d,e,UltEstraz)

Scrivi("L'ambo " & a & "." & b & " sulla ruota di " & NomeRuota(c) & " nell'intervallo estrattivo " & d & "/" & e & " è sortito " & f & " volte.")

Scrivi("L'ultima estrazione in cui si è presentato il suddetto ambo è la numero " & UltEstraz)

End Sub

Function GetPresenzeAmbo(IdNum1,IdNum2,IdRuota,IdInizio,IdFine,GetEstraz)
Dim Ruota(1),NumAmbo(2)

Conta = 0
Inizio = IdInizio
NumAmbo(1) = IdNum1
NumAmbo(2) = IdNum2
Ruota(1) = IdRuota

For Inizio = Inizio To IdFine
appo = SeriePrima(Inizio,IdFine,NumAmbo,Ruota,2)
If appo > 0 Then
Conta = Conta + 1
Inizio = appo + 1
GetEstraz = appo
End If
Next

GetPresenzeAmbo = Conta

End Function
 
Ultima modifica:
perfetto hai capito , questo capita perche le variabili passate per parametro sono per default passate ByRef , se fossero passate con l'istruzione ByVal al ritorno il valore non presenterebbe modifiche
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 30 aprile 2026
    Bari
    02
    58
    76
    30
    50
    Cagliari
    28
    06
    35
    51
    39
    Firenze
    46
    27
    71
    88
    50
    Genova
    01
    08
    15
    17
    38
    Milano
    82
    50
    87
    51
    02
    Napoli
    65
    38
    37
    53
    46
    Palermo
    56
    62
    58
    10
    67
    Roma
    57
    82
    49
    80
    02
    Torino
    39
    74
    29
    35
    47
    Venezia
    54
    76
    22
    73
    85
    Nazionale
    69
    62
    88
    43
    21
    Estrazione Simbolotto
    Genova
    01
    37
    04
    17
    23

Ultimi Messaggi

Indietro
Alto