Novità

Come posso ordinarne i valori per frequenza decrescente o crescente?

lotto_tom75

Advanced Premium Member
Funzione:

Codice:
Call StatisticaFormazioneTurbo(aCol,aRuoteTmp,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq)

Io vorrei poter ordinare il suo output per RetFreq crescente o decrescente a seconda dei casi...

Grazie

:)
 
Ultima modifica:

claudio8

Premium Member
Sarebbe meglio che tu inserisca lo script, comunque, a parte la mancanza del range di statistica, ( inizio e fine) la funzione restituisce un solo valore di RetFreq quindi desumo che non ci sia nulla da ordinare.
ciao
 

lotto_tom75

Advanced Premium Member
claudio8;n2135239 ha scritto:
Sarebbe meglio che tu inserisca lo script, comunque, a parte la mancanza del range di statistica, ( inizio e fine) la funzione restituisce un solo valore di RetFreq quindi desumo che non ci sia nulla da ordinare.
ciao

Ciao, al posto di quello sopra senza la possibilità di ordinamento perchè sprovvisto di matrice o collection, cercando e ricercando... ho trovato questo script, tra quelli di default, che farebbe davvero al caso mio se no fosse che non trovo il modo di ordinarne i valori in ordine crescente. In particolare vorrei ordinare i valori in ordine di frequenza crescente e non decrescente come è impostato...

Codice:
Option Explicit
Sub Main


   Dim nClasse
   Dim nSorte
   Dim k,j
   Dim sNumeri
   Dim idComb
   Dim nInizio,nFine
   Dim idValoreDaAna
   Dim sValoreUsato
   Dim CombTot
   Dim aRuote

   ReDim aCombMigliori(100,4)

   nClasse = ScegliClasse
   Call ScegliRuote(aRuote)
   nSorte = ScegliSorte
   idValoreDaAna = ScegliValoreDaAnalizzare(sValoreUsato)



   nInizio = EstrazioneIni
   nFine = EstrazioneFin


   If nClasse > 0 And nSorte > 0 And nSorte <= nClasse And idValoreDaAna > 0 Then
      Call Messaggio("Sviluppo combinazioni di classe " & nClasse)
      CombTot = InitSviluppaComb(nClasse)

      Call Messaggio("Statistica combinazioni in corso ")
      ReDim aCol(nClasse)
      Do While GetCombSviluppo(aCol) = True
         Call AnalisiComb(aCol,aRuote,nSorte,aCombMigliori,nInizio,nFine,idValoreDaAna)
         k = k + 1
         If k Mod 20 = 0 Then
            Call Messaggio("Statistica combinazioni in corso " & k & " di " & CombTot)

            Call AvanzamentoElab(1,CombTot,k)

            If ScriptInterrotto Then Exit Do
         End If
      Loop
      Call Messaggio("")

      ReDim aTitoli(4)
      aTitoli(1) = "Combinazione"
      aTitoli(2) = "Frequenza"
      aTitoli(3) = "Ritardo"
      aTitoli(4) = "RitardoMax"


      Call Scrivi("Combinazioni di classe " & nClasse & " analizzate per punti " & nSorte & " sulle ruote " & GetRuoteUsate(aRuote))
      Call Scrivi("La seguente lista mostra le prime 100 combinazioni in base al valore di " & sValoreUsato)
      Call Scrivi("Range analizzato " & GetInfoEstrazione(nInizio) & " fino a " & GetInfoEstrazione(nFine))
      Call Scrivi("Estrazioni analizzate totali : " &(nFine + 1) - nInizio)
      Call Scrivi



      Call InitTabella(aTitoli)

      For k = 1 To UBound(aCombMigliori)


         ReDim ADati(4)
         ADati(1) = aCombMigliori(k,4)
         ADati(2) = aCombMigliori(k,1)
         ADati(3) = aCombMigliori(k,2)
         ADati(4) = aCombMigliori(k,3)

         Call AddRigaTabella(ADati)

      Next

      Call CreaTabella

   Else
      MsgBox "Selezionare la classe di sviluppo e la Sorte , " & _
      "si ricorda che la Sorte non puo essere maggiore della classe di sviluppo " & _
      "e che bisogna scegliere quale valore statistico considerare per " & _
      "alimentare la lista delle prime 100 Combinazioni "



   End If

