Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    33

    Ma ASP passa i valori per riferimento?

    Ciao...
    io ho una funzione per la verifica della partita iva....

    la chiamo con if verifica_piva(partitaiva)=false....

    .... la funzione è in un file include.....

    function verifica_piva(numero)

    ad un certo punto numero da 11 diventa di 10 caratteri... che sono quelli determinanti per il calcolo del carattere di controllo...

    ebbene ho scoperto che anche partitaiva mi diventa di 10 caratteri... proprio come se la funzione avesse preso la variabile per riferimento.... cambiandomi quindi anche il valore con cui veniva chiamata la funzione....

    è normale???

    ho risolto con una variabile temporanea e vabbé....

    però mi sembrava che non dovesse essere così :-))
    Grazie a tutti
    Andy

  2. #2
    Posta il codice.

    Comunque per sicurezza è meglio esplicitare le modalità di passaggio dei parametri:

    Function FunizioneDiEsempio(ByVal lngPerValore, ByRef lngPerRiferimento)

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    33
    Ciao....
    grazie per la risposta velocissima....
    sapevo che in realtà VBS aveva come parametro il RIFERIMENTO come standard.... però avevo letto pure che in ASP le funzioni accettano parametri solo per valore... :-))

    comuqnue grazie per il consiglio... magari per sicurezza farò così la prossima volta... adesso ho risolto con una variabile temporanea... :-))

    Ecco il codice....

    la funzione viene richiamata con...
    if cbool(Controllo_PI(piva))=false then....

    dopo piva da 12345678901 diventa 1234567890

    Function Controllo_PI(Numero)

    controllo_pi=false

    Lettere = ""

    For Ciclo = 1 To Len(Numero)
    If Mid(Numero, Ciclo, 1) <> " " Then
    Lettere = Lettere & Mid(Numero, Ciclo, 1)
    End If
    Next
    If Len(Numero) <> 11 Then
    Controllo_PI = False
    Exit Function
    End If

    Numero = Left(Lettere, 10)

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    qua avviene il patatrac...
    se aggiungo

    Response.write piva 'qui mi stampa 12345678901
    Numero = Left(Lettere, 10)
    Response.write piva 'qui mi stampa 1234567890

    Ciao e grazie
    Andy

  4. #4
    Numero = Left(Lettere, 10)

    Questa istruzione mette i primi 10 caratteri di Lettere nella variabile Numero.

    Le modalità di passaggio dei parametri non c'entrano nulla...

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    33
    no scusa....

    facciamo un esempio
    piva=12345678901

    Numero prende il valore di piva da controllare...
    Numero=12345678901

    Lettere non è altro che il valore di Numero scevro degli eventuali spazi vuoti....

    se non ci sono spazi è uguale a Numero... (ma altrimenti cambia poco)
    Lettere=12345678901

    quell'istruzione mette i primi 10 caratteri di Lettere in Numero...

    Numero=1234567890 visto che nella partita iva l'ultimo carattere è quello di controllo (come per il codice fiscale...viene generato dagli altri 10)...
    quindi a me serve lavorare sui primi 10 per calcolare quello di controllo....

    nell'attimo in cui Numero diventa di 10 cifre... anche piva (che non ho mai chiamato o usato nella function) diventa di 10 cifre...
    secondo me c'entra eccome il discorso del passaggio per riferimento :-)))


    Grazie...
    Ciao
    Andy

  6. #6
    Mmm hai ragione :master:
    Hai provato la funzione con i due Response.Write piva prima e dopo della Left, esplicitando

    Function Controllo_PI(ByVal Numero)

    ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    33
    si così funziona :-))))

    però è strano...
    avevo letto che le variabili passavano per valore....

    quindi diciamo che invece bisogna mettere ByVal quando serve (visto che il ByRef evidentemente è di default...)

    ottimo per il futuro :-)))

    io avevo comunque risolto con

    Function Controllo_PI(numeropiva)
    Numero=numeropiva

    quindi lavoravo su Numero che era una copia...e non toccavo la prima variabile :-)))

    però mi era rimasta la curiosità...visto che non si trovava niente....


    Ciao e grazie
    Andy

  8. #8
    Originariamente inviato da andywm
    si così funziona :-))))

    però è strano...
    avevo letto che le variabili passavano per valore....

    quindi diciamo che invece bisogna mettere ByVal quando serve (visto che il ByRef evidentemente è di default...)

    ottimo per il futuro :-)))

    io avevo comunque risolto con

    Function Controllo_PI(numeropiva)
    Numero=numeropiva

    quindi lavoravo su Numero che era una copia...e non toccavo la prima variabile :-)))

    però mi era rimasta la curiosità...visto che non si trovava niente....


    Ciao e grazie
    Andy
    Ciao andy! ho letto il tuo post non è che sei informato dove si possa essere collegati per verificare se la partita iva e buona o meno? tipo un servizio del ministero o qualcosa d'altro? grazie
    I problemi esistono perchè esistono le soluzioni....ed anche i forum!!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    33
    Ciao...
    onestamente no....

    ne ho trovati vari ma non so se si limitino a verficare la correttezza formale del numero di p.iva (come fa il mio.... ci sono algoritmi che verificano pure se un numero di carta di credito è valido ma non si sa poi se la carta sia valida etc...)

    però questo qui fornisce anche la data di inizio attività....
    che dubito sia un parametro che si ricavi dalla stessa p.iva

    (per dire da un CF posso risalire alla tua data di nascita... ma poi ti chiami ROSSI o RUSSI no...)

    http://www.agenziaentrate.it/servizi/vies/vies.htm

    prova...vedi se può esserti utile :-)))

    vedi pure
    http://www.telextra.com/home/pivapag/
    http://europa.eu.int/comm/taxation_c...t/vieshome.htm

    Ciaooo
    Andy

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.