Novità

Perchè il vettore ax non mi viene considerato correttamente?

lotto_tom75

Advanced Premium Member
Dunque...

Con questo code sottostante ho provato ad effettuare in automatico la comunanza e la differenziazione di tre gruppi che mi sono necessari per successivi sviluppi di studio sulla NZ e che ricavarli ogni volta a mano sarebbe abbastanza lento e noioso... ?

Codice:
Option Explicit
Sub Main
   Dim a1,a2,s,s2,s3,s4,s5,s6
   Dim ax
   ax = Array(0)
   Dim k
   Dim classe
   Dim acol
   ReDim anum(90)
   Dim i
   Dim nsorte,fine,retrit1,quantitanumeriscelti,aruotesel,ruoteselezionate,retritmax,retincrritmax,retfreq,inizio
   Dim coltot
   Dim contatore
   contatore = 1
   ReDim anum(0)
   quantitanumeriscelti = ScegliNumeri(anum)
   ReDim aruotesel(12)
   ruoteselezionate = ScegliRuote(aruotesel)
   Call Scrivi(" ---------------------------------------------------------------- ")
   Call Scrivi(" le ruote sottostanti nella ricerca vengono considerate separate! ")
   Call Scrivi(" ---------------------------------------------------------------- ")
   Call Scrivi
   Call Scrivi("data elaborazione: " & giorno(EstrazioneFin) & "-" & Mese(EstrazioneFin) & "-" & Anno(EstrazioneFin))
   Call Scrivi
   Call Scrivi
   Call Scrivi("range elaborazione: " & giorno(EstrazioneIni) & "-" & Mese(EstrazioneIni) & "-" & Anno(EstrazioneIni) & " --- " & giorno(EstrazioneFin) & "-" & Mese(EstrazioneFin) & "-" & Anno(EstrazioneFin))
   Call Scrivi
   Dim ini,fin
   Call Scrivi
   Call Scrivi("numero delle ultime estrazioni esaminate: " & EstrazioneFin - EstrazioneIni)
   Call Scrivi
   For k = 1 To ruoteselezionate
      Call Scrivi("scelta ruota " & NomeRuota(aruotesel(k)) & " - " & SiglaRuota(aruotesel(k)))
   Next
   nsorte = 1
   classe = 1
   coltot = InitSviluppoIntegrale(anum,classe)
   If coltot > 0 Then
      Call Scrivi
      Call Scrivi(" sviluppo in classe: " & classe & " sorte  " & nsorte)
      Call Scrivi
      Do While GetCombSviluppo(a2) = True
         i = i + 1
         ReDim aruotetmp(1)
         For k = 1 To ruoteselezionate
            aruotetmp(1) = aruotesel(k)
            Call StatisticaFormazioneTurbo(a2,aruotetmp,nsorte,retrit1,retritmax,retincrritmax,retfreq)
            Dim diff
            diff = retritmax - retrit1
            Dim rapportorars
            Dim stringafiltro
            stringafiltro = "retrit1 <= 21"
            If(retrit1 >= 0 And retrit1 <= 21) Then
               Call Messaggio("trovata!!! :) per la ruota di: " & SiglaRuota(aruotesel(k)) & ". siamo alla riga n. " & i)
               Call Scrivi(StringaNumeri(a2) & ".",,False)
               ax = array_push(ax,StringaNumeri(a2))
            Else
            End If
            Call AvanzamentoElab(1,coltot,i) 'questo e' il tentativo per la progress bar
            If ScriptInterrotto Then Exit Do
         Next
      Loop
   End If
   Scrivi
   Call Scrivi
   Call Scrivi(" tempo trascorso: " & TempoTrascorso)
   Call Scrivi
   Call Scrivi(" filtro utilizzato: " & stringafiltro)
   Scrivi
   Call Scrivi("usciti nelle ultime 21 estrazioni " & StringaNumeri(ax) & ".",,False)
   Call SplitByChar(StringaNumeri(ax),".",ax)
   Scrivi
   Scrivi
   Dim a3
   'vettori statici di esempio caricati direttamente nel code con valori fittizi...
   a1 = Array(0,1,2,4,5,6,7,9,10,11,13,15,16,17,18,19,20,21,22,23,25,26,27,28,29,30,31,32,33,35,36)
   a3 = Array(0,2,4,5,6,7,9,13,15,18,19,20,21,23,25,26,27,28,30,31,33,36,37,39,42,43,44,49,50,52,54)
   Call getmancante(a1,ax,s)
   Call Scrivi(" lunghetta A: " & StringaNumeri(a1) & " quantita'  " & UBound(a1))
   Call Scrivi(" usciti nelle ultime 21 estrazioni: " & StringaNumeri(ax) & " quantita'  " & UBound(ax))
   Call Scrivi(" lunghetta B: " & StringaNumeri(a3) & " quantita'  " & UBound(a3))
   Scrivi
   Scrivi " confronto... "
   Scrivi
   Dim v,v2
   Call SplitByChar(s," ",v)
   Call Scrivi(" elementi divergenti tra lunghetta A e usciti nelle ultime 21 estrazioni: " & s & " quantita'  " & UBound(v))
   Call getcomuni(a1,ax,s2)
   Call SplitByChar(s2," ",v2)
   Call Scrivi(" elementi comuni tra lunghetta A e usciti nelle ultime 21 estrazioni : " & s2 & " quantita'  " & UBound(v2))
   Scrivi
   Scrivi "-------------------------------------------------------------------------------------------------------------------------"
   Scrivi
   Call Scrivi(" lunghetta A x a su NZ " & StringaNumeri(a1))
   Call Scrivi(" lunghetta B x a su NZ : " & StringaNumeri(a3))
   Scrivi
   Scrivi " confronto... "
   Scrivi
   Call getmancante(a1,a3,s3)
   Dim v3,v4
   Call SplitByChar(s3," ",v3)
   Call Scrivi(" elementi divergenti tra lunghetta A e lunghetta B: " & s3 & " quantita'  " & UBound(v3))
   Call getcomuni(a1,a3,s4)
   Call SplitByChar(s4," ",v4)
   Call Scrivi(" elementi comuni tra lunghetta A  e lunghetta B: " & s4 & " quantita'  " & UBound(v4))
   Scrivi
   Scrivi "-------------------------------------------------------------------------------------------------------------------------"
   Scrivi
   Call Scrivi(" usciti nelle ultime 21 estrazioni " & StringaNumeri(ax))
   Call Scrivi(" lunghetta B: " & StringaNumeri(a3))
   Scrivi
   Scrivi " confronto... "
   Scrivi
   Call getmancante(ax,a3,s5)
   Dim v5,v6
   Call SplitByChar(s5," ",v5)
   Call Scrivi("elementi divergenti tra usciti nelle ultime 21 estrazioni e lunghetta B: " & s5 & " quantita'  " & UBound(v5))
   Call getcomuni(ax,a3,s6)
   Call SplitByChar(s6," ",v6)
   Call Scrivi("elementi comuni tra usciti nelle ultime 21 estrazioni e lunghetta B: " & s6 & " quantita'  " & UBound(v6))