End Sub
Sub AnalisiComb(aNum,aRuote,Sorte,aCombMig,nInizio,nFine,idValoreDaAna)

   Dim k,j

   Dim Rit
   Dim RitMax
   Dim Freq
   Dim Valore





   Call StatisticaFormazione(aNum,aRuote,Sorte,Rit,RitMax,0,Freq,nInizio,nFine)
   Select Case idValoreDaAna
   Case 1
      Valore = Freq
   Case 2
      Valore = Rit
   Case 3
      Valore = RitMax
   End Select
   For k = 1 To UBound(aCombMig)

      If Valore >= aCombMig(k,0) Then

         For j = UBound(aCombMig) To(k + 1) Step - 1
            aCombMig(j,0) = aCombMig(j - 1,0)
            aCombMig(j,1) = aCombMig(j - 1,1)
            aCombMig(j,2) = aCombMig(j - 1,2)
            aCombMig(j,3) = aCombMig(j - 1,3)
            aCombMig(j,4) = aCombMig(j - 1,4)


         Next
         aCombMig(k,0) = Valore
         aCombMig(k,1) = Freq
         aCombMig(k,2) = Rit
         aCombMig(k,3) = RitMax
         aCombMig(k,4) = StringaNumeri(aNum)


         Exit For

      End If
   Next
End Sub
Function InitSviluppaComb(Classe)

   Dim k
   ReDim aNum(90)

   For k = 1 To 90
      aNum(k) = k
   Next

   InitSviluppaComb = InitSviluppoIntegrale(aNum,Classe)

End Function

Function ScegliClasse()
   ReDim aVoci(3)

   aVoci(0) = "Estratto"
   aVoci(1) = "Ambo"
   aVoci(2) = "Terno"
   aVoci(3) = "Quaterna"


   ScegliClasse = ScegliOpzioneMenu(aVoci,2,"Scegli tipo combinazione") + 1
End Function

Function ScegliSorte()

   ReDim aVoci(3)

   aVoci(0) = "Estratto"
   aVoci(1) = "Ambo"
   aVoci(2) = "Terno"
   aVoci(3) = "Quaterna"


   ScegliSorte = ScegliOpzioneMenu(aVoci,2,"Scegli Sorte") + 1
End Function

Function ScegliValoreDaAnalizzare(sValore)

   ReDim aVoci(2)
   Dim i

   aVoci(0) = "Frequenza"
   aVoci(1) = "Ritardo"
   aVoci(2) = "Ritardo massimo"



   i = ScegliOpzioneMenu(aVoci,0,"Quale valore considerare per l'ordinamento ? ")
   sValore = aVoci(i)
   ScegliValoreDaAnalizzare = i + 1
End Function

Function GetRuoteUsate(aRuote)

   Dim k
   Dim s


   For k = 1 To UBound(aRuote)
      s = s & SiglaRuota(aRuote(k)) & " "
   Next
   GetRuoteUsate = Trim(s)
End Function

