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
    giovedì 23 gennaio 2025
    Bari
    86
    50
    83
    38
    78
    Cagliari
    11
    36
    52
    31
    74
    Firenze
    56
    59
    86
    27
    84
    Genova
    03
    61
    53
    11
    38
    Milano
    13
    14
    79
    87
    47
    Napoli
    21
    90
    48
    55
    37
    Palermo
    56
    46
    59
    02
    53
    Roma
    74
    13
    07
    38
    77
    Torino
    27
    54
    62
    36
    81
    Venezia
    09
    14
    69
    28
    62
    Nazionale
    32
    73
    27
    11
    51
    Estrazione Simbolotto
    Bari
    36
    27
    19
    08
    24

Ultimi Messaggi

Indietro
Alto