Novità

funzione Split

genios

Advanced Member >PLATINUM PLUS<
Di questo script mi spiegate la funzione Split ?


Codice:
Sub Main()
   Dim ru(1)
   fin = EstrazioneFin
   ini = EstrazioneIni
   For es = fin To ini Step - 1
      AvanzamentoElab ini,fin,es
      For r = 1 To 1
         co = 0
         ru(1) = r
         n = StringaEstratti(es,r)
         n = "0." & n
         nr = Split(n,".")
         x = SeriePrima(Es + 1,fin,nr,ru,2) - es
         If x > 0 Then
            co = co + 1
            If x > 300 Then
               Scrivi DataEstrazione(es) & " " & SiglaRuota(r) & " " & StringaNumeri(nr) & "    " & x
            End If
         End If
      Next
   Next
End Sub
 
Ciao , eugenio.
Perché prendi la stringa estratti per poi farne un array?
Utilizza direttamente
Redim aEstr(0)
getarraynumeriruota (ideate,r,aEstr)
Più veloce sicuramente
Ma prova. Il mal di testa potrebbe farmi dire cose inesatte.
Ciao.
 
Volevo capire la funzione Split .

n = StringaEstratti(5000,1)

Scrivi n

In OUT avrò i cinque estratti dell’ estrazione 5000 sulla ruota di BA che corrispondono ai NUMERI 12.60.78.89.30.

Ora vorrei capire che cosa fa questa variabile

n = "0." & n

.
 
La funzione split parte da indice zero.
Dim s:s= "1.2.3.4.5"
Dim av: av=split( s,".")
Dim av1: av1=split("."&s,".")
Scrivi stringanumeri(av)
Scrivi stringanumeri(av1)
Ciao :)
 
Ciao.


Normalmente gli Array iniziano a contenere da zero.

Mentre le posizioni le contiamo da 1.

Forzando uno zero iniziale.

Gli indici dell' Array si allineano a quelli delle Posizioni.

Da zero a 4 diventano da 0 a 5.

L'indice Zero conterrà zero,
1 conterrà il primo estratto, 2 il secondo, 3 il terzo, 4 con il quarto

fino a 5 con il quinto estratto.

Esattamente come ti ha spiegato anche Ilegend.

Diversamente il 5' estratto sarebbe all'indice 4 dell'array.

:)
 
Grazie Ilegend grazie Joe ma sono duro di comprendonio


Codice:
Sub Main()
   Dim ru(1)
   fin = EstrazioneFin
   ini = EstrazioneIni
   For es = fin To ini Step - 1
      AvanzamentoElab ini,fin,es
      For r = 2 To 2
         co = 0
         ru(1) = r
         n = StringaEstratti(es,r)
         n = "0." & n
         Scrivi n
         nr = Split(n,".")
         Scrivi StringaNumeri  (nr)
         x = SeriePrima(Es + 1,fin,nr,ru,2) - es
         If x > 0 Then
            co = co + 1
            If x > 300 Then
               Scrivi DataEstrazione(es) & " " & SiglaRuota(r) & " " & StringaNumeri(nr) & "    " & x
            End If
         End If
      Next
   Next
End Sub

In Out stralcio
0.29.78.33.68.72
29.78.33.68.72
0.06.17.85.14.60
06.17.85.14.60
0.09.32.44.50.61
09.32.44.50.61
0.04.03.46.43.51
04.03.46.43.51
0.80.76.64.36.59
80.76.64.36.59
0.26.37.44.50.14
26.37.44.50.14
0.21.85.74.36.19
21.85.74.36.19
0.63.73.27.41.86
63.73.27.41.86
0.79.44.68.69.18

prima e dopo lo split .


Sub Main
n = StringaEstratti(5000,1)
n = "0." & n
Scrivi n
nr = Split(n,".")
Scrivi StringaNumeri(nr)
End Sub

In Out

0.12.60.78.89.30
12.60.78.89.30
 
Eugenio,

StringaNumeri è una istruzione di livello superiore.

Cioè fa un qualcosa in più rispetto a Scrivi senza l'aggiunta di StringaNumeri.

Questo qualcosa in più (rispetto a Scrivi N) è l'avere come risultato dei numeri "ripuliti".

Se splitti la StringaEstratti senza aggiungere lo zero .... hai dei risultati.

Se splitti la Stringaestratti DOPO AVER ANTEPOSTO UNO ZERO, HAI ALTRI RISULTATI.

E fino a qui ... non dovrebbero esserci problemi.

SE ANTEPONI uno zero, PER poi TOGLIERLO con StringaNumeri a che serve?

E' come chiedere ad un istruttore di scuola-guida a cosa serve la freccia.

Questo ti risponde che quando giri a destra devi mettere la freccia a destra

e quando giri a sinistra a freccia a sinistra,

Se poi ... non metti la freccia o la metti a destra per girare a sinistra,

la CURIOSITA' DI SAPERE A COSA SERVE LA FRECCIA si annulla da se stessa.

Purtroppo succede in quasi tutte "le rotonde" quando vedi uno con la freccia ...

sai che farà in contrario di quello che ha avuto come istruzioni.

Succede spesso ... e di "rotonde" ce ne sono sempre di più.

In soldoni:

Codice:
Sub Main
   n = StringaEstratti(5000,1)
   Scrivi "StringaEstratti =  " & n
   nr = Split(n,".")
   Scrivi "IN " & StringaNumeri(nr,,True) & " <-- ",0,0
   Scrivi "nr(1) = " & nr(1)
   Scrivi
   n = "0." & n
   Scrivi n,True
   nr = Split(n,".")
   Scrivi "IN " & n & " <-- ",0,0
   Scrivi "nr(1) = " & nr(1)
End Sub

Come vedi NR(1) SENZA AGGIUNGERE LO ZERO COINCIDE CON IL SECONDO ESTRATTO.

Mentre anteponendo lo zero NR(1) E' EFFETTIVAMENTE IL PRIMO ESTRATTO.

Riassumendo brevemente: ANTEPORRE LO ZERO SERVE AD ALLINEARE INDICI ED ESTRATTI

:)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 07 aprile 2026
    Bari
    80
    54
    31
    75
    71
    Cagliari
    38
    23
    54
    50
    89
    Firenze
    57
    73
    82
    35
    45
    Genova
    58
    70
    12
    65
    85
    Milano
    82
    20
    35
    14
    08
    Napoli
    48
    65
    79
    52
    16
    Palermo
    05
    60
    56
    01
    25
    Roma
    65
    12
    73
    03
    49
    Torino
    39
    43
    44
    36
    67
    Venezia
    71
    76
    49
    06
    56
    Nazionale
    85
    42
    37
    41
    07
    Estrazione Simbolotto
    Genova
    07
    37
    43
    24
    27
Indietro
Alto