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
    giovedì 18 settembre 2025
    Bari
    24
    27
    08
    70
    68
    Cagliari
    75
    27
    64
    20
    17
    Firenze
    53
    20
    46
    14
    39
    Genova
    38
    72
    71
    36
    65
    Milano
    24
    43
    76
    19
    26
    Napoli
    32
    70
    51
    23
    48
    Palermo
    23
    73
    55
    64
    62
    Roma
    66
    58
    15
    49
    55
    Torino
    84
    22
    38
    29
    64
    Venezia
    47
    52
    56
    35
    89
    Nazionale
    04
    49
    67
    57
    05
    Estrazione Simbolotto
    Palermo
    07
    18
    33
    28
    19

Ultimi Messaggi

Indietro
Alto