End Sub
Sub getmancante(a1,a2,s)
   Dim n,n1,bret',s
   s = ""
   For n = 1 To UBound(a1)
      bret = True
      For n1 = 1 To UBound(a2)
         If a1(n) = a2(n1) Then bret = False
      Next
      If bret Then s = s & a1(n) & " "
   Next
End Sub
Sub getcomuni(a1,a2,s2)
   Dim n,n1,bret',s
   s2 = ""
   For n = 1 To UBound(a1)
      bret = False
      For n1 = 1 To UBound(a2)
         If a1(n) = a2(n1) Then bret = True
      Next
      If bret Then s2 = s2 & a1(n) & " "
   Next
End Sub
Function array_push(arr,vars)
   Dim k,newelem,newarrsize,elem
   If IsArray(arr) Then
      If Len(vars) > 0 Then
         If InStr(vars,",") = False Then
            newarrsize = CInt(UBound(arr) + 1)
            ReDim Preserve arr(newarrsize)
            arr(newarrsize) = vars
         Else
            k =(UBound(arr) + 1)
            newelem = Split(vars,",")
            newarrsize = CInt(UBound(arr) + UBound(newelem) + 1)
            ReDim Preserve arr(newarrsize)
            For Each elem In newelem
               arr(k) = Trim(elem)
               k = k + 1
            Next
         End If
      End If
      array_push = arr
   Else
      array_push = False
   End If
