Autore Topic: Tenere in memoria piu valori della stessa variabile  (Letto 2309 volte)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:Tenere in memoria piu valori della stessa variabile
« Risposta #15 il: 11 Giugno 2019, 21:56:47 »
Ciao Gian
il database è in remoto e ogni volta per le query è lento.

grazie per l'esempio ora ci guardo

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:Tenere in memoria piu valori della stessa variabile
« Risposta #16 il: 11 Giugno 2019, 22:14:32 »
Gian nel tuo esempio la carichi come una matrice.
collection ha la possibilità delle key, io volevo sfruttare proprio queste per leggere i dati.

provo a fare delle modifiche

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Tenere in memoria piu valori della stessa variabile
« Risposta #17 il: 11 Giugno 2019, 22:20:41 »
Io ho fatto un semplice esempio che sfrutta il fatto che il valore di una collection è variant (e quindi può essere anche una matrice stringa), solo per dimostrarti che se la collection è pubblica la puoi interrogare ovunque.
Tu la collection la puoi creare come desideri.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Tenere in memoria piu valori della stessa variabile
« Risposta #18 il: 11 Giugno 2019, 22:25:22 »
Ciao Gian
il database è in remoto e ogni volta per le query è lento.


Hai mai preso in considerazione di affiancare al remoto un database locale leggero come SQLite?
So che tanti lo fanno...
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:Tenere in memoria piu valori della stessa variabile
« Risposta #19 il: 11 Giugno 2019, 22:52:25 »
Ciao Gian
il database è in remoto e ogni volta per le query è lento.


Hai mai preso in considerazione di affiancare al remoto un database locale leggero come SQLite?
So che tanti lo fanno...

si potrei anche farmi una tabella mysql o un file testo, ma trovo meglio lavorare con le variabili, in quanto con il database per ogni query comunque devo memorizzare in una variabile.

una domanda i numeri 1 2 e 3 che aggiungi dopo ss sono una numerazione tipo indice? la collection ha un suo index?

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Tenere in memoria piu valori della stessa variabile
« Risposta #20 il: 11 Giugno 2019, 23:21:52 »
una domanda i numeri 1 2 e 3 che aggiungi dopo ss sono una numerazione tipo indice? la collection ha un suo index?

Una collection si carica così NomeCollection.Add(Valore come variant, Chiave come stringa)
Ma puoi anche caricarla linearmente tipo array: collezione = [chiave come stringa, valore come variant, chiave come string, valore...]

Molto interessante anche questa lezione di Orionis:
https://www.gambas-it.org/wiki/index.php?title=Confronto_Array_di_Strutture_verso_Collezione_di_Classi#COLLECTION
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:Tenere in memoria piu valori della stessa variabile
« Risposta #21 il: 19 Giugno 2019, 01:23:20 »
Ciao raga
mi serve un mano che mi sono incartato

devo creare delle Collection da programma in esecuzione e non da codice, in qiuanto non so a priori ne il nome ne la quantita delle collection

da una query del database mi arriva un certo numero di record, per ogni record mi serve una collection, per esempio, query 30 record, mi servono 30 collection tipo:

record 1 codice cliente SF241
Codice: [Seleziona]
Dim SF241 As Collection = ["nome": "Antonio", "cognome": "Norcino", ecc...]

record 2 codice cliente SF278
Codice: [Seleziona]
Dim SF278 As Collection = ["nome": "Pinto", "cognome": "Pallino", ecc...]

e cosi via per 30 collection

mi serve sapere solo come crearle al volo, poi con un ciclo le faccio caricare i dati



« Ultima modifica: 19 Giugno 2019, 01:26:03 da dex »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Tenere in memoria piu valori della stessa variabile
« Risposta #22 il: 19 Giugno 2019, 10:15:13 »
Ciao dex,
direi che più incartato di così sia impossibile.
Ma ti sembra percorribile la tua soluzione?
Ma neanche i principianti.  :violent:
È impossibile dichiarare variabili in modo dinamico, questo almeno in un dialetto basic, auguriamoci che vuott abbia la voglia di illuminarci un po al riguardo.
La soluzione la puoi trovare nell'articolo di Orionis che ti ho già indicato.
Crei dinamicamente una collezione di oggetti utenti.
Oppure carichi un array di array: vedi DynamicMatrixExample negli Esempi della Software farm.
Attento però all'insidia di poter esaurire la memoria caricandoci un'intera tabella, è per questa ragione che esistono i database e SQL.

P.S. Mi è venuto in mente che potrebbe essere utile anche questo esempio:
http://www.gambas-it.org/smf/index.php?topic=6369.msg43941#msg43941
« Ultima modifica: 19 Giugno 2019, 11:48:26 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:Tenere in memoria piu valori della stessa variabile
« Risposta #23 il: 19 Giugno 2019, 23:40:33 »
Ciao Gian
hai ragione la vedo dura, cmq sopra mi sono espresso male, intendevo assegnargli in modo dinamico il nome della variabile, tipo dichiarata Dim Cliente as new String e poi rinominarla in C452,  ma comunque come hai precisato tu la strada è difficile e rischio di esaurire subito le risorse.

Anche appoggiandomi a un database locale le cose non cambiano, devo fare tantissime query scaricare i risultati delle query nelle variabili e usare le variabili per i processi di analisi, grafici, comparazione ecc..

mi devo studiare un'altra strada, tipo aggregare prima con le query quanti più dati possibile e poi scaricare i dati nelle variabili usarli e distruggere subito le variabili

grazie dell'aiuto e alla prossima.

ps. se lo vedi salutami vuott