In parole povere... in alto vorrei visualizzare il valore di frequenza minore rispetto a quanto si visualizza eseguendolo così (l'esatto opposto).

Grazie mille per l'indicazione di come fare questa semplicissima... ma per me "introvabile" modifica :eek: :)
 

claudio8

Premium Member
Elementare Tomson

Codice:
Sub Main
     Dim nClasse
     Dim nSorte

[COLOR=#FF0000]ecc. eccc.[/COLOR]
[COLOR=#FF0000]qui  mette in  memoria i titoli della tabella[/COLOR]
          ReDim aTitoli(4)
          aTitoli(1) = "Combinazione"
          aTitoli(2) = "FrequenzaA"
          aTitoli(3) = "Ritardo"
          aTitoli(4) = "RitardoMax"
          Call Scrivi("Combinazioni di classe " & nClasse & " analizzate per punti " & nSorte & " sulle ruote " & GetRuoteUsate(aRuote))
          Call Scrivi("La seguente lista mostra le prime 100 combinazioni in base al valore di " & sValoreUsato)
          Call Scrivi("Range analizzato " & GetInfoEstrazione(nInizio) & " fino a " & GetInfoEstrazione(nFine))
          Call Scrivi("Estrazioni analizzate totali : " &(nFine + 1) - nInizio)
          Call Scrivi
          Call InitTabella(aTitoli) [COLOR=#FF0000]' inizia la tabella inserendo titoli [/COLOR]

          For k = 1  To UBound(aCombMigliori)
               ReDim ADati(4)
               ADati(1) = aCombMigliori(k,4)
               ADati(2) = aCombMigliori(k,1)
               ADati(3) = aCombMigliori(k,2)
               ADati(4) = aCombMigliori(k,3)
               Call AddRigaTabella(ADati) [COLOR=#FF0000]' qui aggiunge le righe man mano che scorre la matrice aCombMigliori[/COLOR]
          Next
          Call CreaTabella(2,1) [COLOR=#FF0000]'qui crea la tabella e con i parametri inseriti, la ordina in colonna 2  in modalità crescente e quindi la scrive in output[/COLOR]
     Else
          MsgBox "Selezionare la classe di sviluppo e la Sorte , " & _
          "si ricorda che la Sorte non puo essere maggiore della classe di sviluppo " & _
          "e che bisogna scegliere quale valore statistico considerare per " & _
          "alimentare la lista delle prime 100 Combinazioni "
     End If
End Sub

Se vuoi cambiare la colonna di ordinamento ed il tipo in fase di inputbox, devi fare in modo che da inputbox vengano definiti questi parametri che chiaramente nella chiamata " Call CreaTabella(2,1)" dovranno essere due "variabili".

Dovresti fare così:
sostituisci con la riga sotto
Call CreaTabella(Col_ord,Tipo_Ord) questa riga Call CreaTabella
e
dopo la riga "idValoreDaAna = ScegliValoreDaAnalizzare(sValoreUsato)"

inserisci gli inputbox

Col_Ord = CInt(InputBox("Colonna da ordinare (freq= 2; Rit= 3;RitMax=4).","colonna da ordinare ",2))
Tipo_Ord = CInt(InputBox("Ordinamento (Crescente > 0 1; Decresc = 0).","Ordinamento ",1))

ricordati sempre di dichiarare le variabili nuove perchè vi è l'Option Explicit.
Buon lavoro.... spero di essere stato chiaro e di non aver fatto errori.
ciao

Ps: ti faccio presente inoltre che dopo questa specifica che vorrai inserire nel costrutto, ti invierò le indicazioni per una soluzione "magica" presente nel programma Spaziometria.
 
Ultima modifica:

lotto_tom75

Advanced Premium Member
claudio8;n2135334 ha scritto:
Elementare Tomson

Codice:
Sub Main
Dim nClasse
Dim nSorte

[COLOR=#FF0000]ecc. eccc.[/COLOR]
[COLOR=#FF0000]qui mette in memoria i titoli della tabella[/COLOR]
ReDim aTitoli(4)
aTitoli(1) = "Combinazione"
aTitoli(2) = "FrequenzaA"
aTitoli(3) = "Ritardo"
aTitoli(4) = "RitardoMax"
Call Scrivi("Combinazioni di classe " & nClasse & " analizzate per punti " & nSorte & " sulle ruote " & GetRuoteUsate(aRuote))
Call Scrivi("La seguente lista mostra le prime 100 combinazioni in base al valore di " & sValoreUsato)
Call Scrivi("Range analizzato " & GetInfoEstrazione(nInizio) & " fino a " & GetInfoEstrazione(nFine))
Call Scrivi("Estrazioni analizzate totali : " &(nFine + 1) - nInizio)
Call Scrivi
Call InitTabella(aTitoli) [COLOR=#FF0000]' inizia la tabella inserendo titoli [/COLOR]

For k = 1 To UBound(aCombMigliori)
ReDim ADati(4)
ADati(1) = aCombMigliori(k,4)
ADati(2) = aCombMigliori(k,1)
ADati(3) = aCombMigliori(k,2)
ADati(4) = aCombMigliori(k,3)
Call AddRigaTabella(ADati) [COLOR=#FF0000]' qui aggiunge le righe man mano che scorre la matrice aCombMigliori[/COLOR]
Next
Call CreaTabella(2,1) [COLOR=#FF0000]'qui crea la tabella e con i parametri inseriti, la ordina in colonna 2 in modalità crescente e quindi la scrive in output[/COLOR]
Else
MsgBox "Selezionare la classe di sviluppo e la Sorte , " & _
"si ricorda che la Sorte non puo essere maggiore della classe di sviluppo " & _
"e che bisogna scegliere quale valore statistico considerare per " & _
"alimentare la lista delle prime 100 Combinazioni "
End If
End Sub

Se vuoi cambiare la colonna di ordinamento ed il tipo in fase di inputbox, devi fare in modo che da inputbox vengano definiti questi parametri che chiaramente nella chiamata " Call CreaTabella(2,1)" dovranno essere due "variabili".

Dovresti fare così:
sostituisci con la riga sotto
Call CreaTabella(Col_ord,Tipo_Ord) questa riga Call CreaTabella
e
dopo la riga "idValoreDaAna = ScegliValoreDaAnalizzare(sValoreUsato)"

inserisci gli inputbox

Col_Ord = CInt(InputBox("Colonna da ordinare (freq= 2; Rit= 3;RitMax=4).","colonna da ordinare ",2))
Tipo_Ord = CInt(InputBox("Ordinamento (Crescente > 0 1; Decresc = 0).","Ordinamento ",1))

ricordati sempre di dichiarare le variabili nuove perchè vi è l'Option Explicit.
Buon lavoro.... spero di essere stato chiaro e di non aver fatto errori.
ciao

Tutto OK! ;)

thank-you-grazie.jpg

:)
 
Ultima modifica:

claudio8

Premium Member
Leggiti il "Ps" del mio post precedente,
inserisci il nuovo costrutto con la/le variazione/i suggerita/e e solo allora riceverai la soluzione "Magica". :mad: :p ;) :D :cool: :cool:
Ciao
 

lotto_tom75

Advanced Premium Member
claudio8;n2135339 ha scritto:
Leggiti il "Ps" del mio post precedente,
inserisci il nuovo costrutto con la/le variazione/i suggerita/e e solo allora riceverai la soluzione "Magica". :mad: :p ;) :D :cool: :cool:
Ciao

Tutto fatto e funzionante. Il Grazie era stato rilasciato... dopo aver eseguito lo script con le brillanti modifiche da te suggerite :p ;) Adesso riesco a visualizzare i valori x frq crescente come necessitavo. Di nuovo Grazie :)

Ps (mio): Perchè la faccina incazz? :eek: :D Attendo se vorrai la ABRACADABRA solution (extra) :rolleyes: :D
 
Ultima modifica:

claudio8

Premium Member
Manca questa operazione:

"inserisci il nuovo costrutto con la/le variazione/i suggerita/e e solo allora riceverai la soluzione "Magica",

solo a dimostrazione che hai capito il processo da applicare nel costrutto... :mad: :mad: ( il diavoletto soni io la faccina incazz ... è capitata tra le tante ... )
dopo riceverai la "Magia" della quale dovrai ringraziare il Mago Luigi, io non ho meriti se non quello di avergli sugerito a suo tempo una marea di richieste.
un saluto
claudio
 

lotto_tom75

Advanced Premium Member
claudio8;n2135342 ha scritto:
Manca questa operazione:

"inserisci il nuovo costrutto con la/le variazione/i suggerita/e e solo allora riceverai la soluzione "Magica",

solo a dimostrazione che hai capito il processo da applicare nel costrutto... :mad: :mad: ( il diavoletto soni io la faccina incazz ... è capitata tra le tante ... )
dopo riceverai la "Magia" della quale dovrai ringraziare il Mago Luigi, io non ho meriti se non quello di avergli sugerito a suo tempo una marea di richieste.
un saluto
claudio

Ok.. ma con " inserisci il nuovo costrutto con la/le variazione/i suggerita/e e solo allora riceverai la soluzione "Magica" " intendi semplicemente che devo postare il codice modificato? :) Altrimenti non ho capito... :eek: e ahimè... non potrò visualizzare alcuna soluzione di codice "magica..." :(:confused::mad::D
 
Ultima modifica:

lotto_tom75

Advanced Premium Member
claudio8;n2135345 ha scritto:
Si inserisci il codice modificato

Codice:
Option Explicit
Sub Main


   Dim nClasse
   Dim nSorte
   Dim k,j
   Dim sNumeri
   Dim idComb
   Dim nInizio,nFine
   Dim idValoreDaAna
   Dim sValoreUsato
   Dim CombTot
   Dim aRuote

 'ReDim aCombMigliori(100,4)   ' quindi si sceglie quanti risultati visualizzare...

 'Se vuoi cambiare la colonna di ordinamento ed il tipo in fase di inputbox, devi fare in modo che da inputbox vengano definiti questi parametri che 'chiaramente nella chiamata " Call CreaTabella(2,1)" dovranno essere due "variabili".

'Dovresti fare così:
'sostituisci con la riga sotto
'Call CreaTabella(Col_ord,Tipo_Ord) questa riga Call CreaTabella                          'FATTO :)
'e
'dopo la riga "idValoreDaAna = ScegliValoreDaAnalizzare(sValoreUsato)"

'inserisci gli inputbox

'Col_Ord = CInt(InputBox("Colonna da ordinare (freq= 2; Rit= 3;RitMax=4).","colonna da ordinare ",2))   FATTO  :)
'Tipo_Ord = CInt(InputBox("Ordinamento (Crescente > 0 1; Decresc = 0).","Ordinamento ",1))              FATTO  :)

'ricordati sempre di dichiarare le variabili nuove perchè vi è l'Option Explicit.   FATTO :)
'Buon lavoro.... spero di essere stato chiaro e di non aver fatto errori.            FATTO  :)
'ciao


   ReDim aCombMigliori(100,4)

   Dim Col_Ord
   Dim Tipo_Ord


   nClasse = ScegliClasse
   Call ScegliRuote(aRuote)
   nSorte = ScegliSorte
   idValoreDaAna = ScegliValoreDaAnalizzare(sValoreUsato)



Col_Ord = CInt(InputBox("Colonna da ordinare (freq= 2; Rit= 3;RitMax=4).","colonna da ordinare ",2))   
Tipo_Ord = CInt(InputBox("Ordinamento (Crescente > 0 1; Decresc = 0).","Ordinamento ",1))                 


   nInizio = EstrazioneIni
   nFine = EstrazioneFin


   If nClasse > 0 And nSorte > 0 And nSorte <= nClasse And idValoreDaAna > 0 Then
      Call Messaggio("Sviluppo combinazioni di classe " & nClasse)
      CombTot = InitSviluppaComb(nClasse)

      Call Messaggio("Statistica combinazioni in corso ")
      ReDim aCol(nClasse)
      Do While GetCombSviluppo(aCol) = True
         Call AnalisiComb(aCol,aRuote,nSorte,aCombMigliori,nInizio,nFine,idValoreDaAna)
         k = k + 1
         If k Mod 20 = 0 Then
            Call Messaggio("Statistica combinazioni in corso " & k & " di " & CombTot)

            Call AvanzamentoElab(1,CombTot,k)

            If ScriptInterrotto Then Exit Do
         End If
      Loop
      Call Messaggio("")

      ReDim aTitoli(4)
      aTitoli(1) = "Combinazione"
      aTitoli(2) = "Frequenza"
      aTitoli(3) = "Ritardo"
      aTitoli(4) = "RitardoMax"


      Call Scrivi("Combinazioni di classe " & nClasse & " analizzate per punti " & nSorte & " sulle ruote " & GetRuoteUsate(aRuote))
      Call Scrivi("La seguente lista mostra le prime 100 combinazioni in base al valore di " & sValoreUsato)
      Call Scrivi("Range analizzato " & GetInfoEstrazione(nInizio) & " fino a " & GetInfoEstrazione(nFine))
      Call Scrivi("Estrazioni analizzate totali : " &(nFine + 1) - nInizio)
      Call Scrivi



      Call InitTabella(aTitoli)

      For k = 1 To UBound(aCombMigliori)


         ReDim ADati(4)
         ADati(1) = aCombMigliori(k,4)
         ADati(2) = aCombMigliori(k,1)
         ADati(3) = aCombMigliori(k,2)
         ADati(4) = aCombMigliori(k,3)

         Call AddRigaTabella(ADati)

      Next

      'Call CreaTabella

   Call CreaTabella(Col_Ord,Tipo_Ord)

   Else
      MsgBox "Selezionare la classe di sviluppo e la Sorte , " & _
      "si ricorda che la Sorte non puo essere maggiore della classe di sviluppo " & _
      "e che bisogna scegliere quale valore statistico considerare per " & _
      "alimentare la lista delle prime 100 Combinazioni "



   End If

End Sub
Sub AnalisiComb(aNum,aRuote,Sorte,aCombMig,nInizio,nFine,idValoreDaAna)

   Dim k,j

   Dim Rit
   Dim RitMax
   Dim Freq
   Dim Valore





   Call StatisticaFormazione(aNum,aRuote,Sorte,Rit,RitMax,0,Freq,nInizio,nFine)
   Select Case idValoreDaAna
   Case 1
      Valore = Freq
   Case 2
      Valore = Rit
   Case 3
      Valore = RitMax
   End Select
   For k = 1 To UBound(aCombMig)

      If Valore >= aCombMig(k,0) Then

         For j = UBound(aCombMig) To(k + 1) Step - 1
            aCombMig(j,0) = aCombMig(j - 1,0)
            aCombMig(j,1) = aCombMig(j - 1,1)
            aCombMig(j,2) = aCombMig(j - 1,2)
            aCombMig(j,3) = aCombMig(j - 1,3)
            aCombMig(j,4) = aCombMig(j - 1,4)


         Next
         aCombMig(k,0) = Valore
         aCombMig(k,1) = Freq
         aCombMig(k,2) = Rit
         aCombMig(k,3) = RitMax
         aCombMig(k,4) = StringaNumeri(aNum)


         Exit For

      End If
   Next
End Sub
Function InitSviluppaComb(Classe)

   Dim k
   ReDim aNum(90)

   For k = 1 To 90
      aNum(k) = k
   Next

   InitSviluppaComb = InitSviluppoIntegrale(aNum,Classe)

End Function

Function ScegliClasse()
   ReDim aVoci(3)

   aVoci(0) = "Estratto"
   aVoci(1) = "Ambo"
   aVoci(2) = "Terno"
   aVoci(3) = "Quaterna"


   ScegliClasse = ScegliOpzioneMenu(aVoci,2,"Scegli tipo combinazione") + 1
End Function

Function ScegliSorte()

   ReDim aVoci(3)

   aVoci(0) = "Estratto"
   aVoci(1) = "Ambo"
   aVoci(2) = "Terno"
   aVoci(3) = "Quaterna"


   ScegliSorte = ScegliOpzioneMenu(aVoci,2,"Scegli Sorte") + 1
End Function

Function ScegliValoreDaAnalizzare(sValore)

   ReDim aVoci(2)
   Dim i

   aVoci(0) = "Frequenza"
   aVoci(1) = "Ritardo"
   aVoci(2) = "Ritardo massimo"



   i = ScegliOpzioneMenu(aVoci,0,"Quale valore considerare per l'ordinamento ? ")
   sValore = aVoci(i)
   ScegliValoreDaAnalizzare = i + 1
End Function

Function GetRuoteUsate(aRuote)

   Dim k
   Dim s


   For k = 1 To UBound(aRuote)
      s = s & SiglaRuota(aRuote(k)) & " "
   Next
   GetRuoteUsate = Trim(s)
End Function

:)
 

i legend

Premium Member
Ciao mi intrometto nella discussione per salutare due vecchi amici e chiedere se non utilizzano creatabellaordibabile perché anche loro riscontrano problemi di filtro ed ordinamento.
Ciao :)
 

lotto_tom75

Advanced Premium Member
claudio8;n2135347 ha scritto:
Bravo.
spero tu abbia capito le modifiche suggerite.

Si le ho capite. Grazie. :)
Ad ogni modo mi sono accorto di questo "incongruenza operativa"... :rolleyes: :

