Página 1 de 1
continuo com problemas com a funcao at()
Enviado: 22 Dez 2004 12:20
por clebermano
Caros amigos, a algun tempo atras coloquei um post aki, para resolver um problema com a funcao at().realmente foi resolvido.So que agora acontece o seguinte, quando eu digito por exemplo 50.50, para a pesquisa a funcao me retorna tudo q tem 50.50 no arquivo, por exemplo 250.50, 150.50, eu precisaria que a funcao me retornasse somente o q foi digitado no get, se alguem puder me ajudar obrigado.
clebermanorp@yahoo.com.br
Enviado: 25 Dez 2004 12:03
por Dudu_XBase
Cleber Bom Dia !!
O que vc poderia fazer a função at() retorna a posição na string qdo encontra o item pesquisado.
Vou mostrar um exemplo:
cVar := "duduskate 50.50"
cVar2 := "duduskate 250.50"
// retornará 11
? at("50.50", cVar)
// retornará 12
? at("50.50", cVar2)
Para Solucionar eu pensei na seguinte forma, qdo ele localizar a string a ser pesquisada, vc verificar a posição anterior, verificando se é um digito se for é caso de ser um possível 150.50 ou 250.50 ....montei um exemplo abaixo espero q entenda essa minha lógica....
Código: Selecionar todos
nPos := at("50.50",cVar2)
if nPos > 0
// se a posição anterior for um digito ...
if isdigit(substr(cVar2,nPos-1,1))
? "Não satisfaz sua pesquisa....."
else // se posição anterior estiver em branco ou for uma letra...
? "Pesquisa OK "
endif
else
? "Não encontrei nada... "
endif