Foros del Web » Programando para Internet » ASP Clásico »

Error en split

Estas en el tema de Error en split en el foro de ASP Clásico en Foros del Web. Gente, buenas! Tengo este codigo que saqué de las FAQ's. la variable descripcion_wf es un string que saco de la base de datos. El problema ...
  #1 (permalink)  
Antiguo 29/08/2005, 08:23
 
Fecha de Ingreso: julio-2003
Mensajes: 43
Antigüedad: 20 años, 10 meses
Puntos: 0
Error en split

Gente, buenas!
Tengo este codigo que saqué de las FAQ's.
la variable descripcion_wf es un string que saco de la base de datos.
El problema que tiene este script es que cuando el string descripcion_wf tiene menos de 10 palabras me aparece el siguiente error.

Microsoft VBScript runtime error '800a0009'
Subscript out of range: 'i'
/ci/workflow/incs/splitdesc.inc, line 9

Como puedo mejorar el script y evitar que me aparezca el error cuando el string tenga menos de 10 palabras?

Código:
<%
Function SplitDesc
   
   'Asigno cantidad de palabras que quiero cortar de la oración
   descr_corta="0 1 2 3 4 5 6 7 8 9 10"
   'Tomo como separador el espacio en blanco
   descr_corta=Split(descripcion_wf," ")
   For i =0 to 10
   Response.Write descr_corta(i)& " "
   Next
   Response.Write "..."


End Function
%>
Mil gracias de antemano!!!
  #2 (permalink)  
Antiguo 29/08/2005, 08:25
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
En Lugar de la constante 10, usa la funcion UBound

Saludos
  #3 (permalink)  
Antiguo 29/08/2005, 08:55
 
Fecha de Ingreso: julio-2003
Mensajes: 43
Antigüedad: 20 años, 10 meses
Puntos: 0
Listo :D

lo solucioné con un if y la instrucción UBound!

Código:
<%
Function SplitDesc
   
   'Asigno cantidad de palabras que quiero cortar de la oración
   'descr_corta="0 1 2 3 4 5 6 7 8 9 10"
   'Tomo como separador el espacio en blanco
   descr_corta=Split(descripcion_wf," ")
   If ubound(descr_corta) > 10 Then
    For i =0 to 10
     Response.Write descr_corta(i)& " "
    Next
     Response.Write "..."
   Else
     Response.Write descripcion_wf
     Response.Write "..."
   End If

End Function
%>

Gracias Myakire
  #4 (permalink)  
Antiguo 29/08/2005, 09:55
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
¿No te quedaría mejor con For i =0 to UBound(descr_corta)?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:02.