Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    Passaggio dati tramite funzione

    In una pagina richiamo una funzione per ottenere dei valori (faccio un esempio semplificato):

    PAGINA CHIAMANTE:

    ...
    dim codice, codice1, codice2
    codice = "aa"
    ...
    <%miafunzione (codice)
    response.write(codice1)%>

    FUNZIONE

    Function miafunzione(codice)
    dim codice1, codice2
    select case codice
    case "aa"
    codice1="aaa"
    codice2="bbb"
    case "smdmnd"
    codice1="ccc"
    codice2="ddd"
    end select
    End Function

    Se metto un response.write dopo end select della funzione vedo che il codice1 restituto è corretto, mentre nella pagina chiamante il response.write non mi dà alcun valore.
    Perchè?

  2. #2
    Domanda: Nella pagina chiamante scrivi response.write(codice1) perchè deve sempre scriverti il valore di codice1?


    Comunque di base per far in modo che la funzione ti restituisca un valore devi valorizzare la funzione stessa, ad esempio

    codice:
    Function miafunzione(codice)
     dim codice1, codice2
     select case codice
      case "aa"
       codice1="aaa"
       codice2="bbb"
      case "smdmnd"
       codice1="ccc"
       codice2="ddd"
     end select
    miafunzione = codice1
    End Function
    Pagina Chiamante:

    codice:
    ...
    dim codice, codice1, codice2
    codice = "aa"
    ...
    Response.Write miafunzione(codice)


    Se tu però devi scrivere visualizzare sempre CODICE1 e CODICE2, potresti fare una SUB anzichè una function e fare la response write di questi valori direttamente nella Sub che richiami dalla pagina chiamante, così:

    codice:
    Sub miafunzione(codice)
     dim codice1, codice2
     select case codice
      case "aa"
       codice1="aaa"
       codice2="bbb"
      case "smdmnd"
       codice1="ccc"
       codice2="ddd"
     end select
    Response.Write Codice1 & "
    " & Codice2
    End Sub
    Pagina Chiamante:

    codice:
    ...
    dim codice, codice1, codice2
    codice = "aa"
    ...
    Call miafunzione(codice)

    Spero di esserti stata di aiuto

  3. #3
    se *dentro* la funzione ri-DIMensioni la variabile Codice1, Codice1 *appartiene* alla funzione e non è visibile fuori.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Grazie ad entrambi. Ho risolto togliendo il dimensionamento dentro la funzione come detto da Optime e funziona.
    Per Surrender: in effetti il valore non devo visualizzarlo ma riutilizzare per una query, comunque grazie per la spiegazione molto utile.

    Come sempre i forumisti sono i migliori...

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.