End Function
Function selesito
   Dim ret
   Dim avoci
   For ret = 1 To 1
      selesito = ret
   Next
End Function

I tre gruppi base "dinamici" e sempre diversi sono:

1)LUNGHETTA A vettore attualmente fisso
2)LUNGHETTA B vettore attualmente fisso
3)usciti nelle ultime 21 estrazioni vettore dinamico

lunghetta A e B vengono confrontate per adesso correttamente in quanto entrambe hanno la forma vettore (a1 e a3) identica e per adesso statica... ovvero implementata con i suoi elementi totali direttamente nel codice mentre gli usciti nelle ultime 21 estrazioni sono appunto dinamicamente ricavati ogni volta dal relativo code che si occupa anche di metterli nel rispettivo array ax.

Il problema è che quando vado a confrontare ax con gli altri due vettori (lunghetta A e lunghetta B) come si vede lanciando semplicemente un output... il confronto non avviene e sia il vettore degli elementi divergenti sia quello di quelli comuni restano vuoti...

:unsure:
 
Ultima modifica:
Ciao Tom
comincia a correggere questa riga
If bret Then s = s & a1( n) & " " in Sub getmancante definendo correttamente la ondizione if bret ......
e questa
If bret Then s2 = s2 & a1( n) & " " in Sub getcomuni idem come sopra
e in definitiva
riguardati l'HELP alle sub e function relativamente ai parametri firma ed ai risultati di ritorno.
saluti.
 
Ciao tom
Non ho capito cosa vuoi ottenere.
Se ho capito bene tu prendi i numeri usciti tra il ritardo zero e il ritardo ventuno .
Con questi numeri cosa vuoi fare?
Con cosa li vuoi confrontare?
Se spieghi cosa vuoi ottenere , se riesco, si può provare a costruire uno script.
Non amo mettere mano su script altrui.
A volte perché li ritengo opere d arte a volte perché è più facile pensare qualcosa di nuovo.
Ciao
 
Ciao Ilegend
in pratica lotto_tom75 nel suo script presenta tre array, due fissi "a1" ed "a3" (con immissione numeri direttamente da codice) ed uno dinamico "ax" che "si riempie" attrverso "InitSviluppoIntegrale" e GetCombSviluppo che alimentano il vettore "ax" mediante la function array_push. Nel momento in cui effettua un confronto tra gli array statici a1 ed a3 mediante le due sub getmancanti e getcomuni, ricercando la convergenza e la divergenza, lo script restituisce un output corretto. Nel momento in cui invece il confronto avviene tra un array fisso e quello dinamico, lo script non rileva ne le convergenze ne le divergenze

Es:

a1 = array (0,1,2,3) fisso
a3 = array (0,2,3,4) fisso
ax = dinamico

confronto a1 e a3 tutto ok (sia divergenza che convergenza)

confronto a1 e ax nessun output

confronto a3 e ax nessun output

lott_tom75 ricerca il modo attraverso il quale possa far riconoscere l'array ax ed effettuale il confronto.

