Página 1 de 1
como hacer esto de foxpro en xailer?
Publicado: Mié May 16, 2012 6:42 am
por PEDRO DE LEON RODAS[3]
Buen dia a todos.
Requiriendo nuevamente de su ayuda.
Tengo un codigo en foxpro que me el total de palabras de una cadena de
caracteres, como lo puedo hacer en xailer ?
El codigo es el siguiente:
ccadena = "EL LIBREO DE LA SELVA NOS CUENTA LAS HISTORIA DE UN NIí‘O"
LINEAS = ALINES(MIARRAY, STRTRAN(ALLTRIM(CADENA), " ", chr(13)))
FOR CUENTA = 1 TO LINEAS
? MIARRAY(CUENTA)
ENDFOR
EL RESULTADO DE ES:
EL
LIBREO
DE
LA
SELVA
NOS
CUENTA
LAS
HISTORIA
DE
UN
NIí‘O
SON 12 PALABRAS.
Por sus ayudas, gracias.
como hacer esto de foxpro en xailer?
Publicado: Mié May 16, 2012 11:14 am
por Shadax
No sé si te sirve esto:
cCadena := "EL TEXTO DE ESTE MENSAJE CONTIENE 8 PALABRAS"
msgInfo( Len( HB_ATokens(cCadena, " ") ) )
El msgInfo te devolverá "8"
como hacer esto de foxpro en xailer?
Publicado: Mié May 16, 2012 3:50 pm
por Gabo
El 15/05/2012 11:42 p.m., PEDRO DE LEON RODAS escribió:
> Buen dia a todos.
> Requiriendo nuevamente de su ayuda.
>
> Tengo un codigo en foxpro que me el total de palabras de una cadena de
> caracteres, como lo puedo hacer en xailer ?
>
> El codigo es el siguiente:
>
>
> ccadena = "EL LIBREO DE LA SELVA NOS CUENTA LAS HISTORIA DE UN NIí‘O"
>
> LINEAS = ALINES(MIARRAY, STRTRAN(ALLTRIM(CADENA), " ", chr(13)))
> FOR CUENTA = 1 TO LINEAS
> ? MIARRAY(CUENTA)
> ENDFOR
>
> EL RESULTADO DE ES:
>
> EL
> LIBREO
> DE
> LA
> SELVA
> NOS
> CUENTA
> LAS
> HISTORIA
> DE
> UN
> NIí‘O
>
> SON 12 PALABRAS.
>
>
> Por sus ayudas, gracias.
Pedro, Solo modificalo para que te regrese un Array
//---------------------------------------------------------- --------------------
STATIC FUNCTION Cadena2Lineas( string, parser )
Local cStrLines:= "", nLenPar:= Len( parser )
Local commapos := 0
If parser == NIL
parser := " "
EndIf
Do While Len( string ) > 0
commapos := at( parser, string )
If commapos > 0
cStrLines+= Left( string, commapos - 1 ) + CRLF + ""
string := SubStr( string, commapos + Len( parser ) )
ELSE
cStrLines+= string
string := ''
EndIf
EndDo
Return( cStrLines )
GABO
como hacer esto de foxpro en xailer?
Publicado: Mié May 16, 2012 4:34 pm
por PEDRO DE LEON RODAS[3]
Joan Ramón, buen dia.
Gracias por tu ayuda, es lo que queria, funciona perfectamente bien.
Otra pregunta.
Esta funcion HB_ATokens() es de Xharbour, por que xailer no la pone en su
ayuda.
Donde puedo obtener las sintaxis de estas funciones.
Gracias.
como hacer esto de foxpro en xailer?
Publicado: Mié May 16, 2012 6:09 pm
por Shadax
En efecto. Es de xHarbour:
HB_ATokens( <cString> , ;
[<cDelimiter>] , ;
[<lSkipQuotes>] , ;
[<lDoubleQuotesOnly>] ) --> aTokens
<cString>
This is a character string which is tokenized based on the value of <cDelimiter>.
<cDelimiter>
A single character can be specified as delimiter used to tokenize the string <cString>. It defaults to a blank space (Chr(32)).
<lSkipQuotes>
This parameter defaults to .F. (false). When it is set to .T. (true), all portions of <cString> enclosed in single or double quotes are not searched for <cDelimiter>.
<lDoubleQuoteOnly>
The parameter is only relevant when <lSkipQuotes> is .T. (true). When <lDoubleQuoteOnly> is also .T. (true), only portion sof <cString> enclosed in double quotes are not searched for <cDelimiter>.
Return
The function returns an array of character strings.
El fichero de ayuda de xHarbour lo obtienes cuando te bajas xHarbour. Mírate la sección de descargas de Xailer.