Novità

funzione Split

genios

Advanced Member >PLATINUM<
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
    venerdì 25 luglio 2025
    Bari
    53
    75
    06
    08
    43
    Cagliari
    62
    52
    59
    55
    72
    Firenze
    54
    13
    56
    14
    62
    Genova
    07
    84
    21
    58
    20
    Milano
    27
    28
    62
    61
    04
    Napoli
    16
    43
    31
    68
    50
    Palermo
    72
    34
    60
    40
    66
    Roma
    46
    72
    66
    36
    11
    Torino
    77
    29
    23
    11
    48
    Venezia
    24
    77
    41
    48
    21
    Nazionale
    70
    83
    17
    40
    71
    Estrazione Simbolotto
    Nazionale
    09
    13
    05
    38
    03
Indietro
Alto