Autore Topic: Ridefinizione di variabili di tipo array  (Letto 795 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Ridefinizione di variabili di tipo array
« il: 22 Luglio 2009, 23:46:36 »
Chiedo scusa per il nome attribuito all'oggetto, ma ho difficoltà a sintetizzare la mia necessità.
Ho definito nel mio programma una matrice di questo tipo:
Codice: [Seleziona]
PRIVATE TabMemo AS String[100, 4] 

Per cui la stringa é formata da 100 elementi di 1° livello e ciascun elemento di 1° livello é ma sua volta formato da 4 elementi di 2° livello. In certe occasioni ho necessità di fare riferimento esclusivamente agli elementi di 1° livello, come, per esempio, in uno swap tra due elementi. Allora ho pensato di rinominare la stringa in questo modo:
Codice: [Seleziona]
PRIVATE El_TabMemo AS String[TabMemo[100]]

La definizione siffatta non fornisce errori di sintassi, ma lo swap a cui accennavo prima:
Codice: [Seleziona]
SWAP El_TabMemo[i_Ind1], [i_Ind2]

 restituisce il seguente errore:
Citazione
invalid assignment alla linea 200 in Form1.class

Com'é chiaramente deducibile, si tratta di ridefinire una variabile di tiopo matrice (Redefines, in Cobol  :confidenza: ).
Purtroppo non ho potuto rifarmi alle esperienze già vissute in VB o ...Basic, perché non ho più disponibile l'ambiente di programmazione. Non mi resta che ricorrere al "sapere" di che conosce Gambas, nella speranza di essermi spiegato.
 :-)  :ciao:  :ciao:
:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Ridefinizione di variabili di tipo array
« Risposta #1 il: 27 Luglio 2009, 18:25:20 »
mai usato matrici multidimensionali per credo che potresti provare a indicizzare così:

Codice: [Seleziona]
 SWAP El_TabMemo[i_Ind1, i_Ind2]

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Ridefinizione di variabili di tipo array
« Risposta #2 il: 27 Luglio 2009, 23:56:57 »
Citazione

fsurfing ha scritto:
mai usato matrici multidimensionali per credo che potresti provare a indicizzare così:
Codice: [Seleziona]
 SWAP El_TabMemo[i_Ind1, i_Ind2]


La tua é l'unica ripsosta ricevuta e ti ringrazio per la tua cortesissima collaborazione. Anche se non convinto ho provato ed ho ottenuto, come pensavo, un errore di sintassi sulla virgola posta fra i_Ind1 e i_Ind2, Partendo allora dalla definizione di  "El_TabMemo", ho scritto:
Codice: [Seleziona]
SWAP El_TbPiaCont[i_Ind1], El_TbPiaCont[i_Ind2]

L'istruzione siffatta non fornisce alcun errore formale di sintassi. Verificherò poi durante l'esecuzione del programma e ti saprò dire. Posso intanto proseguire fino alla prossima difficoltà.
 :-)  :ciao:  :ciao:
:ciao: