Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916

    un ciclo in più di ubound

    ciao a tutti!

    una cosa strana per me...

    prelevo da un form una lista, la ciclo per inserirla nel db e me la cicla una volta in più dell'Ubound... VVoVe: non è strano?

    codice:
    strML = trim(Request.Form("ml"))
    arr_strEmail = split(strML, ";")
    
    response.Write(UBound(arr_strEmail))
    
    p=0
    
    for xx = 0 to UBound(arr_strEmail)
    
    p=p+1
    
    next
    response.Write(p)
    l'ubound è a 3
    mentre p è a 4

    dove sbaglio?
    mi da come uno spazio vuoto alla fine ma come lo tolgo?


    grazie!
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  2. #2
    la bellezza delle liste a base zero VVoVe:

    devi arrivare a ubound-1

  3. #3
    Originariamente inviato da optime
    la bellezza delle liste a base zero VVoVe:

    devi arrivare a ubound-1
    no è semplicemente che ubound riporta la posizione dell'ultimo elemento della lista, quindi il size della lista (ovvero il numero di elementi) è semplicemente ubound(list)+1, quindi p = ubound(list)+1 è corretto
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Originariamente inviato da Santino83_02
    no è semplicemente che ubound riporta la posizione dell'ultimo elemento della lista, quindi il size della lista (ovvero il numero di elementi) è semplicemente ubound(list)+1, quindi p = ubound(list)+1 è corretto
    se ubound(lista) mi porta 4, nella lista ci sono 4 elementi.

    quindi:

    1) parti da 0 e arrivi a UBOUND-1
    2) parti da 1 e arrivi a UBOUND


  5. #5
    La funzione UBound di VBScript restituisce l'indice piu elevato per la dimensione dell'array che viene indicata
    quindi se hai 4 elementi ubound restituisce 3, perchè la lista parte da 0

    http://www.w3schools.com/VBScript/func_ubound.asp
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    però nella lista ci sono 3 elementi, e lui cicla 4 volte...

    a meno chè non veda uno spazio vuoto e lo definisca il 4 oggetto... ma col trim dovrebbe non vedere spazi vuoti ...

    se ad esempio metto un trattino e ciclo:

    codice:
    response.Write("-"&trim(arr_strEmail(xx))&"
    ")
    mi da

    -mail1@mail.it
    -mail2@mail.it
    -mail3@mail.it
    -


    cè un trattino vuoto alla fine seguito da uno spazio che mi determina il 4° ciclo!
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  7. #7
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    codice:
    for xx = 0 to UBound(arr_strEmail)-1
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

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.