Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

cortar string

Estas en el tema de cortar string en el foro de Visual Basic clásico en Foros del Web. Hola, tengo una cadena que no se la longitud exactamente pero si es posible que supere (y en muchos casos lo hace) los 255 caracteres ...
  #1 (permalink)  
Antiguo 02/03/2007, 14:31
 
Fecha de Ingreso: junio-2005
Mensajes: 337
Antigüedad: 18 años, 11 meses
Puntos: 1
cortar string

Hola, tengo una cadena que no se la longitud exactamente pero si es posible que supere (y en muchos casos lo hace) los 255 caracteres con lo cual, al pasar el parametro al crystal reports pincha..

por ende necesito partir los parametros...

yo estoy haciendo lo siguiente, pero sinceramente no tengo mucha idea y estoy bastante trabajo...me dan una manito??

While Len(sCods_conciliacion > 250)
Primer_cadena = Left(sCods_conciliacion, 250)
segunda_cadena = Mid(sCods_conciliacion, Primer_cadena)
...como sigo??
gracias!! besos, laurys, la niña preguntona y pesada de foros del web...
  #2 (permalink)  
Antiguo 03/03/2007, 23:47
 
Fecha de Ingreso: noviembre-2004
Ubicación: Corrientes, Arg.
Mensajes: 129
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: cortar string

Ah no, así no:

Primer_cadena = Left(sCods_conciliacion, 250)
segunda_cadena = Mid(sCods_conciliacion, Primer_cadena)

... Mid usa tres argumentos: el primero es una cadena, el segundo y el tercero (opcional) son números. El segundo es la posición "a partir de" y el tercero, si lo hay, es la longitud a partir de la posición indicada por el segundo. Si no lo hay se toma desde la posición indicada por el segundo hasta el final.
O sea qeu para tu caso debería ser:

Primer_cadena = Left(sCods_conciliacion, 250)
segunda_cadena = Mid(sCods_conciliacion, 251, 250)

... y si hay una tercera debería ser Mid(sCods_conciliacion, 501, 250).
Creo que en vez de nombres como "Primer_cadena" y "segunda_cadena" te convendría usar un vector tipo "CadenaParcial(x)" donde x tendrías que incrementarlo en cada iteración. Pero a su vez tendrías que calcular primero cuantas iteraciones hacer:

itera = Len(sCods_conciliacion) \ 250

Esto te dará cuantas veces 250 tiene el largo de sCods_conciliacion. Queda por averiguar si después sobra algún restito.
  #3 (permalink)  
Antiguo 04/03/2007, 21:42
 
Fecha de Ingreso: junio-2005
Mensajes: 337
Antigüedad: 18 años, 11 meses
Puntos: 1
Re: cortar string

Hola! podria ser algo asi entonces:

itera = Len(sCods_conciliacion) \ 250

pos=250
i=0
while i<= itera
if i= 0 then
Primer_cadena(i) = Left(sCods_conciliacion, pos)

End if
if i= 1 then
pos=pos+1
segunda_cadena(i) = Mid(sCods_conciliacion, pos, 250)
end if
pos=pos + 250
tercera_cadena(i)= Mid(sCods_conciliacion, pos, 250)
i=i+1
Estoy un poco mas orientada? por favor me podrias decir si me estoy equivocando en algo mas?
gracias! besos!!Laurys
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 19:10.