Pues insisto ...... no creo que a la variable texto le llegue lo que tu crees, deberias de dubuguear un poco.
Si tu código lo corro casi, casi, con copiar y pegar, funciona bien:
Código:
<%
dim texto
texto = "CAL FEITIS X 25 KG--25|HIERRO TORS. 10 mm--5|MINETTI CEMENTO X 50KG--2"
texto = Trim(texto)
'si existen espacios dobles en la cadena, los eliminamos con este bucle
Do While InStr(1, texto, " ") > 0
texto = Replace(texto, " ", " ")
Loop
'y hacemos un vector con sus palabras
Dim prod_cant, w, sp
prod_cant = split(texto, "|")
x=0
For i = 0 to ubound(prod_cant)
prod = "prod" & x
cant = "cant" & x
sp = split(prod_cant(i), "--")
w = prod & "=" & sp(0)
m = cant & "=" & sp(1)
Response.write("<input disabled type=text size=30 name=prod"&i&" id=prod"&i&" value="&w& "><input disabled type=text size=7 name=cant"&i&" id=cant"&i&" value="&m&">" & "<br>")
x = x+1
next
%>
prod0=CAL cant0=25
prod1=HIERRO cant1=5
prod2=MINETTI cant2=2