Encontrar uma string em arquivo texto.
Moderador: Moderadores
-
clebermano
- Usuário Nível 3

- Mensagens: 187
- Registrado em: 03 Out 2004 12:39
- Contato:
Encontrar uma string em arquivo texto.
bom dia Pessoal, tenho um arquivo texto, e preciso encontrar a string "1234" dentro dele, atraves de um get. alguem poderia me ajudar a fazer isto???? obrigado
- Augusto
- Usuário Nível 3

- Mensagens: 473
- Registrado em: 26 Ago 2003 17:50
- Localização: Maricá/RJ
- Contato:
Transforme o arq. TXT em DBF e use a função AT()...
Sintaxe: AT(<exp.caractere 1>,<exp. caractere 2>)
Retorna um número que representa a posição inicial de uma expressão caractere dentro de uma segunda expressão, se a primeira estiver nela contida. Retorna (0) se a primeira expressão nãi estiver contida na segunda.
<exp.caractere 1>: é a cadeia de caracteres a ser localizada na segunda expressão.
<exp.caractere 2>: é a cadeia de caracteres a ser pesquizada para localizar a primeira expressão.
Sintaxe: AT(<exp.caractere 1>,<exp. caractere 2>)
Retorna um número que representa a posição inicial de uma expressão caractere dentro de uma segunda expressão, se a primeira estiver nela contida. Retorna (0) se a primeira expressão nãi estiver contida na segunda.
<exp.caractere 1>: é a cadeia de caracteres a ser localizada na segunda expressão.
<exp.caractere 2>: é a cadeia de caracteres a ser pesquizada para localizar a primeira expressão.
:xau Fui...
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
-
evolver
- Membro Master

- Mensagens: 189
- Registrado em: 28 Ago 2004 01:02
- Localização: Cruz Alta - RS
- Contato:
Se for pra converter o TXT em dbf melhor seria um
locate for "1234" $ campo
E depois de localizar dai sim usaria o AT pra saber a posição. O problema é se ele precisar saber exatamente onde isso esta no texto pra calcular. E se o texto tiver mais de 256 colunas ai ferrou mesmo.
Melhor é partir pro xingamento... digo funções de baixo nível.
Com esse código ele localiza a posição do texto dentro de um arquivo qualquer. Caso precise saber de linha e coisa assim dai o melhor mesmo vai ser converter pra DBF e torcer pra não ultrapassar o tamanho máximo de caracteres num campo alphanumerico.
locate for "1234" $ campo
E depois de localizar dai sim usaria o AT pra saber a posição. O problema é se ele precisar saber exatamente onde isso esta no texto pra calcular. E se o texto tiver mais de 256 colunas ai ferrou mesmo.
Melhor é partir pro xingamento... digo funções de baixo nível.
Código: Selecionar todos
v_busca="1234"
v_handle=fopen("arquivo.txt")
v_tamanho=fseek(v_handle,0,2) // pega tamanho do arquivo
fseek(v_handle,0,0)
v_lbusca=len(v_busca)
do while .t.
v_buffer=space(v_lbusca)
v_lidos=fread(v_handle,@v_buffer,v_lbusca)
if v_lidos < v_lbusca
exit
endif
if v_buffer = v_busca
v_pos=fseek(v_handle,0,1)
exit
endif
enddo
? "a posição da string no arquivo é em"
? v_pos
fclose(v_handle)
Sergio "Evolver" Fagundes
CURVE-SE DIANTE DE MIM SER INSIGNIFICANTE, POIS EU SOU ROOT
Só respondo em PVT perguntas relativas ao que eu faço. Qualquer outra dúvida favor postar no fórum.
Peço aos veteranos que antes de responder a uma pergunta repetida dêem uma pesquisada e instruam a quem perguntou a fazer o mesmo.
CURVE-SE DIANTE DE MIM SER INSIGNIFICANTE, POIS EU SOU ROOT
Só respondo em PVT perguntas relativas ao que eu faço. Qualquer outra dúvida favor postar no fórum.
Peço aos veteranos que antes de responder a uma pergunta repetida dêem uma pesquisada e instruam a quem perguntou a fazer o mesmo.
-
clebermano
- Usuário Nível 3

- Mensagens: 187
- Registrado em: 03 Out 2004 12:39
- Contato: