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
    giovedì 17 luglio 2025
    Bari
    22
    33
    04
    68
    47
    Cagliari
    09
    52
    27
    21
    47
    Firenze
    05
    33
    72
    17
    08
    Genova
    76
    67
    65
    68
    45
    Milano
    75
    52
    46
    34
    22
    Napoli
    40
    23
    71
    12
    22
    Palermo
    44
    89
    39
    01
    31
    Roma
    89
    04
    05
    82
    26
    Torino
    05
    59
    85
    88
    24
    Venezia
    69
    45
    75
    44
    30
    Nazionale
    28
    85
    16
    03
    83
    Estrazione Simbolotto
    Nazionale
    39
    26
    40
    23
    24

Ultimi Messaggi

Indietro
Alto