Visualizzazione dei risultati da 1 a 2 su 2

Discussione: funzione e ciclo

  1. #1

    funzione e ciclo

    ciao a tutti: premetto che non ho mai imparato ad usare le funzioni....

    Mi hanno "passato" una funzione per l'invio di mails con CDOSYS; eccola:


    call inviaEmail("mionome<io@miaMail.it>",mailTo,oggetto , messaggio, allegato, "html")
    response.write testata & testo


    '------------------------------------------------------------------------------------------------
    '------------------------ Funzione per invio email ------------------------------------------
    Function inviaEmail(da, a,oggetto, messaggio, allegato,formato)
    Const cdoSendUsingPort = 2
    Const cdoBasic = 1
    if lcase(aggiungiStili) <> "si" then aggiungiStili="no"
    on error resume next
    inviaEmail=false
    dim msg, dest1, dest2, objConf, objFlds
    Set msg=CreateObject("CDO.Message")
    set objConf = CreateObject("CDO.Configuration")
    Set objFlds = objConf.Fields
    With objFlds
    .Item(cdoSendUsingMethod) = cdoSendUsingPort
    .Item(cdoSMTPServer) = "serverSMTP"
    .Item(cdoSMTPAuthenticate) = cdoBasic
    .Item(cdoSendUserName) = "user"
    .Item(cdoSendPassword) = "password"
    .Item(cdoSMTPConnectionTimeout) = 10
    .Item(cdoSMTPServerPort) = 25
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = false
    .Update
    End With

    dest1=a ' : dest2=""
    ' if instr(a,";") >0 then dest1=mid(a,1,instr(a,";")-1)
    ' if instr(a,";") >0 then dest2=mid(a,instr(a,";")+1)

    Set msg.Configuration=objConf
    msg.From=da
    msg.To=dest1
    ' if dest2 <> "" then msg.Bcc=dest2
    msg.Subject=oggetto
    if formato="testo" or formato="1" then
    msg.TextBody=messaggio
    else
    msg.HTMLBody=messaggio
    end if
    if not isnull(allegato) and allegato <> "" then msg.AddAttachment allegato
    msg.Send
    Set msg=nothing
    if err.description ="" then inviaEmail=true else inviaEmail=err.description
    err.clear

    end function

    Il destinatario della mail (mailTo) è "preso" da un ciclo cosicchè invia la stessa mail a tutti gli indirizzi presenti sul DB, ma devo aprire il ciclo PRIMA della funzione, altrimenti non trova il valore di "mailTo" (il ciclo lo chiudo dopo "end function"): come avrete capito NON FUNZIONA: ecco l'errore:

    Errore di compilazione di Microsoft VBScript error '800a03ea'

    Errore di sintassi

    /provaCDOSYS.asp, line 34

    Function inviaEmail(da, a,oggetto, messaggio, allegato,formato)

    Come si intersecano CICLO e FUNZIONE ?

  2. #2
    prima cosa: visto che non restituisce niente, quella è una SUB, non una Function (in senso stretto di VB)

    cmq, l'uso è banalissimo. ti faccio un esempio (e te lo adatti da solo, ok? )

    codice:
    Sub StampaNumero(iNumero)
       Response.Write iNumero & "
    "
    End Sub
    .
    .
    .
    .
    .
    .
    For i=1 to 100
       Call StampaNumero(i)
    Next

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.