Autore Topic: Riempire un array  (Letto 1853 volte)

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re: Riempire un array
« Risposta #15 il: 25 Settembre 2012, 15:41:41 »
Molto buono, provo a fare così, grazie.  :ok:
Anche perchè la sequenza intera ce l'ho ancora nel programma, non l'ho cancellata, devo solo spezzettarla dove serve. ;)
Che poi, a guardare bene, la prima matrice provvisoria non serve, si possono assegnare direttamente alla matrice bidimensionale i primi 37 elementi, tenendo conto di come vengono assegnati i posti, come mi hai spiegato tu più sopra. Tanto lavoro in meno. :)

Aggiornamento: il tuo metodo funziona perfettamente, con la differenza che le matrici temporanee ho dovuto metterle fuori dalla sub_new, cioè sopra, e dichiararle Public o Private, altrimenti mi da errore Dim inaspettato.
Oltre al fatto che la prima matrice provvisoria ho dovuto usarla, altrimenti altro errore. :-[
« Ultima modifica: 25 Settembre 2012, 16:24:42 da Top Fuel »
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Riempire un array
« Risposta #16 il: 25 Settembre 2012, 18:49:57 »
Molto buono, provo a fare così, grazie.  :ok:
 le matrici temporanee ho dovuto metterle fuori dalla sub_new, cioè sopra, e dichiararle Public o Private, altrimenti mi da errore Dim inaspettato.
Oltre al fatto che la prima matrice provvisoria ho dovuto usarla, altrimenti altro errore. :-[
Non é possibile. Dim funziona. Sei sicuro di avere dichiarato le DIM dentro la _new?  Detto tipo di errore lo da, per le mie conoscenze, se dichiari le DIM fuori da qualsiasi procedura.  Postami le DIM che ti danno errore. Vorrei capire perché. Come hai potuto notare dalla mia risposta precedente io ho dichiarato le matrici provvisorie con DIM; ho poi provato le istruzioni che ho inserite ed, a caricamento avvenuto della matrice definitiva, ho anche eseguito il Print del suo contenuto ed ha funzionato perfettamente, quindi avrai commesso un qualche errrore di scrittura. La dichiarazione delle matrici Public  ti lascia impegnata, per tutta la durata del programma, l'area di memoria che hai riservato in fase di dichiarazione, mentre, se le dichiari  Private , l'impegno di memoria è ridotto al solo periodo di stato attivo del file in cui sono state dichiarate. Però, potrebbe succedere che se il programma svolge il suo lavoro tuttio in FMain, sia la dichiarazione Public  che  Private , produce un impegno di memoria esteso all'intera durata del programma. Io ti consiglio, soprattutto per prendere una buona abitudine, a utilizzare variabili Public o Private solamente nei casi di effettiva inevitabile necessità.  :)
 :ciao:  :ciao:
« Ultima modifica: 25 Settembre 2012, 19:01:05 da Picavbg »
:ciao:

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re: Riempire un array
« Risposta #17 il: 25 Settembre 2012, 20:32:09 »
Non so che dirti, qui da me funziona così. :-\
Ho messo in allegato la prima stesura del programma (che funziona già piuttosto bene 8)), come puoi vedere qualsiasi cosa che non sia una variabile semplice mi tocca dichiararla Public o Private in cima al programma, se uso una Dim, da qualsiasi parte, mi da Unexpected Dim in...
C'è forse qualche settaggio particolare di Gambas che regola questa cosa?
Ah, per eliminare le matrici temporanee, va bene come ho fatto io o c'è una sua istruzione apposita? Ho guardato nell'help ma non mi sembra di aver trovato niente a riguardo.
« Ultima modifica: 25 Settembre 2012, 20:36:04 da Top Fuel »
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Riempire un array
« Risposta #18 il: 25 Settembre 2012, 22:01:37 »
Non so che dirti, qui da me funziona così. :-\
, se uso una Dim, da qualsiasi parte, mi da Unexpected Dim in...
C'è forse qualche settaggio particolare di Gambas che regola questa cosa?
A meno che non dipenda dalla versione di Gambas, non conosco una particolare assegnazione di proprietà per potere riconoscere la validità della DIM. Io non ho mai avuto sorprese come la tua. Attualmente uso la versione 3-3.2.0. Esistono versioni successive che danno problemi vari. Non vorrei che la tua rientrasse in una di esse. Ho provato il tuo programma spostando la dichiarazione delle matrici provvisorie dentro la procedura "_new", modificandole ovviamente in DIM, ed ha funzionato perfettamente. Credo perciò che ti convenga aprire una nuova discussione sull'argomento. :-\

Citazione
Ah, per eliminare le matrici temporanee, va bene come ho fatto io o c'è una sua istruzione apposita? Ho guardato nell'help ma non mi sembra di aver trovato niente a riguardo.
No, perché così la matrice é sempre presente, con un solo elemento impegnato, anche se vuoto. Meglio:
Codice: [Seleziona]
matrice0.Clear
matrice1.Clear
matrice2.Clear
matrice3.Clear
matrice4.Clear
matrice5.Clear
di modo che la matrice venga cancellata completamente. Non presenta perciò alcun elemento impegnato.  :coder:

Ho lanciato il programma e mi pare che già svolga il suo compito egregiamente.  :ok:
Complimenti.
 :ciao:  :ciao:

:ciao:

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re: Riempire un array
« Risposta #19 il: 25 Settembre 2012, 23:18:05 »
Grazie per i complimenti. :)
Comunque non è ancora finito, ho parecchia roba in testa che voglio implementare. Tutto sta a riuscirci, non sarà facile.
La versione che ho io è addirittura antecedente alla tua, è la 3.1.1.
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.