Chiedo perdono per eventuali inesattezze tecniche di esposizione, ma non sono un esperto in campo :ROFLMAO:
 
Grazie Edoardo, per fare lo script ho bisogno di capire il processo di tom.
Da dove si parte, che dati prendere dinamicamente, e come prendere le fisse. Quindi
percorsi
Ricerca statistica
Confronto dati ( a che serve confrontare i fissi se sono fissi? Avranno sempre le stesse convergenze. )
I mancanti da dove ?
A avrà dei mancanti da b , ma anche b avrà dei mancanti da A ,quindi bisogna capire cosa si vuole cercare e dove ,altro discorso invece è per le convergenze.
Queste basi sono fondamentali per capire primo se sono in grado di fare lo script , secondo pensarlo e decidere come procedere.

Altrimenti bisogna fare mille script, e solitamente, non faccio mai lo stesso script 2 volte perché non si hanno le idee chiare.
Aspettiamo cosa chiede tom.
Quelle funzioni mi sembra di conoscerle ???
 
I Legend,
Io penso che bisogna "obbligarlo :devilish::devilish::devilish: " a spiegare riga per riga il costrutto in modo che, lui stesso si renda conto degli errori e solo allora, stimolarlo ed aiutarlo a ricercare la correzione migliore.
I copia ed incolla non portano da nessuna parte ( vedi marmellata a pezzettoni di frutta varia)

Colgo l'occasione x salutare tutti ed anche Tom/ Svicolone ???
 
Per adesso in battle royale non mi riesce mai arrivare primo su 100 :cry:? . Al massimo 2° ?o_O:LOL:. Ad ogni modo in quel gioco ho grado di "leggendario" quindi mi accontento ?

A parte i video games e gli scherzi... veniamo a noi.. Intanto ringrazio sia gli angiolini che i diavolini intervenuti ???

Poi per il diavoletto: ho scritto tutto nel post iniziale senza "nascondere nulla" :D infatti Edoardo_95 ad esempio ha capito perfettamente dove mi intoppo... ???;)

Ad ogni modo ripeterò spero con altre parole + "chiare" che il confronto che mi necessiterebbe tra gli elementi numerici interessati dovrebbe rilevarmi semplicemente... quelli convergenti tra le due formazioni in esame e quelli divergenti tra le stesse.

Le formazioni (una statica e l'altra dinamica) sono 2 e non tre come ho riportato erroneamente sopra nel mio primo post.

Il confronto avviene correttamente solo se le due formazioni sono inserite in un relativo vettore all'interno del codice "manualmente".

del tipo

Codice:
Dim A,B
A = array (0,1,2,3,4,5)
B = array (0,2,5,10,12,15)

se invece B lo popolo dinamicamente ad esempio con una
statisticaformazione
un if retrit <= 21
e un array_push...

il confronto tra A e B non avviene +... o_O

Una delle due lunghette è statica (A) mentre l'altra dovrebbe cambiare ad ogni estrazione ecco perchè inserirla ogni volta a mano nel relativo vettore (B) è una palla assurda... ? e vorrei automatizzarne la sua estrapolazione...

Il problema quindi risiede sicuramente... nella costruzione del vettore dinamico B che che però stranamente ad una verifica in output risulta apparentemente privo di errori... :unsure:



Perchè se una delle due invece viene estrapolata in modo dinamico da apposito script che ad esempio mi estrapola tutti gli elementi aventi appunto ra <= 21 il relativo vettore che ospita la formazione costituita dagli estrapolati non viene considerato minimamente nonostante in output si visualizzi correttamente l'intero gruppo degli estrapolati...

Sicuramente è una bippata ma al momento è una bippata alquanto bloccante...

Grazie di nuovo a tutti e se anche questa volta per taluni sono stato troppo "sibillino" palesate i vostri dubbi al riguardo e vedrò di essere ancor di + cristallino... Ciao ??
 
Ultima modifica:
Allora
1- ricavare i numeri che hanno ritardo compreso tra 0 e 21
2- come ricavi i fissi? O da dove li prendi?

3- confrontare l array del punto 1 con l array dei fissi. Uno per volta.
Devo ricavare gli elementi in comune e scriverlo in output?
Tom se riesco faccio lo script completo ,anche senza svelare i tuoi segreti, con array fittizi, uno script incompleto non lo posto.
Ciao :)
Manca come lo script ottiene i fissi.
 
