Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34

Discussione: array bidimensionale

  1. #1

    array bidimensionale

    Non capisco dove sbagli.. io ho bisognod i un'array bidimensionale dove nel inserisco id prodtto e quantità

    piccolo esempi
    Dim myArr(2,2)
    myArr(0)= 5
    myArr(0,0)= 1

    questo script mi da errore cioè "Indice non incluso nell'intervallo"

    Io voelvo fare un array bidimensionale e poterlo aumentare con preserver redim se è un nuovo prodotto e aumentare la quantità se il prodotto è uguale...
    mi date una mano per favore
    http://www.actionscript.it/forum/

    www.actiondesign.it

  2. #2

    Re: array bidimensionale

    Originariamente inviato da pepigno1975
    Non capisco dove sbagli.. io ho bisognod i un'array bidimensionale dove nel inserisco id prodtto e quantità

    piccolo esempi
    Dim myArr(2,2)
    myArr(0)= 5
    myArr(0,0)= 1

    questo script mi da errore cioè "Indice non incluso nell'intervallo"

    Io voelvo fare un array bidimensionale e poterlo aumentare con preserver redim se è un nuovo prodotto e aumentare la quantità se il prodotto è uguale...
    mi date una mano per favore
    myArr(0)= 5 Qui è specificato solo un indice. Se è bidimensionale (matrice 2d) devi inserire ad esempio una riga farai :

    myArr(0,0) = "Prova"
    myArr(0,1) = "Pagina"
    myArr(1,0) = "Test"
    myArr(2,0) = "Prodotto"

    Quindi la prima riga conterrà [Prova, Pagina] e la seconda [Test, Prodotto]


  3. #3
    Ok capito , approfitto della tua gentilezza e ti faccio ancora una domandina.

    In pratica io con request ottenngo un numero di id ma in questo caso faccio un random per simulare un 'aggiungio prodotto al carrello.

    Io inizialmente ho un array cosi
    Dim myArr(0,1)

    Randomize()
    id= int(rnd*10)+1

    myArr(0,0)= 1
    myArr(0,1)= 1
    ' ora devo aggiungere l'id
    Redim Preserve myArr(1,1)
    ' questo redim mi da erore perchè?

    In pratica io devo controllare il primo indice e vedere se l'id e presente e se è presente invece di aggiungere un id aumento l'altro indice che rappresenta la quantità
    http://www.actionscript.it/forum/

    www.actiondesign.it

  4. #4
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, un array dinamico deve essere inizializzato con la funzione ReDim , pertanto dovresti fare una cosa del genere:
    codice:
    Dim myArr
    ReDim myArr(0,1)
    Con gli array dinamici devi fare attenzione ad alcune cose, se usi la funzione preserve , puoi ridimensionare solo l'ultimo indice del vettore!
    In poche parole, partendo dall'inizializzazione di cui sopra:
    ReDim preserve myArr(10,5) non è ammessa
    ReDim preserve myArr(0,5) è ammessa
    ReDim myArr(10,5) è ammessa

    spero di essere stato chiaro.
    Jupy

  5. #5
    Insomma non tanto, si non sono molto ferrato in ASP , sono più ferrato con flash e actionscript.

    Allora io ho un array cosi


    Dim myArr(0,1)
    myArr(0,0)= "1"
    myArr(0,1)= 1

    ora io dovrei aggiungere un nuove elemnto con 1 come quantità-

    cioè

    myArr(1,0)= "2"
    myArr(1,1)= 1

    come utilizzo il preserve?
    http://www.actionscript.it/forum/

    www.actiondesign.it

  6. #6
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    allora, se vuoi usare il preserve, a priori devi sapere la grandezza della prima dimensione, altrimenti non puoi usare preserve per modificare la prima dimensione di un vettore multidimenisone!
    premesso questo devi partire cosi:
    Dim myArr
    Redim myArr(valoreMaxCheVuoiTu,1)

    myArr(0,0)= "1"
    myArr(0,1)= 1

    myArr(1,0)= "1"
    myArr(1,1)= 1

    in pratica, per il tuo caso, visto che la seconda dimensione è fissa a 1, e non cambierà mai, non ha senso usare la funzione preserve e di conseguenza, per mantenere i dati, non puoi usare la funzione redim, pertanto non puoi usare array dinamici cosi come lo vorresti tu!
    Jupy

  7. #7
    Non ho capito perchè non posos usare redim.
    Faccio un'esempio per capirci, supponiamo che i prodotti sono lettere dell'alfabeto.

    id= "A"

    myArr(0,0)="A"
    myArr(0,1)=1

    id="B"
    ' qui devo ridimensionare l'array ed aumentarlo di uno e farlo diventare cosi

    myArr(1,0)= "B"
    myArr(1,1)=1

    Ma se aggiungo di nuovo A dovrei aumentare cosi

    myArr(0,1)= 2


    E' possibile farlo....
    http://www.actionscript.it/forum/

    www.actiondesign.it

  8. #8
    Ok ci sono....

    Dim myArr
    Redim myArr(0,1)
    myArr(0,0)="A"
    myArr(0,1)=1
    Redim myArr(1,1)
    myArr(1,0)="B"
    myArr(1,1)=1

    cosi non mi da errore grazieeee
    http://www.actionscript.it/forum/

    www.actiondesign.it

  9. #9
    non ti dara' errore, pero' con la seconda ReDim perdi il contenuto dell'array...

  10. #10
    davvero e come devo fare allora uffa....
    http://www.actionscript.it/forum/

    www.actiondesign.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.