Se lascio visualizzare tutti i risultati di una ricerca o scelgo l'opzione mostra i primi 100 richiesta alla fine dell'elaborazione se i risultati superano questa cifra... tutto ok... mi mostra i risultati voluti secondo l'ordinamento per FQ scelto... (sia esso crescente o decrescente) mentre... se imposto come numero di risultati desiderati una qualsiasi cifra (es. 1) mi mostra sempre in ordine decrescente come se la scelta di ordinamento in questo caso non la sentisse... :(

Es. "figurativo" per cercare di spiegarmi meglio...

se per analizzare tutte le coppie x E imposto ad esempio
Codice:
 ReDim aCombMigliori(4005,4)
e scelgo ordinamento per freq crescente (opzioni da input 2,1)

Tutto ok...

E in output ho le 4005 coppie mostrate in ordine crescente dall'alto verso il basso...

Ma se imposto... un valore nettamente inferiore al numero integrale di combinazioni generate... (es. 1)

Codice:
 ReDim aCombMigliori(1,4)

Allora lo script sembra non sentire minimamente l'ordinamento desiderato immesso come input...

E alla fine dell'operazione mi mostra soltanto il valore con FQ massima :eek: anzichè quello deisderato a fq min.

Why? :rolleyes:


Ps: Il pezzo di codice che mi risulta ancora piuttosto "incomprensibile" e dal quale credo dipenda "l'incongruenza" riportata sopra è questo....

