Novità

primi passi

Ok ... sono daccordo con Luigi ...

non ti racconto la fatica ed i giorni spesi ad imparare ... da solo.

Una discreta differenza dall'avere ... tutor dedicati.

Comunque sia ed è ... che lo script ognuno lo fa come se fosse lo svolgimento di un tema ...

non necessariamente tutti scrivono le stesse cose nello stasso modo.

Anche il modo d'operare con più o meno routine e/o set di istruzioni... la gestione dei parametri ... è differente.

Anzi, a parer mio sono "opere" ...sempre differenti da autore ad autore,

dalle quali si può anche riconoscere l'autore stesso, o perlomeno, quale sia la sua capacità, la sua "scuola" ecc... ecc.

Io un pò cattivello di tanto in tanto in alcuni inserisco ... "qualcosa" che so, poi farlo riconoscere ... come "copiato".

Dunque Commentato potrebbe essere:

Codice:
Option Explicit
Sub Main
	
	Dim E 'Estrazione
	Dim R 'Ruota 
	
	Dim N(5) 'Contenitore Risultati
	
	E = EstrazioneFin
	R = BA_
	
	Call CinqueEstratti (E,R,N)
	Scrivi StringaNumeri (N)

End Sub

Sub CinqueEstratti (E,R,N)
	Dim P
	For P = 1 To 5
		N(P) = Estratto (E,R,P)
	Next
End Sub


:) Buona serata tutte/i.
 
Miseria Joe91 le stavo provando tutte e non girava . Ecco l' arcano il Dim P nella Function CinqueEstratti io la lasciavo nella sub principale invece va messa nella Function CinqueEstratti . Ti ringrazio comunque devo capire bene la situazione .

Ciao Eugenio
 
Perchè Option Explicit richiede che vengano dimensionate le variabili

La Funzione "CinqueEstratti" ... usa "P" ed è uno "script/Funzione" di per se ... indipendente,

per cui, è in questa funzione-specifica ... dove serve ... "P", dove è, e dove deve essere dimensionato.

In sintesi devi rileggere tutto quanto ho scritto e dove avevo preventivamente evidenziato, queste cose,

come tue possibili dfficoltà.

Punti nodali, su cui ti dovevi soffermare e concentrare la tua attenzione.

Cioè che: "CinqueEstratti" sono "TUTTI". Non sono più ... Un_Estratto.

Dunque ... non fornisci ... alla funzione quale Pi_esimo Estratto ... vuoi leggere ...

e da questo discende che P è usato, solo, nella nuova Funzione.

In sintesi ... in questa nuova "Sub" ... va usato e dimensionato.

:)
 
Ultima modifica:
Parafrasando:

Estratto necessita dei parametri (Estrazione,Ruota,Posizione) sottintendendo che restituirà l' Estratto in posizione P

StringaEstratti necessita dei parametri (Estrazione,Ruota) ... sottintendendo che restituirà una stringa di 5 Estratti.

CinqueEstratti funziona come StringaEstratti ...invece di una stringa restituisce il vettore "N" ... con 5 Estratti.

:)
 
Ultima modifica:
Daccordissimo con quanto detto da Joe . ognuno ha il suo stile nello scrivere il codice
Dipende anche dal fatto che per risolvere lo stesso problema esistono anche diverse strade, diverse soluzioni.
Ognuno affronta il problema con la sua ottica e lo risolve con il suo ingegno.
In linea di massima i programmatori alle prime armi non amano suddividere il codice in piu funzioni perche apparentemente sembra piu complesso , invece devo dire che è molto piu semplice una volta acquisita la forma mentis.
Ora il progettista dello script è lo scripter stesso pertanto dipend solo da lui l'architettura del codice
è lui che decide se serve una sub , se serve una funxtion se bisogna o no passargli dei parametri.

I parametri si possono genericamente circoscrivere ai valori variabili che servono alla routine (sub o function) per fare il suo compito.
Naturalemte se in una routine ho bisogno di fare un ciclo la variabile di controllo del ciclo la dimensionerà entro la routine stessa dato che serve solo li , un valore che invece di volta in volta cambia lo passo come parametro.
Faccio un banale esempio : bisogna scrivere una funzione che ritorni una stringa con i numeri pari presenti in un array

Come si vede ho scritto la funzione GetStringaNumeriPari e la cosa piu logica è passargli per parametro il vettore che la funzione deve anlaizzare perche è quella la parte variabile.
Nello stesso tempo la funzione al suo interno per lavorare ha bisogno di alcune variabili dette
"variabili locali"
la variabile K gestisce il ciclo
la variabile sRisultato serve per costruire la stringa di ritorno.
Perche queste variabili non si passano per parametro ? Semplicissimo perche on ha senso !


Codice:
Option Explicit
Sub Main
    ReDim aV(5)
    Dim k
    For k = 1 To 5
        aV(k) = NumeroCasuale( 1 ,90)
    Next
    
    Call Scrivi (StringaNumeri(aV))
    Call Scrivi ("i numeri pari sono : " & GetStringaNumeriPari(aV))
End Sub

Function GetStringaNumeriPari (Vettore)
    Dim sRisultato
    Dim k
    
    sRisultato =""
    For k = 1 To UBound(Vettore)
        If pari( Vettore(k)) Then
            sRisultato = sRisultato & Format2(Vettore(k)) & "."
        End If
    Next
    
    If sRisultato = "" Then
        GetStringaNumeriPari  ="Nessuno"
    Else
        GetStringaNumeriPari  = sRisultato
    End If
End Function
 
Grazie LuigiB avevo intuito anche io sopratutto vedendo gli script di Ilegend ( che ne fà largo uso )che suddividere il codice in più funzioni sia in subordine teoricamente più' semplice anche se devo capire bene il tutto. Anche perché mi sono prefissato di fare uno script se mai riuscirò' a farlo e comunque con il vostro aiuto sicuramente . Script che prende in considerazione per la selezione dei numeri una quindicina di script diversi . Quindi questi singoli script implementati in singole Funzioni faranno capo alla Sub principale in cui i numeri selezionati dagli script implementati nella Function vengono raggruppati e quindi valorizzati a secondo dello loro presenze .

Ciao Eugenio
 
Faccio un esempio prendendo al volo il tuo ultimo script su i cinque numeri casuali da 1 a 90 e stampare in out i numeri pari che fanno parte dei 5 generati casualmente .

L' esempio è il seguente : considerando un solo script ( per ora ) come function per la ricerca della decina naturale più' ritardata sulla ruota di BA per la sorte di ambo. Trovata la decina naturale + ritardata si prendono i 10 numeri della stessa e si mettono in una Variabile di cui non si conosce la dimensione ( quindi da quanto ho capito si usa Redim e si stampano in out i numeri della decina in questione .

Vediamo cosa esce fuori .

Ciao Eugenio
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 11 luglio 2025
    Bari
    39
    28
    27
    01
    80
    Cagliari
    54
    79
    69
    43
    61
    Firenze
    62
    60
    86
    80
    05
    Genova
    45
    10
    42
    79
    84
    Milano
    28
    59
    23
    46
    11
    Napoli
    01
    55
    52
    50
    39
    Palermo
    75
    17
    74
    82
    54
    Roma
    38
    13
    79
    25
    44
    Torino
    68
    29
    26
    40
    06
    Venezia
    46
    84
    64
    27
    67
    Nazionale
    72
    77
    46
    61
    23
    Estrazione Simbolotto
    Nazionale
    12
    34
    36
    10
    39
Indietro
Alto