Novità

NUOVO AMBIENTE SCRIPT AREA TECNICA

  • Creatore Discussione Creatore Discussione LuigiB
  • Data di inizio Data di inizio
il bagno te lo farei fare io .. tenendoti la testa sott'acqua però .. finche non mi dici che hai capito le matrici...

questa è una matrice

51ZbONNB24L._AC_UL320_.jpg


pure questa

71a8eQtJYeL._AC_UL320_.jpg


e anche questa ....


Vedi l'allegato 2256531
Vai con le bacchettate Luigi.
X Tom quando è capitato a me capire le matrici sono stato super bacchettato 👳👳👳
Saluti a tutti e buon lavoro
 
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
    martedì 15 aprile 2025
    Bari
    55
    04
    89
    85
    20
    Cagliari
    28
    29
    83
    74
    11
    Firenze
    33
    61
    17
    13
    59
    Genova
    03
    89
    46
    30
    34
    Milano
    30
    22
    08
    80
    21
    Napoli
    28
    48
    38
    62
    76
    Palermo
    18
    12
    01
    66
    16
    Roma
    29
    79
    26
    16
    44
    Torino
    12
    77
    49
    50
    66
    Venezia
    64
    45
    57
    85
    01
    Nazionale
    60
    39
    72
    49
    26
    Estrazione Simbolotto
    Genova
    13
    12
    14
    33
    24
Indietro
Alto