Codice:
 For k = 1 To UBound(aCombMig)

      If Valore >= aCombMig(k,0) Then

         For j = UBound(aCombMig) To(k + 1) Step - 1
            aCombMig(j,0) = aCombMig(j - 1,0)
            aCombMig(j,1) = aCombMig(j - 1,1)
            aCombMig(j,2) = aCombMig(j - 1,2)
            aCombMig(j,3) = aCombMig(j - 1,3)
            aCombMig(j,4) = aCombMig(j - 1,4)


         Next
         aCombMig(k,0) = Valore
         aCombMig(k,1) = Freq
         aCombMig(k,2) = Rit
         aCombMig(k,3) = RitMax
         aCombMig(k,4) = StringaNumeri(aNum)


         Exit For
 
Ultima modifica:

lotto_tom75

Advanced Premium Member
i legend;n2135350 ha scritto:
Ciao mi intrometto nella discussione per salutare due vecchi amici e chiedere se non utilizzano creatabellaordibabile perché anche loro riscontrano problemi di filtro ed ordinamento.
Ciao :)

Ciao grandissimooo :) , la necessità di ordinare la matrice dei risultati per fq crescente è partito proprio dal tuo spettacolare script legend script ;) Infatti purtroppo sembra non sentire l'ordinamento per fq crescente... mostrando in output sempre ordinamento -1 ma ordinando sempre in modalità decrescente... Ad ogni modo con l'occasione ti ringrazio nuovamente per quella stupenda chicca del tuo script e rispondendoti alla tua domanda... no non ho mai utilizzato che mi ricordi "creatabellaordinabile" :eek: :( anzi... non sapevo nemmeno della sua esistenza! :D Grazie anche per questa info indiretta ;)
 
