Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Metodo Item()

  1. #1

    Metodo Item()

    Sono in difficoltà con metodo "Item()"

    Devo estrapolare i singoli file da un persorso specificato.
    A tale proposito ho inserito nella pagina asp le seguenti righe di codice:

    "set fs = server.CreateObject("Scripting.FileSystemObject")
    set listFoto = fs.GetFolder(percorso)"

    A questo punto, richiamo ogni singolo file tramite il metodo Item(), secondo la
    seguente stringa di codice inserita:

    "for i= 1 to listFoto.Files.Count
    listFoto.Files.Item(CStr(i))
    next"

    Passando la variabile i al metodo Item() come semplice intero, mi da il seguente errore:
    "Chiamata di routine o argomento non validi"; passandolo come stringa invece mi dice che non trova il file.

    Una prima risposta che mi sono dato è semplice che non trova il file, ma usando un ciclo "For...Each...Next", le cose funzionano.

    Help me!!!

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    perché come chiave dell'item ci vorrebbe il nome del file... perché non usi il for each?

  3. #3
    Infatti poi ho fatto così, è solo che usando l' Item() riuscivo a fare il tutto in modo più elegante, ma purtroppo questi sono i limiti dell' ASP.

    Grazie mille per la disponibilità.

  4. #4
    Originariamente inviato da lucagiuliodori8
    Infatti poi ho fatto così, è solo che usando l' Item() riuscivo a fare il tutto in modo più elegante, ma purtroppo questi sono i limiti dell' ASP.

    Grazie mille per la disponibilità.
    tra item e for each credo che l'eleganza sia la stessa
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Sicuramente i due se la battono in fatto di "eleganza" ma poi la struttura di tutto il programma perde un po:

    In soldoni una pagina ASP deve passare ad un'altra pagina ASP un file che è stato selezionato dall'utente e questo file si trova su una determinata cartella sul serve.
    Usando il metodo Item passo solo il riferimento a quel file in modo che la seconda pagina ASP possa risalire a quel determinato file. Usando invece il For...Each, devo passare alla seconda pagina ASP un indice (corrispondente alla posizione del file all'interno della cartella) e tramite il ciclo For "spazzolo" tutti i file della cartella fino a che non arrivo al file con la posizione all'interno della cartella corrispondente all'indice passato dalla prima pagina ASP.

    Non so se sono stato chiaro (scusate ma mi risulta difficile spiegare l'algoritmo usato) ma usando il For...Each l'algoritmo risulta essere meno elegante e sicuramente più pesante.


    Il fatto che l'Item non accetta l'indice numerico ma solo il nome del file mi crea grossi problemi in quanto la seconda pagina ASP, oltre a visualizzare il file selezionato nella prima, deve anche dare la possibilità di scorrere tutti i file della cartella (i classici link "Prev" e "Next"); quest'ultima cosa la posso fare solo tramite degli indici, non sapendo a priori i nomi dei file all'interno della cartella e soprattutto "quale file viene prima e quale viene dopo". E' per questo motivo che sono stato costretto ad utilizzare il ciclo For...Each al posto di Item, anche se questo è andato a discapito della leggerezza del programma.


    Grazie a tutti per la vostra disponibilità!

  6. #6
    illustrami allora le basi informatiche sulle quali fondi la tesi "il for each è piu pesante del item".....


    1) se l'utente nella pagina A ha già selezionato il file non capisco perchè non sai quale sia nella pagina B


    2) metti l'elenco dei file in un array o in un recordset disconnesso e giocaci quanto ti pare


    3) il for each è un indice come indice era quell'i che volevi usare te nel metodo item()....anzi, in realtà il for each è il modo di usare la collezione item introdotta (mi pare) da VB5 (se non sbaglio è l'implementazione dell'interfaccia IEnumerable di una collezione) per cui stai tranquillo che il for each va piu che bene....
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Quello che volevo dire non è che il For..Each è più pesante dell' Item ma l'intera pagina ASP è più pesante usando il For...Each invece che l'Item.

    Comunque la domanda a cui volevo risposta è stata esaudita.
    Grazie mille per la collaborazione.

    Ciao

  8. #8
    Originariamente inviato da lucagiuliodori8
    Quello che volevo dire non è che il For..Each è più pesante dell' Item ma l'intera pagina ASP è più pesante usando il For...Each invece che l'Item.

    Comunque la domanda a cui volevo risposta è stata esaudita.
    Grazie mille per la collaborazione.

    Ciao
    ancora non ti capisco, e non capendoti ti suggerisco a sto punto un dictionary
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.