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

    For... Each, c'è un Bug ?

    Salve a tutti, ho notato un problema (che comunque ho aggirato) nell'utilizzo della funzione For... Each. Quasi si trattasse di un "Bug" di Asp...

    Avevo una stringa chiamata PROVA valorizzata così: "1,2,2;"

    effettuavo uno split della stringa sul carattere ";"

    ovvero

    Valori = split(PROVA, ";")


    Utilizzando quindi un ciclo for each su Valori, ho notato che il sistema invece che 1 solo cilco, ne effettuava... 2!

    Ho provato dunque a leggere l'array Valori, e ho notato che:

    valori(0) conteneva giustamente "1,2,2"

    e valori(1) esisteva ! (con valore Null).

    Ecco perchè il ciclo veniva generato due volte!


    Ma la cosa mi sembra errata, in quanto lo split di quella variabile dovrebbe generare un solo record di array!




    (Il motivo per cui effettuavo lo split era il seguente:

    questa stringa PROVA poteva crescere di dimensioni con nuovi valori, sempre separati dal ;

    ovvero poteva diventare "1,2,2;5,1,1;6,2,2;"

    in ogni caso, sempre, viene generato un record di array in più, valorizzato come null)


    La domanda finale è: è normale? è un problema che ho avuto solo io, o qualcun altro si è imbattuto nella medesima situazione?
    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

  2. #2
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Più che con For Each me la prenderei con la funzione Split . UBound(Valori) è 3, nel secondo esempio.
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  3. #3
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Che cacchio dico... è giusto ! :gren: Per non avere il null dovresti non mettere ; alla fine della stringa.
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  4. #4
    Sì, giusto, l'errore è in spilt.

    Però secondo me:

    Valori = Split("1,2,2;", ";")

    dovrebbe dare come risultato un array di un solo record.
    Non due record di cui uno nullo. A logica il secondo non serve a nulla... se non ad incasinarmi dopo quando uso for each

    Vabbè ora comunque lo so...
    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

  5. #5
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Beh, non è neanche così sbagliato... se tu lo usassi per leggere un file con campi separati da un delimitatore e avessi dei campi vuoti, se non facesse così ti ritroveresti che un dato indice a volte corrisponde a un campo e a volte ad un altro.
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

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.