substr() SOLUCIONADO
-
- Posts: 518
- Joined: Wed Jul 31, 2013 1:14 pm
- Location: Maldonado - Uruguay
- Contact:
substr() SOLUCIONADO
Hola amigos:
Tengo una cadena de 200 caracteres. cStrings
Con n1:= HB_AT(" ",cstrings , 65, 75 ) busco donde hay un espacio entre 65 y 75 y lo muestra n1 (73)
? deta[1]:= substr(cstring , 1, n1) Aqui extraigo la cadena desde el 1 (primer caracter hasta n1 que es 73
Esto lo hace bien.
Pero si hago para probar
deta[2]:= substr(cstrings , 74, 160) Muestra el strings desde el 74 hasta el 200.
No muestra desde el 74 al 160
Cuando hago un MsgInfo(cStrings), lo hace a la perfección.
Gracias por cualquier sugerencia
Saludos
Ruben Fernandez
(No encuentro en el foro nada porque todavía no está actualizado totalmente)
Tengo una cadena de 200 caracteres. cStrings
Con n1:= HB_AT(" ",cstrings , 65, 75 ) busco donde hay un espacio entre 65 y 75 y lo muestra n1 (73)
? deta[1]:= substr(cstring , 1, n1) Aqui extraigo la cadena desde el 1 (primer caracter hasta n1 que es 73
Esto lo hace bien.
Pero si hago para probar
deta[2]:= substr(cstrings , 74, 160) Muestra el strings desde el 74 hasta el 200.
No muestra desde el 74 al 160
Cuando hago un MsgInfo(cStrings), lo hace a la perfección.
Gracias por cualquier sugerencia
Saludos
Ruben Fernandez
(No encuentro en el foro nada porque todavía no está actualizado totalmente)
Last edited by D.Fernandez on Sat Feb 08, 2025 8:56 pm, edited 1 time in total.
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
- leandro
- Posts: 1752
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 38 times
- Been thanked: 10 times
- Contact:
Re: substr()
y si duplicas la variable y sacas la información que resta, puedes intentar de la siguiente manera, y mirar si funciona.
Code: Select all | Expand
cValida := cstrings
deta[2]:= substr(cValida, 74, 160)
msginfo(deta[2])
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
-
- Posts: 518
- Joined: Wed Jul 31, 2013 1:14 pm
- Location: Maldonado - Uruguay
- Contact:
Re: substr()
Gracias Leandro por la respuesta.
El inconveniente que tengo es que siempre los valores cambian, por eso no puedo hacerlo así.
Seguimos viendo.
Gracias y saludos
Ruben Dario Fernandez
El inconveniente que tengo es que siempre los valores cambian, por eso no puedo hacerlo así.
Seguimos viendo.
Gracias y saludos
Ruben Dario Fernandez
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
Re: substr()
Estimado,
Quizas, asi?
n1:= HB_AT(" ",cstrings , 65, 75 )
deta[2]:= substr(cstrings , n1+1, 200-n1)
saludos
Quizas, asi?
n1:= HB_AT(" ",cstrings , 65, 75 )
deta[2]:= substr(cstrings , n1+1, 200-n1)
saludos
- alerchster
- Posts: 97
- Joined: Mon Oct 22, 2012 4:43 pm
- Has thanked: 2 times
Re: substr()
Estimado,
Quizas, asi?
n1:= HB_AT(" ",cstrings , 65, 75 )
deta[2]:= substr(cstrings , n1+1, 160-n1)
saludos
Quizas, asi?
n1:= HB_AT(" ",cstrings , 65, 75 )
deta[2]:= substr(cstrings , n1+1, 160-n1)
saludos
Regards
Ing. Anton Lerchster
Ing. Anton Lerchster
Re: substr()
Hola Ruben,D.Fernandez wrote: Fri Feb 07, 2025 10:54 pm Hola amigos:
Tengo una cadena de 200 caracteres. cStrings
Con n1:= HB_AT(" ",cstrings , 65, 75 ) busco donde hay un espacio entre 65 y 75 y lo muestra n1 (73)
? deta[1]:= substr(cstring , 1, n1) Aqui extraigo la cadena desde el 1 (primer caracter hasta n1 que es 73
Esto lo hace bien.
Pero si hago para probar
deta[2]:= substr(cstrings , 74, 160) Muestra el strings desde el 74 hasta el 200.
No muestra desde el 74 al 160
Cuando hago un MsgInfo(cStrings), lo hace a la perfección.
Gracias por cualquier sugerencia
Saludos
Ruben Fernandez
(No encuentro en el foro nada porque todavía no está actualizado totalmente)
Sintaxis
SUBSTR(<cCadena>, <nInicio>, [<nCaracteres>]) --> cSubcadena
Argumentos
<cCadena> es la cadena de caracteres de la que va a extraerse una
subcadena. Puede tener hasta 65.535 (64K) bytes, el tama¤o m ximo de
cadena en CA-Clipper.
<nInicio> es la posici¢n inicial en <cCadena>. Si <nInicio> es
positivo, es relativo al car cter situado en el extremo izquierdo de
<cCadena>. Si es negativo, es relativo al car cter situado en el
extremo derecho de <cCadena>.
<nCaracteres> es el n£mero de caracteres que hay que extraer. Si se
omite, la subcadena empieza en <nInicio> y contin£a hasta el final de
la cadena. Si <nCaracteres> es mayor que el n£mero de caracteres desde
<nInicio> hasta el final de <cCadena>, los caracteres adicionales se
ignoran.
>><nCaracteres> es el n£mero de caracteres que hay que EXTRAER.
No C_U_A_N_T_O_S caracteres.
(He escrito con guiones por que si no los pongo no muestra la palabra, ¿Será una palabra malsonante en algún idioma?
Un Saludo
Carlos G.
FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
Carlos G.
FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
- Antonio Linares
- Site Admin
- Posts: 42548
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 78 times
- Contact:
Re: substr()
En la siguiente línea debería aparecer "No C_U_A_N_T_O_S caracteres" (sin los guiones).
No CUANTOS caracteres
En la siguiente línea sí que lo escribe bien.
No CUANTOS loquesea
Un Saludo
Carlos G.
FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
Carlos G.
FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
- Antonio Linares
- Site Admin
- Posts: 42548
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 78 times
- Contact:
Re: substr()
Carlos,
Tienes toda la razón
Ni idea de por qué hace eso. He revisado la lista de palabras con censura y no aparece...
Gracias!
Tienes toda la razón

Ni idea de por qué hace eso. He revisado la lista de palabras con censura y no aparece...
Gracias!
-
- Posts: 518
- Joined: Wed Jul 31, 2013 1:14 pm
- Location: Maldonado - Uruguay
- Contact:
Re: substr() SOLUCIONADO
Hola a todos y gracias por la ayuda.
Muchas gracias alerchster lo use así como dices.
Muy amables todos y muchas gracias.
Saludos
Ruben Dario Fernandez
Muchas gracias alerchster lo use así como dices.
Muy amables todos y muchas gracias.
Saludos
Ruben Dario Fernandez
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay