Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125

    Fastidioso problema con Split

    Ciao a tutti.

    La stringa da splittare non è lineare e non posso fare uno split uguale per tutte le stringhe.

    Le stringhe sono queste:

    ABC DEF
    ABC DEF-GH IL
    ABC DEF-GH IL-MNO-PQR
    ABC DEF-GH IL-MNO-PQR-1

    Ogni volta che splitto per "-" a secondo a quale delle stringhe lo applico, lo script va in errore:

    Microsoft VBScript runtime error '800a0009'
    Subscript out of range: '[number: 2]
    Come posso rimediare ???

  2. #2
    controlla con UBOUND di quanti elementi è costituito l'array ottenuto e regolati di conseguenza

  3. #3
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da optime
    controlla con UBOUND di quanti elementi è costituito l'array ottenuto e regolati di conseguenza
    Grazie, al momento lo split lo faccio così:

    codice:
    lngStartPos = 1
    strSearchFor = "-" 
    lngFoundPos = InStr(lngStartPos, stringa, strSearchFor)
    
    Do While lngFoundPos > 0
        lngStartPos = lngFoundPos + 1 
        lngFoundPos = InStr(lngStartPos, stringa, strSearchFor)    
        stringa_1 = Split(stringa, "-") 
        strVar = 1     
    Loop
    
    if strVar <> 1 then			  						  
    			  Response.Write "<td align=""center"">" & stringa & "</td>"
    else
    			  Response.Write "<td align=""center"">" & stringa_1(0) &"-"& stringa_1(1) & "</td>"	
    end if
    
    if strVar = 1 then 			  		  
    			  Response.Write "<td align=""center"">" & stringa_1(1) & "</td>"
    end if

  4. #4
    la soluzione è la stessa

  5. #5
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da optime
    la soluzione è la stessa
    Si OK ma non ho capito dove devo prevedere il controllo con UBOUND ....

  6. #6
    due scelte:

    1: nei giardinetti sotto casa
    2: DOPO la split e PRIMA del posto dove ti dà errore

    vedi tu

  7. #7
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Escluderei la soluzione numero uno x ovvi motivi...

    Sulla seconda ecco quello che ho scritto:

    codice:
    lngStartPos = 1
    strSearchFor = "-" 
    lngFoundPos = InStr(lngStartPos, stringa, strSearchFor)
    
    Do While lngFoundPos > 0
        lngStartPos = lngFoundPos + 1 
        lngFoundPos = InStr(lngStartPos, stringa, strSearchFor)    
        stringa_1 = Split(stringa, "-") 
        strVar = 1     
    Loop
    
    response.write UBound(stringa_1)
    E stampa valore 2, cosa significa? Che ha trovato due "-" ?
    Scusa ma non conosco bene la funzione uBound.

  8. #8
    1. non conosci? documentati
    2. ti dice due? ci sono due elementi (es "A-B", el1="A", el2="B")


  9. #9
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da optime
    1. non conosci? documentati
    2. ti dice due? ci sono due elementi (es "A-B", el1="A", el2="B")

    Lo sto già facendo

    http://www.w3schools.com/VBScript/func_ubound.asp

    Però ancora mi sfugge come eseguire questo controllo e che cosa fare una volta che ho controllato di quanti elementi è costituito l'array ...

  10. #10
    pensa. chiedi il terzo elemento e l'array ne ha solo due...

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.