Newsgroup: it.comp.lang.visual-basic
Titolo: [ASP] Suddividere Stringa

Allora ho un problema di un certo tipo....
Devo dividere una stringa gią pronta che mi viene passata in righe e colonne
poiche questa contiene il risultato di un'estrazione di un database.
Dunque in questa stringa le colonne sono divise da <<finecolonna>> e le
righe da <-< come faccio a metterle in una tabella???
Esempio pratico:
12345 <<finecolonna>> colonna1 <<finecolonna>> colonna2 <<finecolonna>> <-<
34566 <<finecolonna>> colonna1 <<finecolonna>> colonna2 <<finecolonna>> <-<
56688 <<finecolonna>> colonna1 <<finecolonna>> colonna2 <<finecolonna>> <-<
<<finestringa>>
1000 Grazie a chiunque mi sappia dare una mano!!!

ho scritto questa parte di codice ma mi da un errore e non capisco il
perche'...
MyArray = Split(request.form("Corpo"), "<-<")
for i=0 to MyArray.count
dim MyArray2
MyArray2 = Split(MyArray[i], "<<finecolonna>>")
"<tr><td>" & MyArray2[0] & "</td>" & _
"<td>" & MyArray2[1] & "</td>" & _
"<td>" & MyArray2[2] & "</td>" & _
"<td>" & MyArray2[3] & "</td>" & _
"<td>" & replace(MyArray2[4],"<-<"," ") & "</td></tr>" & _
next
Errore di compilazione di Microsoft VBScript error '800a03ee'
Previsto ')'
/Confermaordine.asp, line 38
MyArray2 = Split(MyArray[i], "<<finecolonna>>")
----------------------------^
dove ho sbagliato? Le parentesi mi pare di averle messe tutte...
Grazie ancora

 dove ho sbagliato? Le parentesi mi pare di averle messe tutte...
Le devi mettere tonde le parentesi mica stai programmando in c.
Gianni

 next


Presupponendo tu stia usando ASP... come ti è stato detto, usa le tonde.
e poi dove crei la tabella... o fai un response.write e togli tutte le &
_, oppure assegni il tutto a una variabile però togliendo dall'ultima riga
& _
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Ma per contare quante righe ha un arrai si dice veramente MyArray.count???

ubound(nomearray)
sempre se stiamo parlando di asp...o comunque di vb
Gianni

> ubound(nomearray)
Grazie!!!
Mi diresti anche perche' questo ciclo non funziona???
[CUT]
MyArray = Split(request.form("Corpo"), "<-<")
for i=0 to ubound(MyArray)
MyArray2 = Split(MyArray(i), "/finecolonna/")
variabile= variabile & "<tr><td>" & MyArray2(0) & "</td>"
variabile= variabile & "<td>" & MyArray2(1) & "</td>"
variabile= variabile & "<td>" & MyArray2(2) & "</td>"
variabile= variabile & "<td>" & MyArray2(3) & "</td>"
variabile= variabile & "<td>" & replace(MyArray2(4),"<-<"," ") &
"</td></tr>"
next
[CUT]
Errore:
Tipo di errore:
Errore di run-time di Microsoft VBScript (0x800A0009)
Indice non incluso nell'intervallo: '[number: 0]'
/pagina.asp, line 35
Riporto di seguito la riga 35: variabile= variabile& "<tr><td>" &
MyArray2(0) & "</td>"
1000 Grazie

 *non* con una stringa.
Scusa lokar, ma mi sembra di ricordare che il costrutto
array = split(stringa, vbcrlf)
funzioni correttamente, e dato che vbcrlf è costituito da due caratteri....
--
Salutoni
Sergio

[Francy]

Visto che non l'ha detto ancora nessuno:
1) Lo split funziona *solo* con *UN* carattere separatore,
*non* con una stringa.
Quindi di "/finecolonna/" prende solo la "/" probabilmente o
proprio non funziona. E quindi 3/4 del codice postato va
modificato.
2) Array2 com'e' dichiarato? Com'e' inizializzato? Dopo lo
split che stato ha? L'errore fondamentalmente dice che
l'elemento 0 della matrice MyArray2 non esiste. Verifica!
    If MyArray2 Is Nothing Then Errore
    If UBound(MyArray2) < 4 Then Errore
Eccetera, eccetera.
hth,
Lokar
--
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt
UGIdotNET - 
http://www.ugidotnet.org

 due caratteri....
Urka, chiedo venia, mi sono fatto ingannare da MSDN che
riporta (a proposito del delimitatore):
<cit>
*Carattere* che consente di identificare i limiti della
sottostringa. Se omesso, viene automaticamente utilizzato
come delimitatore lo spazio (" ").
</cit>
*SIC*!
Ho sempre pensato ingenuamente che vbCrLf fosse
un'eccezione!
In ogni caso per quanto riguarda il problema 2)
Split restituisce un array vuoto (LBound = 0, Ubound = -1)
nel caso in cui si tenti di splittare una stringa nulla
(""). L'errore di Francy dipende senz'altro da questo caso.
hth, e chiedo scusa ancora per l'errore madornale!


 Lokar
Francy