30 messaggi dal 08 febbraio 2006
Salve a tutti,menti geniali e non.... vi espongo il mio problema:

Devo acquisire due stringhe, controllare se nella prima c'è una o più occorrenze del carattere comma (","), e nel caso contare quante sono queste occorenze. A questo punto devo spezzare la stringa ad ogni virgola, e controllare se stringa2 è presente nell'array di split che mi sono andato a creare.

A parole sembra facilissimo, right? Peccato che ci sto sbattendo la testa, e fra errori di eccezione e loop infiniti, non me la sto districando molto bene.
Diciamo che la prima parte, fino allo split, la so teoricamente fare; il fatto è che sembra che nell'array rislutato dall'operazione non mi salvi nulla...possibile?


Codice seconda parte:
if len(rep(gy))>0 then
      
        ritagli = Split(rep(gy), ",")
        
        uff=0
        For Each Item In ritagli
          uff = uff +1
        next
        
        For pap=0 to uff
        
          if inStr(ritagli(pap), sotto(gy)) <> 0 then
            
          'cerco nel DB passandogli la parte dell'array di split che fa match con ciò che mi serve


            set tex = DBConn.Execute(Stringa_SQL_uff)
            
            if not tex.eof then
              finale(gy) = "<font color='#3333CC'>" & ritagli(pap) & "</font>"
            else
              finale(gy) = "<font color='#FF0000'>ARGGH !!!</font>"
            end if
          else
            finale(gy) = finale(gy) & "/@@@/<font color='#CC00CC'>" & ritagli(pap) & "</font>"          
          end if
          
          
          tex.Close
          Set tex = Nothing
          
        next 
      end if


HELP !!!
ciao
A.
30 messaggi dal 08 febbraio 2006
Beh, credevo davvero che qualcuno potesse aiutarmi, ma evidentemente ho sopravvalutato il forum in questione...
879 messaggi dal 09 luglio 2002
www.i-studio.it
Ciao,
prima di tutto devi fare attenzione agli spazi... ovvero, se la tua stringa e' scritta in questo modo:
aaa, bbb, ccc, ddd

e fai lo split, gli elementi dell'array conterranno anche lo spazio.. cioe', il primo elemento sarà:
"aaa"

il secondo
" bbb"
<-- nota lo spazio all'inizio
e cosi via... quindi quando poi vai a verificare se c'e' una particolare stringa non hai il risultato atteso.

Passiamo al codice. Io farei in questo modo:
if len(rep(gy))>0 then
ritagli = split(rep(gy), ",")
for i=0 to ubound(ritagli)
if instr(trim(ritagli(i)), sotto(gy)) <> 0 then
set tex = DBConn.Execute(Stringa_SQL_uff) 

if not tex.eof then 
finale(gy) = "<font color='#3333CC'>" & ritagli(pap) & "</font>" 
else 
finale(gy) = "<font color='#FF0000'>ARGGH !!!</font>" 
end if 
else 
finale(gy) = finale(gy) & "/@@@/<font color='#CC00CC'>" & ritagli(pap) & "</font>" 
end if 


tex.Close 
Set tex = Nothing
end if
next
end if


Ciao
Alex

Internetworking Studio Srl
www.i-studio.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.