Allora
1- ricavare i numeri che hanno ritardo compreso tra 0 e 21
2- come ricavi i fissi? O da dove li prendi?

3- confrontare l array del punto 1 con l array dei fissi. Uno per volta.
Devo ricavare gli elementi in comune e scriverlo in output?
Tom se riesco faccio lo script completo ,anche senza svelare i tuoi segreti, con array fittizi, uno script incompleto non lo posto.
Ciao :)
Manca come lo script ottiene i fissi.

Ciao

i legend grazie mille ma non ho capito le tue perplessità... Cosa intendi con manca come lo script ottiene i fissi? I fissi sono semplicemente inseriti nel vettore A a livello di codice.

Appunto con:

Codice:
Dim vettorefissi
vettorefissi = Array(0,1,2,3,4,5,6,7,8,9, ecc...)


Allora
1- ricavare i numeri che hanno ritardo compreso tra 0 e 21
2- come ricavi i fissi? O da dove li prendi?
3- confrontare l array del punto 1 con l array dei fissi. Uno per volta.
Devo ricavare gli elementi in comune e scriverlo in output?

1) Si esatto
2) Sono fissi inseriti come scritto sopra nel vettore (come lunghetta "A" dei fissi puoi mettere anche tutti i 90 intervallati da virgola non è un problema)
3) Si esatto. Gli elementi in comune e quelli divergenti sopratutto...

???
 
Ultima modifica:
Per cambiarli devi intervenire sempre dal codice?
Ok. Tra un po ' ho un impegno
Domani ti posto lo script.
Ricavo gli elementi dinamici
E poi trovo i comuni con i fissi.
Buon weekend ?
 
Per cambiarli devi intervenire sempre dal codice?
Ok. Tra un po ' ho un impegno
Domani ti posto lo script.
Ricavo gli elementi dinamici
E poi trovo i comuni con i fissi.
Buon weekend ?

Grazie mitico i legend,
Si al momento per cambiare i dinamici per avere il confronto corretto (e avere quindi in output i valori comuni e sopratutto quelli divergenti) devo inserire gli elementi in B direttamente da codice...

? ?
 
ciao
ho cercato di spiegarti che per i divergenti il discorso cambia rispetto ai convergenti
ti posto un immagine
ultima estrazione in archivio . 9816
ecco l immagine ImmagineperTom.png
i dati sono quelli che vuoi ottenere o dovrebbero essere diversi?
non dire si per poi cercare di modificare lo script , perche non sarebbe facile.
ciao
 
ciao tom controlla se funzia correttamente
ti inserisco i codici per rilevare i tre vettori, la raccolta dei comuni e dei divergenti la lascio fare a te
hai le due sub che avevo gia scritto per te in un altro post mi sembra, devi solo applicarle.
il problema del tuo script non idea da dove nasca
lo script raccoglie i numeri sortiti da ritardo 0 a ritardo 21 sulla ruota che scegli
ti viene chiesto di inserire due array di fissi da input cosi non ci possono essere errori
a te il passo finale.
se ci sono errori fammi sapere cosi proviamo a risolverli
avrei voluto farti qualcosa di più automatizzato, ma questo mi sembra sia quello che hai chiesto :)
a te lanciare le sub che già hai e postare lo script finale per tutti
quando lanci la sub "scrivi", ricordati di impostare il texColor (colore del testo ) a vbWhite
ho messo il fondo scuro e i colori perchè mi sembra che altri tuoi script hanno questa caratteristica.
Ciao :)
Codice:
Option Explicit
' non si garantisce il corretto funzionamento dello script
' lo stesso serve solo per raccolta dati