Ultima modifica:

claudio8

Premium Member
Adesso ti posso dare l'indicazione, che è quella io che uso più sovente perchè più funzionale per la tua esigenza di ordinamento, anche multiplo e per il veloce salvataggio dei dati.

Ritorna allo script originale di Luigi il "Mago"
Sostituisci solo il
Call CreaTabella
con
Call CreaTabellaOrdinabile

e meravigliosamente ti apparirà tutt'altro mondo grazie al magnifico Luigi ed al suo programma.
Clicca sul titolo della colonna di tuo interesse e vedrai cambiare automaticamente gli ordinamenti.
Con i comandi che sono presenti nella cornice della tabella le possibiltà operative diventeranno, se non infinite, tantissime.

Un saluto, e passa anche a darci qualche previsione buona...., sono sempre ben accette.

Ps: come avrai notato, anche se in qualche modo da te sofferta, io "preferisco insegnare come pescare che passare il pesce pescato". ( a
Per ulteriori dettagli di migliore utilizzo della tabella che vedrai, devi andare nell' Help di CreaTabellaOrdinabile e cercare i post con tutte le possibili variazioni al tema ( titolo, salvataggio ecc.ecc.)
ancora un saluto...
 

claudio8

Premium Member
i legend;n2135350 ha scritto:
Ciao mi intrometto nella discussione per salutare due vecchi amici e chiedere se non utilizzano creatabellaordibabile perché anche loro riscontrano problemi di filtro ed ordinamento.
Ciao :)

