Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Ciclo For Next

  1. #1

    Ciclo For Next

    Buonasera,
    sto manipolando questo script che mi legge il contenuto di una directori e mette in colonna le immagini contenute in essa.

    Il mio problema è che non riesco ad applicare la regola for/next al fine di visualizzare solo i primi 5 ordinati per data o per nome; il mio script è il seguente:

    [code ]
    <%
    set fs=server.createobject("scripting.filesystemobject ")
    set folderfs=fs.getfolder(server.mappath("capitolo1/thumb/"))

    'elenco sottocartelle
    for each x in folderfs.SubFolders
    response.write x.name &"
    "
    next

    'elenco file
    for each f in folderfs.Files
    response.write "<a href='capitolo1/thumb/" & f.name & "'><img src=capitolo1/thumb/"& f.name & ">
    "

    next

    set folderfs=nothing
    set fs=nothing

    %>
    [/code]

    Ho inserito al posto di
    codice:
     for each f in folderfs.Files
    questa riga
    codice:
    for f=1 to 5 In folderfs.Files
    ma mi restituisce un errore.
    Dove sbaglio?

    Grazie per l'aiuto.
    Pochi sanno, molti presumono di sapere.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi fare una for dentro l'altra.

    Roby

  3. #3
    Ci provo.... aspettami..
    Pochi sanno, molti presumono di sapere.

  4. #4
    Tu dici così:
    codice:
    'elenco file
    for each f in folderfs.Files 
    for t=1 to 5 in folderfs.Files  
    	 response.write "<a href='capitolo1/thumb/" & f.name & "'><img src=capitolo1/thumb/"& f.name & ">
    "
    
    next
    next
    set folderfs=nothing
    set fs=nothing
    mi restituisce l'errore "Prevista fine istruzione"
    Pochi sanno, molti presumono di sapere.

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi usare un contatore... la pagina di file non è fattibile a meno di usare un array quindi dovrai comunque leggere tutti i file e mostrarne solo alcuni.
    codice:
    cont = 1
    for each f in folderfs.Files 
    if cont < 5 then
    ...
    ...
    end if
    cont = cont + 1
    next
    Roby

  6. #6
    Grazie Roby,
    me la devo studiare questa cosa perchè non ho capito.
    La cosa funziona, ma non mi spiego perchè utilizzare un contatore esterno e non utilizzare il for.. to ... che normalmente si usava già dal lontano Dos.

    Comunque grazie ancora e come sempre siete Graaaandi e disponibili.


    P.S. Scusa Roby faccio una considerazione, vista la tua funzione di moderatore, ma prendila come una critica volta al miglioramento di questo forum.
    A volte succede di "incappare" in qualche "primo della classe" che con una certa superficialità fornisce o meglio distribuisce "perle di saggezza" dall'alto del piedistallo. Oppure è successo che si forniscono risposte "cryptate" e soprattuto "telefragiche" inutili a chiunque.
    Voglio dire che quando si mette a disposizione la propria conoscenza lo si deve fare con la massima umiltà senza fornire risposte incomplete non utili alla soluzione del problema, ma spesso sono trattati teorici basati su una forma di protagonismo informatico. Nessuno è obbligato a rispondere o a dare una mano, ma quando lo fa lo deve fare bene altrimenti può anche tacere.
    Scusami, ma è una cosa di cui volevo parlarne da un pò. Ti auguro buon lavoro.
    Pochi sanno, molti presumono di sapere.

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Il concetto in linea di massima è giusto.
    C'è però da dire che il 99,9% delle discussioni è già stato trattato "almeno" una volta... Basterebbe sforzarsi un po' nelle ricerche interne al forum per trovare tutte o quasi le soluzioni.
    Fermo restando che se da un lato ci può essere qualcuno un po' "ermetico", dall'altro troppo spesso c'è chi desidera la "pappa pronta".

    Roby

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La for each f in folderfs.Files non si ferma, legge tutto...
    Quindi devi prendere quello che ti serve al suo interno utilizzando qualche condizione.

    Roby

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.