Sub Main
   Call SetColorSezione(RGB(0,36,36))
   Dim RgRit:RgRit = 21
   Dim nRit:nRit = 0
   Dim Fin:Fin = EstrazioneFin
   Dim R:R = ScegliRuota :If R = 11 Then Exit Sub
   Dim IdEstr,p
   Dim N,E,m
   Dim aCol(1)
   Call MsgBox("avviso inserimento primo array di numeri fissi",vbOKOnly,"avviso inserimento dati")
   ReDim aNumI(0):Call ScegliNumeri(aNumI)
   Call MsgBox("avviso inserimento secondo array di numeri fissi",vbOKOnly,"avviso inserimento dati")
   ReDim aNumII(0):Call ScegliNumeri(aNumII)
   Dim capo ' valore che manda a capo
   ReDim aEstr(90)
   ReDim aSort(0)
   For N = 1 To 90
      aEstr(N) = 0
   Next
   Scrivi "    Ritardo esaminato compreso tra: ",1,0,,vbCyan,3
   Scrivi " 0 ",1,0,,vbWhite,3
   Scrivi " e ",,0,,vbCyan
   Scrivi RgRit,1,,,vbWhite,,3
   Scrivi "    Ruota esaminata:                ",1,0,,vbCyan,3
   Scrivi " " & NomeRuota(R),1,,,vbWhite,3
   Scrivi
   ' adesso inseriamo i dati da inserire
   Dim aVisEstr: aVisEstr = Array("Si","No")
   Dim iVisEstr:iVisEstr = ScegliOpzioneMenu(aVisEstr,0,"Vuoi visualizzare le estrazioni da analizzare?")
   If iVisEstr = 0 Then
      Scrivi String(194,"-"),,,,vbCyan
      Scrivi "         Estrazioni esaminate      ",1,,,RGB(200,200,200),3
      Scrivi Space(4),,0
      Scrivi "  Conc  Rit     Estratti      ",1,,RGB(200,200,200),,3
   End If
   m = 0
   For IdEstr = Fin To 1 Step - 1
      If iVisEstr = 0 Then
         Scrivi Space(4),,0
         Scrivi "  " & IdEstr & "   " & Format2(nRit) & "  " & StringaEstratti(IdEstr,R) & "   ",1,,RGB(238,240,245),RGB(0,128,192),3
      End If
      For p = 1 To 5
         E = Estratto(IdEstr,R,p)
         If aEstr(E) = 0 Then
            m = m + 1
            ReDim Preserve aSort(m)
            aSort(m) = E
            aEstr(E) = 1
         End If
      Next
      nRit = nRit + 1
      If nRit > RgRit Then Exit For
   Next
   Scrivi
   Scrivi "   Numeri sortiti nel ritardo esaminato = ",1,0,,vbCyan,3
   Scrivi "  " & UBound(aSort) & "  ",1,,vbRed,vbWhite,4
   Scrivi
   ' Scrivi "   "&StringaNumeri(aSort),,,,vbCyan
   Call OrdinaMatriceTurbo(aSort,1)
   m = 0
   For N = 1 To UBound(aSort)
      Scrivi Space(4),,0
      m = m + 1
      If pari(m) Then aCol(1) = RGB(108,182,255):Else aCol(1) = RGB(255,128,255)
      If(m Mod 10) = 0 Then capo = 1 Else capo = 0
      Scrivi Format2(aSort(N)),1,capo,,aCol(1),3
   Next
   Scrivi
   Scrivi
   Scrivi String(194,"-"),,,,vbCyan
   Scrivi "   Lunghetta Fissa I  = ( ",1,0,,vbCyan
   Scrivi StringaNumeri(aNumI),1,0,,vbWhite
   Scrivi " )",1,,,vbCyan
   Scrivi "   Lunghetta Fissa II = ( ",1,0,,vbCyan
   Scrivi StringaNumeri(aNumII),1,0,,vbWhite
   Scrivi " )",1,,,vbCyan
   Scrivi String(194,"-"),,,,vbCyan
   Scrivi
