Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Funzioni e visibilità variabili

    Ciao a tutti ^^

    Ok, mi vergogno di me stesso, ma...
    Come funziona la visibilità delle variabili nelle funzioni? >__>

    Mi spiego meglio, ponendovi uno script di prova:

    dim nome(3)
    nome(1)="id"
    nome(2)="nome"
    nome(3)="ordine"


    for i=0 to Ubound(nome)
    response.write nome(i)
    next

    Semplicemente, scorre l'array. Niente di che. Ma quando metto la dichiarazione di quell'array in una funzione, come posso estrapolare i valori?

    Cioè:

    function vettore()
    dim nome(3)
    nome(1)="id"
    nome(2)="nome"
    nome(3)="ordine"
    end function

    Come posso usare l'array "nome"?
    E' una domanda che mi serve per molti altri script, utilizzo spesso funzioni (devo ancora capire la differenza tra funzioni e sub, comunque ) e non riesco mai ad utilizzare le variabili all'interno di queste, perchè a occhio la loro visibilità non è globale...

    Grazie in anticipo, spero di essermi spiegato ^^


    (e cmq <-- è geniale )

  2. #2
    dipende da dove metti la dichiarazione (Dim) della variabile

    codice:
    Dim A
    A="io sono globale"
    
    Function Pippo()
       Dim B
       B="io sono locale"
    End Function
    
    Response.Write A
    Response.Write B
    that easy!

  3. #3
    EDIT

    Ho provato a fare come mi hai detto, ma al di fuori della funzione la variabile non viene vista...
    (mi dice " This array is fixed or temporarily locked: 'nome' ")

    dim nome(3)

    function tab_pdf()
    nome(0)="id"
    nome(1)="nome"
    nome(2)="ordine"
    end function

    tab_pdf()
    response.write nome(2)

    Praticamente, esistono diverse funzioni che modificano questo array, dimensione (tramite redim) e valori.
    Vorrei richiamare la funzione giusta, in modo che mi dia i valori dell'array che voglio al momento...

    Oppure, utilizzare una variabile che viene a sua volta utilizzata da una funzione...

    Nel tuo esempio la variabile A è esterna...

  4. #4
    UP

    Possibile che nessuno mi possa rispondere? ç_ç
    Ho fatto varie prove, ma in nessun modo riesco ad utilizzare variabili presenti nelle funzioni
    (possibile non si possa fare, se non dichiarando il return della funzione? Ma in questo modo ho solo un valore...)

  5. #5
    se REDIMmi non puoi DIMmare fa' tutto REDIM

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 © 2026 vBulletin Solutions, Inc. All rights reserved.