Sub Main
 
   Dim ini,fin,es,r,p,n,i,y,f,sortiti,ini2,nu(1),nn(1),aa(20),ru(1)
   Dim ciclo,nEstraz,w,g
   ReDim aFreq(90),aNumeri(90),stat(20,11),stat(20,12) ' aggiunta di Enplein
   ReDim mRisultati(120,23)'<---120 corrisponde al max cicli che contiene la tab finale... col tempo aumentare se necessario
   Dim sNum,z 'aggiunta di Enplein
   Dim sFile
   sFile = GetDirectoryAppData & "VinciCasa.txt"
   'sFile = "C:\users\Mike58\Desktop\VinciCasa.txt"
   Call ApriBaseDatiFT(sFile,5,",",40)
   'r = CInt(InputBox("INSERISCI LA RUOTA DI RICERCA",,12))
   ini = CInt(InputBox("INIZIO RICERCA ESTRAZIONE N°",,1))
   z = CInt(InputBox("QUANTI SETTORE VUOI?",,20)) 'aggiunta di Enplein
   fin = CInt(InputBox("Fine RICERCA ESTRAZIONE N°",,EstrazioniArchivioFT))
   'fin = EstrazioneFin
   ciclo = 0
   ini2 = ini
   nEstraz = 0
   ru(1) = r
   '-------------------------------------
   For i = 1 To 40 'inizializzo la matrice
      aNumeri(i) = i 'vettore per il controllo sortita di ciascun numero
      aFreq(i) = 0 ' la frequenza
   Next
   '----------------------------------
   For es = ini To fin
      For p = 1 To 5
         n = EstrattoFT(es,p)
         aNumeri(n) = 0 ' azzera il numero sortito nel vettore di controllo
         aFreq(n) = aFreq(n) + 1 ' conta le frequenze di sortita
      Next
      If EstrattoFT(es,1) > 0 Then nEstraz = nEstraz + 1' conta le estrazioni salvo che siano vuote...
      sortiti = 0
      For i = 1 To 40
         If aNumeri(i) > 0 Then sortiti = sortiti + 1 ' ad ogni estrazione verifica quandi num sono fin lì sortiti
      Next
      If sortiti = 0 Then
         ciclo = ciclo + 1 ' conta i cicli naturali
         mRisultati(ciclo,21) = nEstraz
         mRisultati(ciclo,22) = ini2 '& " | " & DataEstrazione(ini2)
         mRisultati(ciclo,23) = es & " | " & DataEstrazioneFT(es)' estrazione che chiude il ciclo naturale
         For i = 1 To 40
            f = aFreq(i) ' memorizzo sulla variabile f la freq del numero (per facilità di scrittura listato)
            mRisultati(ciclo,f) = mRisultati(ciclo,f) + 1 ' aggiorno il numero di numeri per la freq nella tabella finale
         Next
         ini2 = es + 1
         '---------------------------------------------------------------------
         nEstraz = 0 ' riazzero il numero di estrazioni (durata ciclo naturale)
         For i = 1 To 40 'reinizializzo la matrice
            aNumeri(i) = i 'vettore per il controllo sortita di ciascun numero
            aFreq(i) = 0 ' la frequenza
         Next
         '---------------------------------------------------------------------
      ElseIf es = fin Then ' per gestire il ciclo in corso...
         ciclo = ciclo + 1 ' conta i cicli naturali
         mRisultati(ciclo,21) = nEstraz
         mRisultati(ciclo,22) = ini2 & " | " & DataEstrazioneFT(ini2)
         mRisultati(ciclo,23) = "in corso all'indice " & fin & " del " & DataEstrazioneFT(fin) 'aggiunta Enplein
         For w = 0 To z 'aggiunta Enplein
            stat(w,11) = 0: stat(w,12) = 0 : g = 0 :sNum = "" 'aggiunta Enplein
            For i = 1 To 40
               f = aFreq(i) ' memorizzo sulla variabile f la freq del numero (per facilità di scrittura listato)
               ' aggiorno il numero di numeri per la freq nella tabella finale
               If f = w Then g = g + 1 :sNum = sNum & Format2(i) & " " : mRisultati(ciclo,f) = mRisultati(ciclo,f) + 1 'Enplein
            Next 'aggiunta Enplein
            stat(w,11) = sNum 'aggiunta Enplein
            stat(w,12) = g 'aggiunta Enplein
         Next
         '------------------------------------------------
      End If
      If ScriptInterrotto Then Exit For
   Next
   Scrivi Chr(169) & " Script In Tabella by Silop & Mike58 " & Chr(174),1,1,,1,4,,1
   Scrivi "------------------------------------------------------------------------------------------"
   Scrivi Space(25) & "RICERCA URNE NATURALI by Silop sulla ruota : " & SiglaRuota(r) & " DAL " & DataEstrazioneFT(ini) & "(" & ini & ")",1
   Scrivi "-----------------------------------------------------------------------  all'estrazione " & fin & " del " & DataEstrazioneFT(fin)
   Scrivi " -L'archivio delle 11 ruote del lotto classico le carica in automatico con il prg. SPMT ---"
   Scrivi Space(3) & " |-------------- quantità numeri per frequenza ------------------|",1
   '------------ tabella titoli ----------------
   ReDim Tt(25)
   Tt(1) = " casi "
   For xy = 2 To 22
      Tt(xy) = xy - 2
   Next
   Tt(23) = " Estraz. "
   Tt(24) = " Inizio "
   Tt(25) = " fine "
   Call InitTabella(Tt,2,,2,5,"arial black")
   '------------------------------------------
   ReDim Vv(25)
   For i = 1 To ciclo - 1
      If i = ciclo And mRisultati(ciclo,0) > 0 Then ColoreTesto 2 Else ColoreTesto 0
      Vv(1) = FormatSpace(i,3,1) & "° "
      For y = 0 To 20
         Vv(y + 2) = mRisultati(i,y)
      Next
      Vv(23) = mRisultati(i,21)
      Vv(24) = mRisultati(i,22)
      Vv(25) = mRisultati(i,23)
      ColoreTesto 0
      k0 = k0 + Vv(2)
      k1 = k1 + Vv(3)
      k2 = k2 + Vv(4)
      k3 = k3 + Vv(5)
      k4 = k4 + Vv(6)
      k5 = k5 + Vv(7)
      k6 = k6 + Vv(8)
      k7 = k7 + Vv(9)
      k8 = k8 + Vv(10)
      k9 = k9 + Vv(11)
      k10 = k10 + Vv(12)
      k11 = k11 + Vv(13)
      k12 = k12 + Vv(14)
      k13 = k13 + Vv(15)
      k14 = k14 + Vv(16)
      k15 = k15 + Vv(17)
      k16 = k16 + Vv(18)
      k17 = k17 + Vv(19)
      k18 = k18 + Vv(20)
      k19 = k19 + Vv(21)
      k20 = k20 + Vv(22)
      k21 = k21 + Vv(23)
      Call AddRigaTabella(Vv,,,2,,"arial black")
      Call SetColoreCella(23,7,5)
      For cx = 1 To 25
         If Vv(23) + Vv(24) - 1 = fin Then Call SetColoreCella((cx),4,2)
      Next
   Next
   ReDim av(26)
   av(2) = Round(k0/i,2)
   av(3) = Round(k1/i,2)
   av(4) = Round(k2/i,2)
   av(5) = Round(k3/i,2)
   av(6) = Round(k4/i,2)
   av(7) = Round(k5/i,2)
   av(8) = Round(k6/i,2)
   av(9) = Round(k7/i,2)
   av(10) = Round(k8/i,2)
   av(11) = Round(k9/i,2)
   av(12) = Round(k10/i,2)
   av(13) = Round(k11/i,2)
   av(14) = Round(k12/i,2)
   av(15) = Round(k13/i,2)
   av(16) = Round(k14/i,2)
   av(17) = Round(k15/i,2)
   av(18) = Round(k16/i,2)
   av(19) = Round(k17/i,2)
   av(20) = Round(k18/i,2)
   av(21) = Round(k19/i,2)
   av(22) = Round(k20/i,2)
   av(23) = Round(k21/i,2)
   av(25) = " Medie "
   Call AddRigaTabella(av,3,,2,1,"arial black")
   Call AddRigaTabella(Tt,1,,2,5,"arial black")
   Call SetTableWidth("100%")
   'CreaTabella
   ReDim Vvf(25)
   For ii = ciclo - 1 To ciclo
      If ii = ciclo And mRisultati(ciclo,0) > 0 Then ColoreTesto 2 Else ColoreTesto 0
      Vvf(1) = FormatSpace(i,3,1) & "° "
      For y = 0 To 20
         Vvf(y + 2) = mRisultati(i,y)
      Next
      Vvf(23) = mRisultati(i,21)
      Vvf(24) = mRisultati(i,22)
      Vvf(25) = mRisultati(i,23)
   Next
   Call AddRigaTabella(Vvf,4,,2,2,"arial black")
   Call CreaTabella
   '------------ scrivi valori -------------------------
   ' -------- aggiunta conta numeri ciclo precedente ---- aggiunta Mike ------------
   ini3 = ini2'fin - 56 - nEstraz
   ini4 = fin - nEstraz
 
   For cic = ini3 To ini4
      kc = kc + 1
      'Tota = (ini3 + kc)
      Scrivi "Numeri sortiti ciclo precedente   " & StringaEstrattiFT(cic),1,,,0,3,,1
      Scrivi "Range inizio : " & ini3,1,,,1
      Scrivi "Range fine   : " & ini3 + kc,1,,,1
      Scrivi "Totali estraz: " & Tota + 1,1
      Scrivi "Urna N.        " & ciclo - 1,1,1,,1,3,,1
      Scrivi
      For x = 0 To 20
         For y = 1 To 40
            nu(1) = y
            If SerieFreqFT(ini3,cic,nu,1) = x Then
               k = k + 1
               If x > 0 Then kt = kt + 1
               ReDim Preserve num(k)
               num(k) = y
             
            End If
         Next
       
         If k > 0 Then
            Scrivi "Settore  " & FormatSpace(x,2) & "  Presenze  = " & FormatSpace(k,2),1,0,,1
            Scrivi " NUM... " & StringaNumeri(num,,1),1,1,,1,2
            k = 0
         ElseIf k = 0 Then
            Scrivi "Settore  " & FormatSpace(x,2) & "  Presenze  = " & FormatSpace(k,2),1,0,,1
            Scrivi " NUM... " & "--",1,1,,1,2
         End If
         If k = kc Then Exit For
         'k = 0
      Next
      Scrivi
   Next
   '............... fine precedente..................................
   For xx = 0 To Tot
      For yy = 1 To 40
         nn(1) = yy
         If SerieRitardoFT(ini3,ini4,nn,1) = xx Then
            kk = kk + 1
            kktt = kktt + 1
            ReDim Preserve ult(kk)
            ult(kk) = yy
         End If
      Next
      If kk > 0 Then
         Scrivi "TOT. uscite " & FormatSpace(kktt,2) '& " - " & FormatSpace(kk,2) & " Numeri al ritardo.... " & FormatSpace(xx,2),1,0,,2
         'Scrivi " NUM... " & StringaNumeri(ult,,1),1,1,,2,2
      End If
      kk = 0
   Next
   '-------------fine aggiunta Mike -------------------------------
   Scrivi
   'Scrivi "La ruota di : " & SiglaRuota(r) & " analisi sui 5p estratti"
   'For w = 0 To z
   'ColoreTesto(2): Scrivi "Num in attesa di sortita SETTORE " & FormatSpace(w,3,1) & " [" & ciclo & "° Urna ] N. " & FormatSpace(stat(w,12),3,1) & " : " & stat(w,11),1
   '   'Next
   Scrivi String(160,"="),1,1,,0,2
   ini5 = fin - nEstraz + 1
   ini6 = fin
   Tot = ini6 - ini5
   Scrivi "Numeri sortiti ciclo Ultimo " & " & Estrazione corrente... " & StringaEstrattiFT(fin),1,,,0,3,,1
   Scrivi "Range inizio : " & ini5,1,,,1
   Scrivi "Range fine   : " & ini6,1,,,1
   Scrivi "Totali estraz: " & Tot + 1,1
   Scrivi "Urna N.        " & ciclo,1,1,,1,3,,1
   Scrivi
   For x = 0 To 20
      For y = 1 To 40
         nu(1) = y
         If SerieFreqFT(ini5,ini6,nu,1) = x Then
            k = k + 1
            If x > 0 Then kt = kt + 1
            ReDim Preserve num(k)
            num(k) = y
         End If
      Next
      Call VerificaEsitoFT(num,ini6,1,1,esito,,estr,id)
      If k > 0 Then
         Scrivi "Settore  " & FormatSpace(x,2) & "  Presenze  = " & FormatSpace(k,3),1,0,,1
         If esito <> "" Then Scrivi estr & vbTab,1,0,,2,2
         If esito = "" Then Scrivi ".. .. .. .. .. " & vbTab,1,0,,2,2
         Scrivi StringaNumeri(num,,1),1,1,,1,2
     
      End If
      k = 0
   Next
   Scrivi
   For xx = 0 To Tot
      For yy = 1 To 55
         nn(1) = yy
         If SerieRitardoFT(ini5,ini6,nn,1) = xx Then
            kk = kk + 1
            ktt = ktt + 1
            ReDim Preserve ult(kk)
            ult(kk) = yy
            'ReDim Preserve Tota(ktt)
            'Tota(ktt) = yy
         End If
      Next
      If kk > 0 Then
         Scrivi "TOT.Uscite : " & FormatSpace(ktt,2) & " - " & FormatSpace(kk,2) & " Numeri al ritardo.... " & FormatSpace(xx,2),1,0,,2,2
         Scrivi " NUM... " & StringaNumeri(ult,,1),1,1,,2,2
      End If
      kk = 0
      'kt = 0
   Next
   '-------------fine aggiunta Mike -------------------------------
   Scrivi String(160,"="),1,1,,0,2
End Sub