Ciao I Legend, non importa che ti sia intromesso, anche se mi hai anticipato nello svelare la "Magia".
ti rispondo che personalmente uso la versione 1.6.23 e non riscontro problemi di filtro, anzi spazio tranquillamente tra i filtri senza che mi dia errori, probabilmente tu non li usi correttamente o la versione che usi non te lo permette, comunque se posti la questione in maniera specifica, con l'esempio vedo se riesco ad aiutarti.
Ciao
 

lotto_tom75

Advanced Premium Member
Dunque.. già testata la potenza di TabellaOrdinabile del Mago Luigib : spettacolare :eek: :D

Grazie di nuovo ad entrambi claudio, i legend e ovviamente al Mago Lu :eek: .

Io però per le mie crazy ricerche... necessiterei di qualcosa di leggermente diverso...

Avrei bisogno di visualizzare in output solo l'unico valore con FQ minore rilevato per la classe e sorte ricercati... (non importa se vi è più di una formazione con lo stesso valore). E inoltre di poterlo salvare in file txt per rielaborarlo sempre in automatico con un altro script che lo dovrebbe prendere dal file txt.

Ad ogni modo adesso mi serve solo di poter estrapolare su file txt un unico valore con fq minore per la sorte e classe impostati.

E purtroppo anche la magica.. TabellaOrdinabile richiede un passaggio manuale per poter ordinare e salvare nel modo desiderato l'output elaborato e non fa quindi al caso mio...