' qui le lanci e gestisci l output
   End Sub
' qui scrivi le sub che hai gia
 
Ho aggiunto le rimanenti funzioni di confronto e adesso va alla grande! ???????????

Codice:
Option Explicit
' non si garantisce il corretto funzionamento dello script
' lo stesso serve solo per raccolta dati

Sub Main
   Call SetColorSezione(RGB(0,36,36))
   Dim RgRit:RgRit = 21
   Dim nRit:nRit = 0
   Dim Fin:Fin = EstrazioneFin
   Dim R:R = ScegliRuota :If R = 11 Then Exit Sub
   Dim IdEstr,p
   Dim N,E,m
   Dim aCol(1)
   Call MsgBox("avviso inserimento primo array di numeri fissi",vbOKOnly,"avviso inserimento dati")
   ReDim aNumI(0):Call ScegliNumeri(aNumI)
   'Call MsgBox("avviso inserimento secondo array di numeri fissi",vbOKOnly,"avviso inserimento dati")
   'ReDim aNumII(0):Call ScegliNumeri(aNumII)
   Dim capo ' valore che manda a capo
   ReDim aEstr(90)
   ReDim aSort(0)
   For N = 1 To 90
      aEstr(N) = 0
   Next
   Scrivi "    Ritardo esaminato compreso tra: ",1,0,,vbCyan,3
   Scrivi " 0 ",1,0,,vbWhite,3
   Scrivi " e ",,0,,vbCyan
   Scrivi RgRit,1,,,vbWhite,,3
   Scrivi "    Ruota esaminata:                ",1,0,,vbCyan,3
   Scrivi " " & NomeRuota(R),1,,,vbWhite,3
   Scrivi
   ' adesso inseriamo i dati da inserire
   Dim aVisEstr: aVisEstr = Array("Si","No")
   Dim iVisEstr:iVisEstr = ScegliOpzioneMenu(aVisEstr,0,"Vuoi visualizzare le estrazioni da analizzare?")
   If iVisEstr = 0 Then
      Scrivi String(194,"-"),,,,vbCyan
      Scrivi "         Estrazioni esaminate      ",1,,,RGB(200,200,200),3
      Scrivi Space(4),,0
      Scrivi "  Conc  Rit     Estratti      ",1,,RGB(200,200,200),,3
   End If
   m = 0
   For IdEstr = Fin To 1 Step - 1
      If iVisEstr = 0 Then
         Scrivi Space(4),,0
         Scrivi "  " & IdEstr & "   " & Format2(nRit) & "  " & StringaEstratti(IdEstr,R) & "   ",1,,RGB(238,240,245),RGB(0,128,192),3
      End If
      For p = 1 To 5
         E = Estratto(IdEstr,R,p)
         If aEstr(E) = 0 Then
            m = m + 1
            ReDim Preserve aSort(m)
            aSort(m) = E
            aEstr(E) = 1
         End If
      Next
      nRit = nRit + 1
      If nRit > RgRit Then Exit For
   Next
   Scrivi
   Scrivi "   Numeri sortiti nel ritardo esaminato = ",1,0,,vbCyan,3
   Scrivi "  " & UBound(aSort) & "  ",1,,vbRed,vbWhite,4
   Scrivi
   ' Scrivi "   "&StringaNumeri(aSort),,,,vbCyan
   Call OrdinaMatriceTurbo(aSort,1)
   m = 0
   For N = 1 To UBound(aSort)
      Scrivi Space(4),,0
      m = m + 1
      If pari(m) Then aCol(1) = RGB(108,182,255):Else aCol(1) = RGB(255,128,255)
      If(m Mod 10) = 0 Then capo = 1 Else capo = 0
      Scrivi Format2(aSort(N)),1,capo,,aCol(1),3
   Next
   Scrivi
   Scrivi
   Scrivi String(194,"-"),,,,vbCyan
   Scrivi "   Lunghetta Fissa I  = ( ",1,0,,vbCyan
   Scrivi StringaNumeri(aNumI),1,0,,vbWhite
   Scrivi " )",1,,,vbCyan
   'Scrivi "   Lunghetta Fissa II = ( ",1,0,,vbCyan
   'Scrivi StringaNumeri(aNumII),1,0,,vbWhite
   Scrivi " )",1,,,vbCyan
   Scrivi String(194,"-"),,,,vbCyan
   Scrivi
' qui le lanci e gestisci l output

Dim s,s2

Call getmancante(aSort,aNumI,s)
Call getcomuni(aSort,aNumI,s2)

Dim xQs, xQs2
Call SplitByChar(s," ",xQs)
Call SplitByChar(s2," ",xQs2)

Scrivi
Scrivi "<font color=white>Divergenti tra anuml e asort21: " & s & "</font>" & "<font color=yellow>Q: " & UBound(xQs) & "</font>"

Scrivi
Scrivi "<font color=white>Comuni tra anuml e asort21: " & s2 & "</font>" & "<font color=yellow>Q: " & UBound(xQs2) & "</font>"
Scrivi

   End Sub
' qui scrivi le sub che hai gia


Sub getmancante(Asort,aNumI,s)
   Dim n,n1,bret',s
   s = ""
   For n = 1 To UBound(Asort)
      bret = True
      For n1 = 1 To UBound(aNumI)
         If Asort(n) = aNumI(n1) Then bret = False
      Next
      If bret Then s = s & Asort(n) & " "
   Next
End Sub


Sub getcomuni(Asort,aNumI,s2)
   Dim n,n1,bret',s
   s2 = ""
   For n = 1 To UBound(Asort)
      bret = False
      For n1 = 1 To UBound(aNumI)
         If Asort(n) = aNumI(n1) Then bret = True
      Next
      If bret Then s2 = s2 & Asort(n) & " "
   Next
End Sub


Function array_push(arr,vars)
   Dim k,newelem,newarrsize,elem
   If IsArray(arr) Then
      If Len(vars) > 0 Then
         If InStr(vars,",") = False Then
            newarrsize = CInt(UBound(arr) + 1)
            ReDim Preserve arr(newarrsize)
            arr(newarrsize) = vars
         Else
            k =(UBound(arr) + 1)
            newelem = Split(vars,",")
            newarrsize = CInt(UBound(arr) + UBound(newelem) + 1)
            ReDim Preserve arr(newarrsize)
            For Each elem In newelem
               arr(k) = Trim(elem)
               k = k + 1
            Next
         End If
      End If
      array_push = arr
   Else
      array_push = False
   End If
End Function

Grazie 1000 mitico ilegend!
Ancora una volta ti sei dimostrato essere come il tonno...

INSUPERABILE!!!
?????????? ? ?
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 14 gennaio 2025
    Bari
    41
    25
    12
    73
    55
    Cagliari
    54
    20
    48
    32
    67
    Firenze
    75
    23
    68
    10
    38
    Genova
    33
    27
    81
    70
    64
    Milano
    68
    01
    64
    86
    87
    Napoli
    47
    75
    45
    10
    21
    Palermo
    55
    86
    33
    53
    70
    Roma
    88
    78
    61
    06
    07
    Torino
    76
    08
    23
    61
    82
    Venezia
    25
    15
    49
    21
    81
    Nazionale
    70
    10
    32
    78
    07
    Estrazione Simbolotto
    Bari
    07
    14
    28
    45
    31
Indietro
Alto