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
    sabato 11 gennaio 2025
    Bari
    73
    43
    01
    58
    81
    Cagliari
    69
    60
    18
    02
    10
    Firenze
    25
    32
    18
    55
    54
    Genova
    48
    05
    40
    34
    69
    Milano
    10
    07
    70
    44
    79
    Napoli
    11
    89
    01
    34
    80
    Palermo
    37
    80
    82
    44
    77
    Roma
    78
    04
    38
    39
    56
    Torino
    08
    13
    30
    27
    24
    Venezia
    56
    75
    36
    18
    70
    Nazionale
    63
    83
    19
    31
    80
    Estrazione Simbolotto
    Bari
    35
    34
    12
    23
    20
Indietro
Alto