|
Débuté par BOLLER ADRIANO, 02 aoû. 2016 22:43 - 1 réponse |
| |
| | | |
|
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 02 août 2016 - 22:43 |
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/Message modifié, 02 août 2016 - 22:47 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 03 août 2016 - 01:02 |
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/Message modifié, 03 août 2016 - 01:07 |
| |
| |
| | | |
|
| | | | |
| | |
|