Novità

NUOVO AMBIENTE SCRIPT AREA TECNICA

  • Creatore Discussione Creatore Discussione LuigiB
  • Data di inizio Data di inizio
Private Sub cmbOrd_Change() AlimentaLista End Sub
Prova l evento cmbOrd_click
Pulisci la listbox
Dim av() as variant
Dim idcol as long
Idcol= combord.listindex
Av= ordinamatrice(.....)
poi alimenti la listbox
prova a vedere se possa funziare.

End Sub
Nell evento chance pulisci la griglia
 
Ultima modifica:
Prova l evento cmbOrd_click
Pulisci la listbox
Dim av() as variant
Dim idcol as long
Idcol= combord.listindex
Av= ordinamatrice(.....)
poi alimenti la listbox
prova a vedere se possa funziare.

End Sub
Nell evento chance pulisci la griglia

Se vedi il code che ho postato ci sono... e li ho provati... già tutti... comunque thanks :)
 
Secondo me se luigi è così severo... nell'insegnare la sua materia... è solo colpa... delle monache della tana delle tigri di Berlino... comunque :ROFLMAO::LOL:
 
Tom è l'evento click che lancia la routine.

Si ma anche l'evento change...

Comunque, non so se può servire ad aiutarmi ad uscire da sto pantano..., ma casualmente mi sono accorto che la list box si ordina correttamente x ritardo decrescente se scelgo come parametro di ordinamento dalla combobox il ritardo massimo :eek::LOL: però questa traslazione verso destra sembra avvenire solo per questi due parametri (ra e rs) per tutti gli altri non funziona... Ad esempio se scelgo di ordinare per incmax ipotizzando che invece mi ordini per rs decrescente questo non avviene... 😵🫠

casualmentehonotatoche.jpg

ricordo il code relativo richiamato dall'evento click o change della combo:


Codice:
     Sub AlimentaLista(Optional colonnesviluppate As Long)
 
     outputform.List1.Clear
 
         Dim aV() As Variant
         Dim k3 As Long

         aV = OrdinaMatrice(matricexlistbox, outputform.cmbOrd.ListIndex, , 1)
   
         outputform.print "quantità di righe decise in modo statico, purtroppo..., per la matrice" & UBound(matricexlistbox)
  
        For k3 = 1 To UBound(matricexlistbox) 

       outputform.List1.AddItem("n:" & aV(k3, 0) & " r: " & aV(k3, 1) & " rit " & aV(k3, 2) & " ritmax " & aV(k3, 3) & " incmax " & aV(k3, 4) & " freq " & aV(k3, 5))
   
        Next
  
        End Sub
 
Ultima modifica:
I

Tom manca il verso di ordinamento

Si ma è opzionale e poi non si tratta di quello :)
Trovato l'erroreeeeee!!! :D O per meglio dire l'inghippo... strutturale della combo...
Prima che Luigi si agiti troppo.... :D ve lo posto... :D

Trova le differenze... :eek::ROFLMAO:

versione ERRATA... non compatibile con la mia matrice...

Codice:
    Sub AlimentaCombo()
        cmbOrd.AddItem "Numeri"
        cmbOrd.AddItem "Ritardo"
        cmbOrd.AddItem "Ritardo Max"
        cmbOrd.AddItem "Incmax"
        cmbOrd.AddItem "Frequenza"
        cmbOrd.AddItem "Ruota"      
 cmbOrd.ListIndex = 0
 
End Sub

versione CORRETTA compatibile con la mia matrice

Codice:
    Sub AlimentaCombo()
        cmbOrd.AddItem "Numeri"
        cmbOrd.AddItem "Ruota"
        cmbOrd.AddItem "Ritardo"
        cmbOrd.AddItem "Ritardo Max"
        cmbOrd.AddItem "Incmax"
        cmbOrd.AddItem "Frequenza"
        cmbOrd.ListIndex = 0
    End Sub

Me felice! Anche se non sono sicuro di averle comprese al 1000% un passettino verso la comprensione della gestione "matriciale" credo di averlo fatto 👣 😸🤖...

Il prossimo... credo che sarà verso la generazione dei grafici dinamici... :unsure:🤪🫠

trovatolerroresecosisipuodire.jpg

Grazie di nuovo a tutti a cominciare dal sergente maggiore SLDR (y)💪👌🤠

Good Night 😴

👋🙂
 
Ultima modifica:
Si ma è opzionale e poi non si tratta di quello :)
Trovato l'erroreeeeee!!! :D O per meglio dire l'inghippo... strutturale della combo...
Prima che Luigi si agiti troppo.... :D ve lo posto... :D

Trova le differenze... :eek::ROFLMAO:

versione ERRATA... non compatibile con la mia matrice...

Codice:
    Sub AlimentaCombo()
        cmbOrd.AddItem "Numeri"
        cmbOrd.AddItem "Ritardo"
        cmbOrd.AddItem "Ritardo Max"
        cmbOrd.AddItem "Incmax"
        cmbOrd.AddItem "Frequenza"
        cmbOrd.AddItem "Ruota"     
 cmbOrd.ListIndex = 0
 
End Sub

versione CORRETTA compatibile con la mia matrice

Codice:
    Sub AlimentaCombo()
        cmbOrd.AddItem "Numeri"
        cmbOrd.AddItem "Ruota"
        cmbOrd.AddItem "Ritardo"
        cmbOrd.AddItem "Ritardo Max"
        cmbOrd.AddItem "Incmax"
        cmbOrd.AddItem "Frequenza"
        cmbOrd.ListIndex = 0
    End Sub

Me felice! Anche se non sono sicuro di averle comprese al 1000% un passettino verso la comprensione della gestione "matriciale" credo di averlo fatto 👣 😸🤖...

Il prossimo... credo che sarà verso la generazione dei grafici dinamici... :unsure:🤪🫠

Vedi l'allegato 2256639

Grazie di nuovo a tutti a cominciare dal sergente maggiore SLDR (y)💪👌🤠

Good Night 😴

👋🙂


Benissimo oltre al dolce ora nel tuo bistrot puoi offrire pure pietanze salate visto che ormai possiedi la ricetta ...della pasta alla a Matrici ana ..




images
 
chi mi conferma se è giusto

devo cancellare due file, ad inizio elaborazione di un programmino, che poi li creerà nuovi

devo usare killfile(nomedelfile)

dopo averlo cancellato, verifico se
non c'è piu, e lo ricreo con i dati nuovi aggiornati?


If KillFile(nome del file) Then
f = FreeFile
Open sFileIni For Append As f
For Each sRecord In coll
Print #f, sRecord
Next

Close f
End If


in altre parole, si usava eliminafile con tb è killfile?


grazie
 
chi mi conferma se è giusto

devo cancellare due file, ad inizio elaborazione di un programmino, che poi li creerà nuovi

devo usare killfile(nomedelfile)

dopo averlo cancellato, verifico se
non c'è piu, e lo ricreo con i dati nuovi aggiornati?


If KillFile(nome del file) Then
f = FreeFile
Open sFileIni For Append As f
For Each sRecord In coll
Print #f, sRecord
Next

Close f
End If


in altre parole, si usava eliminafile con tb è killfile?


grazie
1680364175809.png
 
Il classico esempio del bastone(prima) e la pasta( dopo). 🤣🤣🤣🤣🤣🤣

pasta al sugo di carota 😆

Dei due problemini elencati riguardo la matrici_ana... però ne ho risolto solo uno... :unsure:😌
Mi resta ancora quello di poter ridimensionare dinamicamente la stessa matrice durante l'elaborazione....
Ovvero non so a priori quante righe la matrice dovrà contenere quindi è inutile o perlomeno non ottimale mettere una cifra a caso.. tipo 100 o 1000 nel primo parametro della stessa... Ho provato ereticamente... a fare con redim... ma visto i risultati penso che non si applichi alle matrici multidimensionali... 😝 👋:)
 
Ultima modifica:
Se non ricordo male il redim si applica alle colonne non alle righe.
Per risolvere il problema è un passaggio in più una volta avevo messo tutto in un vettore
Redim a vett( 0)
Anziccche memorizzare tutto nelle colonne ho costruito una stringa unica con un carattere separatore.
Quindi diventava
Se condizione rispettata allora m=m+1
Redim preserve avett(m)
avett(m)= a&","&b&","&c&","&d

Così sai quante righe ci sono.
Le scorri le splitti e le metti nella grid . Poi ordini da tabella.
Oppure le trasferisci in una matrice e poi la ordini.
Io ho fatto così in modo maccheronico
Oppure fai tanti vettori quante colonne e poi ordini tutte le colonne in base alla colonna che decidi da ordinare.
In rete sicuramente ci sono soluzioni migliori.
 
malauguratamente gli array multidimensionali si possono dimensionare dinamicamente solo nell'ultima dimensione ..la soluzione piu semplice per te è sovradimensionarlo e applicare l'ordinamento dal primo indice all'ultimo che dopo che avrai alimentato la matrice sarà noto.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 24 aprile 2025
    Bari
    80
    69
    75
    58
    16
    Cagliari
    88
    05
    51
    65
    75
    Firenze
    74
    65
    19
    47
    42
    Genova
    87
    89
    22
    32
    26
    Milano
    27
    13
    15
    56
    23
    Napoli
    24
    87
    62
    41
    28
    Palermo
    76
    20
    33
    62
    35
    Roma
    80
    23
    84
    15
    85
    Torino
    78
    34
    18
    41
    62
    Venezia
    05
    84
    83
    31
    46
    Nazionale
    72
    69
    25
    54
    64
    Estrazione Simbolotto
    Genova
    21
    40
    27
    35
    16
Indietro
Alto