Gambas-it

Gambas3 => Programmazione => Topic aperto da: dex - 04 Agosto 2025, 22:26:54

Titolo: Riempire Matrice dinamica
Inserito da: dex - 04 Agosto 2025, 22:26:54
Ciao raga
sono completamente arrugginito e mi serve una mano
devo caricare i codici dei clienti in una matrice dinamica ma devo evitare di fare doppioni.
con una query prendo i dati dal database
con una struttura if se il codice di quel cliente non è nella matrice lo inserisce se invece è presente passa oltre

mi sono completamente dimenticato come interrogare la matrice dinamica per vedere se quel codice è presente

Codice: [Seleziona]
Dim CodCli As New Integer[]
Dim sql As String
Dim MyRS As Result
Dim Nrec As Integer
Dim n As Integer

For n = 1 To Nrec 'inserire n. record
     
     'if se non è nella matrice aggiungere il codice cliente qui mi serve interrogare la matrice
     
     CodCli.Add(MyRS!idcliente)
     
   
     
     MyRS.MoveNext
   Next
Titolo: Re:Riempire Matrice dinamica
Inserito da: vuott - 04 Agosto 2025, 23:50:31
Userei il Metodo ".Find()" degli Oggetti Array.

   https://gambaswiki.org/wiki/comp/gb/integer[]/find?l=it
Titolo: Re:Riempire Matrice dinamica
Inserito da: dex - 04 Agosto 2025, 23:51:23
Grazie Vuott
 :2birre:
Titolo: Re:Riempire Matrice dinamica
Inserito da: Gianluigi - 09 Agosto 2025, 17:37:02
Ho aspettato a rispondere per vedere se sulla ML (in realtà sul bugtracker dove, come mi accade spesso, ho indicato un bug che non era tale), Fabien Bodard mi indicava un metodo più veloce di ExistSorted.
Comunque rispetto a Find è decisamente più veloce circa 10 volte tanto.
Devi solo inserire il risultato tenendo conto dell'ordinamento, se tu non puoi ordinare i dati non puoi usarlo.
Ho fatto un test con SQLite che allego

 :ciao:
Titolo: Re:Riempire Matrice dinamica
Inserito da: vuott - 09 Agosto 2025, 19:01:24
Fabien Bodard mi indicava un metodo più veloce di ExistSorted.
...qual'è ?
Titolo: Re:Riempire Matrice dinamica
Inserito da: Gianluigi - 09 Agosto 2025, 22:07:57
Fabien Bodard mi indicava un metodo più veloce di ExistSorted.
...qual'è ?

Ho aspettato perché aveva scritto questo: Not sure the ExistSorted be the best function in your case. Because of the time needed by sorted each added values. il che mi aveva fatto credere avesse un algoritmo migliore...
Alla mia richiesta di passarmelo, non ha più risposto, quindi suppongo fosse solo teoria.