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

    Richiamare blocchi di codice

    Ciao a tutti scusate la domanda ... banale ma è una cosa che non ho mai fatto ... ho neccessità di richiamre dei blocchi di codice con all'interno dei cicli e delle condizioni (senza ogni volta riscriverlo) all'interno di una mia pagina ... come posso fare?
    Ho provato con sub e function ma mi viene restituito un errore .. cmq è giusto utilizzare queste procedure oppure esiste qualche altro comando? :master:

  2. #2
    si usano appunto SUB e FUNCTION. Normalmente la Function è usata quando il "blocco" deve riportare un valore.

    fa' vedere quello che hai scritto

  3. #3
    ciao ..
    ecco il mio codice...
    Codice PHP:
    sub prova()
                        
    response.write("<div id='msx_intestazioneitinerari'><h3>CIAO</h3></div>")
                        do 
    until ms_listacomuni.eof
                        msx_listaitinerarinum
    =msx_listaitinerarinum+1
                        
                        
    if ms_listacomuni("provincia")= "0" then
                        msx_dove
    =nomeregione
                        
    else
                        
    msx_dove=ms_listacomuni("provincia")
                        
    end if

                        
    response.write ("<div id='msc_contitinerariol'>")
                        
                        
    response.write ("<div class='msc_contitinerariol_img'>")
                        if 
    ms_listacomuni("img1")<> "" then
                            response
    .write("sdfsdf")
                        else
                            
    response.write("fghfgh")
                        
    end if
                        
    response.write ("</div>")
                        
                        
    response.write ("<div style='' class='msc_contitinerariol_link'><h2>[url='']"&ms_listacomuni("titolo")&"[/url]</h2><h3>... Leggi l'itinerario &raquo;</h3></div>")
                        
    response.write("</div>")
                        
                        if 
    b_idarttopprov "" then
                            b_idarttopprov
    =ms_listacomuni("id")
                        else
                            
    b_idarttopprov=b_idarttopprov&","&ms_listacomuni("id")
                        
    end if
                
    end sub


    ********** qui alytro codice ***********

    Set ms_listacomuni Server.CreateObject("ADODB.Recordset"
                        
    mssql_listacomuni ="select * from articoli where provincia='"&citta_f&"' and visualizza=1 order by id desc LIMIT 5"
                        
    ms_listacomuni.open mssql_listacomuniobjConn
                        
                        
    if not ms_listacomuni.eof then
                        
                        
                        call prova
    () 
    questo è l'errore ...

    Errore di compilazione di Microsoft VBScript (0x800A0400)
    Prevista istruzione
    /include/menusx_inc.asp, line 279
    end sub

    se metto tutto il codice che sta dentro la sub dopo
    if not ms_listacomuni.eof then
    funziona senza problemi ...
    :master:

  4. #4
    ah, slay slay, vedi quanto è importante l'ordine? se tu avessi indentato bene il codice, ti saresti accorto subito che hai aperto un do... ma non hai messo il loop di chiusura

  5. #5
    ciao grazie per la risposta ... il loop di chiusura c'è ...solo che non è dentro la sub .. non avendo mai avuto la neccessità di usare le sub pensavo si potesse mettere dentro anche del codice incompleto .. cmq lunedì provo .. grazie e buona serata...

  6. #6
    la sub deve essere completa. devi sempre pensarla come un qualcosa che svolge un compito ben preciso, indipendente, isolata e soprattutto - appunto - completa di tutto quel che serve a svolgere quel compito specifico.

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.