Qualche suggerimento al riguardo? :eek::rolleyes::D


Riguardo alle previsioni claudio qualcuna... la metto... :)
Sopratutto le puoi trovare nella sezione LottocedForum e in quella Sistemistica.


Grazie comunque friends ;)
 
Ultima modifica:

i legend

Premium Member
Ciao grazie a claudio , cerco di riprodurre l errore su uno script generale e ti posto i dati
ciao Tom tabella ordinabile ha dei limiti inserimento dati, uno sviluppo a quaterna integrale non potrebbe gestirlo , non so quanti record puo contenere.
bisogna chiesere al prof ;)
se ti serve solo un valore , non serve utilizzare le tabelle
.
 

lotto_tom75

Advanced Premium Member
i legend;n2135374 ha scritto:
Ciao grazie a claudio , cerco di riprodurre l errore su uno script generale e ti posto i dati
ciao Tom tabella ordinabile ha dei limiti inserimento dati, uno sviluppo a quaterna integrale non potrebbe gestirlo , non so quanti record puo contenere.
bisogna chiesere al prof ;)
se ti serve solo un valore , non serve utilizzare le tabelle
.

Si mi servirebbe solo la formazione con il valore di fq minore risultante (indipendentemente dal fatto che ve ne possa essere anche più di uno).

Come potrei fare magari ricorrendo allo script per elaborazioni di tipo integrale? :eek: Grazie 1000! :)

TabellaOrdinabile funziona comunque con classi di elementi fino al valore 20 se si parla ovviamente di sviluppo integrale. Per adesso mi ha ordinato egregiamente ben 10626 righe elaborate in meno di un minuto. Il Proff Lu è davvero un Mago sotto plurimi aspetti... :D
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 23 aprile 2024
    Bari
    47
    22
    34
    20
    50
    Cagliari
    33
    14
    86
    02
    62
    Firenze
    61
    22
    44
    19
    26
    Genova
    21
    12
    57
    82
    55
    Milano
    66
    05
    11
    70
    30
    Napoli
    05
    23
    25
    52
    73
    Palermo
    23
    44
    49
    71
    65
    Roma
    82
    37
    59
    34
    71
    Torino
    26
    42
    66
    15
    58
    Venezia
    57
    06
    68
    54
    84
    Nazionale
    21
    79
    49
    03
    01
    Estrazione Simbolotto
    Genova
    24
    02
    19
    03
    27

Ultimi Messaggi

Alto