Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Ciclo su array

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    204

    Ciclo su array

    Salve a tutti.
    Sto dando un'occhiata ad un pezzo di codice trovato
    in un tutorial di un libro un po datato.
    Il mio problema riguarda la comprensione di un ciclo
    eseguito su un array bidimensiolane.

    La dichiarazione dell'array è la seguente:

    Dim localCart(4, 20)

    Subito dopo lo script esegue un ciclo sull'array
    come segue:

    FOR i = 0 TO UBOUND(localCart)
    blocco di codice
    NEXT

    Questo ciclo non ha nessuna difficoltà di comprensione,
    semplicemente va dall'inizio dell'array localCart fino
    alla fine dello stesso.

    Immediatamente dopo lo script esegue un altro ciclo
    come segue:

    FOR i = 0 TO UBOUND(localCart, 2)
    blocco di codice
    NEXT

    Il mio problema sta nel fatto che non riesco a capire cosa
    significa il 2 posto dopo il nome dell'array localCart.

    C'è qualcuno del forum che riesce a darmi una dritta ?

    Grazie a tutti.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Un array bidimensionale immaginalo come una tabella: righe e colonne.
    Con il primo loop scorri il primo indice, le colonne, con il secondo le righe.

    Roby

  3. #3
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: Ciclo su array

    Originariamente inviato da RobyUA
    Salve a tutti.
    Sto dando un'occhiata ad un pezzo di codice trovato
    in un tutorial di un libro un po datato.
    Il mio problema riguarda la comprensione di un ciclo
    eseguito su un array bidimensiolane.

    La dichiarazione dell'array è la seguente:

    Dim localCart(4, 20)

    Subito dopo lo script esegue un ciclo sull'array
    come segue:

    FOR i = 0 TO UBOUND(localCart)
    blocco di codice
    NEXT

    Questo ciclo non ha nessuna difficoltà di comprensione,
    semplicemente va dall'inizio dell'array localCart fino
    alla fine dello stesso.

    Immediatamente dopo lo script esegue un altro ciclo
    come segue:

    FOR i = 0 TO UBOUND(localCart, 2)
    blocco di codice
    NEXT

    Il mio problema sta nel fatto che non riesco a capire cosa
    significa il 2 posto dopo il nome dell'array localCart.

    C'è qualcuno del forum che riesce a darmi una dritta ?

    Grazie a tutti.
    Il secondo parametro indica la dimensione dell'array sulla quale vui conoscere l'indice massimo, infatti se noti il tuo array è 2D

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    204
    che tradotto sarebbe ?

  5. #5
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da RobyUA
    che tradotto sarebbe ?
    Fa 2 cicli uno sulla prima dimensione ed uno sulla seconda. Come ha detto roby_72 uno lo fa sulle righe ed uno sulle colonne

  6. #6
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da RobyUA
    che tradotto sarebbe ?
    Guarda qui:
    http://www.csidata.com/custserv/onli...ocs/vbs214.htm

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da RobyUA
    che tradotto sarebbe ?
    Cosa ti serve?
    Provalo e vedi cosa restituisce così rendi pratica la spiegazione fornita.

    Roby

  8. #8
    il primo ciclo va da 0 a 3 e il secondo da 0 a 19

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    204
    Premessa:
    Nel mio caso ho due pagine asp:
    La prima permette all'utente di scegliere da una lista di prodotti
    quello che gli interessa.
    Nel momento in cui l'utente sceglie (cliccando sul pulsante 'aggiungi al carrello') la prima pagina passa alla seconda pagina l'IDProdotto, NomeProdotto
    PrezzoProdotto.

    La seconda pagina riceve i valori sopraindicati ed utilizza l'ID
    del prodotto per svolgere i seguenti controlli/azioni:
    Se l'ID è già presente nell'array allora vuol dire che l'utente
    desidera semplicemente aumentare la quantità (quantità = quantità + 1);
    Se l'ID del prodotto non è presente vuol dire che il prodotto
    deve essere semplicemente aggiunto all'array (che funge da carrello).


    Ecco il codice completo della seconda pagina

    <%
    ' Define Constants
    CONST CARTPID = 0
    CONST CARTPNAME = 1
    CONST CARTPPRICE = 2
    CONST CARTPQUANTITY = 3

    ' Get The Shopping Cart
    IF NOT isArray( Session( "cart" ) ) THEN
    DIM localCart( 4, 20 )
    ELSE
    localCart = Session( "cart" )
    END IF

    ' Get Product Information
    productID = TRIM( Request( "pid" ) )
    productName = TRIM( Request( "productName" ) )
    productPrice = TRIM( Request( "productPrice" ) )

    ' Add Item to cart
    IF productID <> "" THEN
    foundIT = FALSE
    FOR i = 0 TO UBOUND( localCart )
    IF localCart( CARTPID, i ) = productID THEN
    localCart( CARTPQUANTITY, i ) = localCart( CARTPQUANTITY, i ) + 1
    foundIT = TRUE
    EXIT FOR
    END IF
    NEXT
    IF NOT foundIT THEN
    FOR i = 0 TO UBOUND( localCart, 2 )
    IF localCart( CARTPID, i ) = "" THEN
    localCart( CARTPID, i ) = productID
    localCart( CARTPNAME, i ) = productName
    localCart( CARTPPRICE, i ) = productPrice
    localCart( CARTPQUANTITY, i ) = 1
    EXIT FOR
    END IF
    NEXT
    END IF
    END IF
    %>

    Non sono un programmatore con molta esperienza
    e perciò posso sbagliarmi ma secondo me anche il primo
    ciclo FOR dovrebbe essere:

    FOR i = 0 TO UBOUND( localCart, 2 )

    altrimenti, se l'array avesse già, ad esempio, 7 prodotti
    sarebbero passati in rassegna solo i primi 4

    Grazie a tutti coloro che mi hanno risposto ed a tutti coloro
    che vorranno lasciare un loro commento !

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma l'ahi provato o stai facendo tutto a mente?

    Roby

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.