At

Função que retorna a primeira posição encontrada em uma string através de outra.

Exemplo da Rotina:

At('PESQUISA', 'FRASE DE PESQUISA COMPLETA')

Exemplo 1- Pesquisa de uma letra:

At - Exemplo 1

At – Exemplo 1

//Bibliotecas
#Include "Protheus.ch"

/*/{Protheus.doc} zTeste
Função de Teste
@type function
@author Terminal de Informação
@since 13/11/2016
@version 1.0
    @example
    u_zTeste()
/*/

User Function zTeste()
	Local aArea   := GetArea()
	Local cFrase  := "Terminal de Informação"
	Local nPos    := 0

	//Encontrando a primeira letra 'a' na frase
	nPos := At("a", cFrase)
	MsgInfo("A primeira letra 'a' esta na posição "+cValToChar(nPos), "Atenção")

	RestArea(aArea)
Return

Exemplo 2- Pesquisa de uma letra a partir de uma posição:

At - Exemplo 2

At – Exemplo 2

//Bibliotecas
#Include "Protheus.ch"

/*/{Protheus.doc} zTeste
Função de Teste
@type function
@author Terminal de Informação
@since 13/11/2016
@version 1.0
    @example
    u_zTeste()
/*/

User Function zTeste()
	Local aArea   := GetArea()
	Local cFrase  := "Terminal de Informação"
	Local nPos    := 0

	//Encontrando a primeira letra 'a' na frase, a partir da posição 10
	nPos := At("a", cFrase, 10)
	MsgInfo("A primeira letra 'a' esta na posição "+cValToChar(nPos)+" (a partir da posição 10)", "Atenção")

	RestArea(aArea)
Return

Exemplo 3- Pesquisa de uma frase dentro de outra:

At - Exemplo 3

At – Exemplo 3

//Bibliotecas
#Include "Protheus.ch"

/*/{Protheus.doc} zTeste
Função de Teste
@type function
@author Terminal de Informação
@since 13/11/2016
@version 1.0
    @example
    u_zTeste()
/*/

User Function zTeste()
	Local aArea   := GetArea()
	Local cFrase  := "Terminal de Informação"
	Local nPos    := 0

	//Encontrando o texto 'forma' e onde começa na frase
	nPos := At("forma", cFrase)
	MsgInfo("'forma' esta a partir da posição "+cValToChar(nPos), "Atenção")

	RestArea(aArea)
Return

Exemplo em Vídeo:

Clique nesse link para ver um exemplo em Vídeo da nossa Maratona de Exemplos.

Observações:

– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;

Referências:

TDN
Universo AdvPL