FoxPro/Visual FoxPro - Funcion Split de VB en FoxPro

   
Vista:

Funcion Split de VB en FoxPro

Publicado por OMAT (10 intervenciones) el 15/09/2009 23:16:40
Saludos a todos,

Veran, estoy trabajando con informacion que puede venir separada por comas o por pipes(ej. dato1|dato2|dato3|dato4|...), en tal caso debo de sacar cada dato contenido dentro de la cadena para poder evaluarlo, en vb era sencillo ya que la funcion split me regresaba un arreglo (ej. array = split(cadena, "|"))

El problema esque debo de aplicarlo en un sistema realizado en VFP 8 y no encuantro la manera de hacerlo, he buscado en la ayuda y en internet y nada de nada.

Alguien sabe si existe una funcion similar en FoxPro??

De antemano muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauricio

Funcion Split de VB en FoxPro

Publicado por Mauricio (1368 intervenciones) el 16/09/2009 00:24:35
Puedes probar esto:
APPEND FROM datos DELIMITED WITH "|"
Esto te creara los datos y seran delimitados por "|"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion Split de VB en FoxPro

Publicado por omat (10 intervenciones) el 17/09/2009 15:33:10
Gracias Mauricio, pero que no eso solo funciona para los cursores??, de cualquier forma lo intentaré y haber que pasa.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion Split de VB en FoxPro

Publicado por Gabriel (406 intervenciones) el 18/09/2009 05:47:27
Amigo OMAT :

Hace dos dias buscando cierta informacion en el Internet encontre un codigo que era una Rutina equivalente al SPLIT de Visual Basic para Visual Foxpro.

Indicame tu correo para poder enviarte la rutina.

Saludos,

Gabriel
(Lima-Perú)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion Split de VB en FoxPro

Publicado por OMAT (10 intervenciones) el 18/09/2009 15:25:03
Gabriel, mi correo es omat_260582@hotmail.com y te agredeceria que me hicieras llegar la funcion que comentas porque hasta ahora no he logrado grandes avances
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion Split de VB en FoxPro

Publicado por Daniel Andrada (1 intervención) el 25/11/2009 14:39:29
use afiliado
GOTO TOP
DO WHILE !EOF()

?RIGHT(ALLTRIM(AFILIADO.APENOM_1),(LEN(ALLTRIM(AFILIADO.APENOM_1))-ATCC(" ",ALLTRIM(AFILIADO.APENOM_1))))
?LEFT(ALLTRIM(AFILIADO.APENOM_1),AT_C(" ",ALLTRIM(AFILIADO.APENOM_1)))
entrada=AFILIADO.FECING_1
SKIP
ENDDO

Con esto sacas el apellido por un lado y los nombres por el otro, es sencillo determinar para lo siguiten que solo debes de procesar la cadena resultante del nombre recortado para volverla a recortar, bastara conque (en este caso) cuentes los espacios en blanco para determinar cuantas veces aplicar el recorte.

la entrada en afiliado.apenom_1='Costas Juan Carlos'
devuelve

nombre= 'Juan Carlos'
apellido='Costas'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion Split de VB en FoxPro

Publicado por PECSA (1 intervención) el 14/01/2013 15:15:25
Puede hacerse con esto, si el nombre tiene un solo apellido

DO WHILE !EOF()
APE1 = SUBSTR(NOMBRE,1,ATC(' ',NOMBRE)-1)
ENDDO

La entrada: Cordova Santos Percy
devuelve: Cordova

Mi problema como obtengo los dos apellidos

Saludo

Pecsa
Chiclayo - Peru
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion Split de VB en FoxPro

Publicado por Juan Manuel Cruz Torres juanmcruz@hotmail.com (508 intervenciones) el 15/01/2013 18:35:40
Usa la función

GetWordCount(cString[, cDelimiters])

Que te dice cuantas palabras hay en una cadena

Y la función

GETWORDNUM(cString, nIndex[, cDelimiters])

que te retorna la palabra número 'nIndex' que le indiques de la cadena.

Todo está en la ayuda del fox.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion Split de VB en FoxPro

Publicado por Jose (16 intervenciones) el 18/01/2013 22:59:35
Esto si funciona perfectamente a lo que estas buscando:

#define CRLF chr(13)+chr(10)
lcstring = [Es to es una prueba de split en VFP]
lcstring = strtran(lcstring, " ", CRLF)+CRLF
alines( aStr, lcstring)
display memory like aStr
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar