|
Iniciado por BOLLER ADRIANO, ago., 02 2016 10:43 PM - 1 resposta |
| |
| | | |
|
| |
Membro registado 3.659 mensagems Popularité : +175 (223 votes) |
|
Publicado em agosto, 02 2016 - 10:43 PM |
Prezados,
Função para simplificar o seu trabalho de busca da posição de uma ocurrência em um texto:
Procedure InStr(StringOriginal, Busca, NoAccentSN, LowerSN)
nPosicao is int
IF StringOriginal <> "" AND Busca <> "" THEN IF NoAccentSN = "S" THEN StringOriginal = NoAccent(StringOriginal) Busca = NoAccent(Busca) END IF LowerSN = "S" StringOriginal = Lower(StringOriginal) Busca = Lower(Busca) END nPosicao = PositionOccurrence(StringOriginal, Busca, firstRank, FromBeginning) IF nPosicao = 0 THEN nPosicao = PositionOccurrence(StringOriginal, Busca, nextRank, FromBeginning) IF nPosicao = 0 THEN nPosicao = PositionOccurrence(StringOriginal, Busca, lastRank, FromBeginning) IF nPosicao = 0 THEN nPosicao = PositionOccurrence(StringOriginal, Busca, previousRank, FromBeginning) END END END END RESULT (nPosicao)
Modo de usar:
Posicao is int = InStr("Adriano José Boller", "jose", "S", "S") Info(Posicao)
A stringOriginal pode ser um texto muito mais complexo como uma nota fiscal xml ou um texto de uma página html...
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Mensagem modificada, agosto, 02 2016 - 10:47 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.659 mensagems Popularité : +175 (223 votes) |
|
Publicado em agosto, 03 2016 - 1:02 AM |
Sobrecarga de método:
Procedure InStr(StringOriginal, Busca)
nPosicao is int
IF StringOriginal <> "" AND Busca <> "" THEN nPosicao = PositionOccurrence(StringOriginal,Busca,firstRank,FromBeginning) IF nPosicao = 0 THEN nPosicao = PositionOccurrence(StringOriginal,Busca,nextRank,FromBeginning) IF nPosicao = 0 THEN nPosicao = PositionOccurrence(StringOriginal,Busca,lastRank,FromBeginning) IF nPosicao = 0 THEN nPosicao = PositionOccurrence(StringOriginal,Busca,previousRank,FromBeginning) END END END END
RESULT (nPosicao)
Posicao is int = InStr("Adriano José Boller", "José") Info(Posicao)
OBS.: Gere nova procedure e inverta os parâmetros vai gerar a sobre carga, em seguida remova e organize os parâmetros para a nova procedure.
Ficando assim a sobrecarga de método com um número entre parênteses, conforme imagem abaixo:
Criem as suas funções, simplifique a ferramenta e reduza o tempo de desenvolvimento, evite retrabalhos e processos complexos, faça grandes problemas virarem pequenas partes e se especialize em cada uma delas, uma hora você conclui e verá que o problema foi resolvido.
Bons estudos,
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Mensagem modificada, agosto, 03 2016 - 1:07 AM |
| |
| |
| | | |
|
| | | | |
| | |
|