Propósito
Preencher o conteúdo de variáveis com a representação fonética de uma cadeia de caracteres.
Sintaxe
PHONAME (<exp.C>,<exp.N1>,<var.N2>,<var.N3>,<var.N4>,<var.N5>,<exp.N6>)
Argumentos
|
<exp.C> |
representa o nome para decomposição. |
|
<exp.N1> |
representa a quantidade de códigos fonéticos desejada. |
|
<var.N2> |
representa uma variável que será atribuída a um código fonético. |
|
<var.N3> |
representa uma variável que será atribuída a um código fonético. |
|
<var.N4> |
representa uma variável que será atribuída a um código fonético. |
|
<var.N5> |
representa uma variável que será atribuída a um código fonético. |
|
<exp.N6> |
representa um FLAG para a decomposição do nome, e deve ser 1 ou 3, qualquer outro valor será tido como 1. |
Utilização
Retorna "1" (um), se em <exp.C> contiver algum caractere diferente de letras ou brancos quando <exp.N6> for igual a 3 (três). Caso contrário, retorna "0" (zero), e preenche <var.N2> a <var.N5> com um valor numérico inteiro correspondente a representação fonética dos 4 (quatro) primeiros caracteres de cada parte de <exp.C>.
A função PHONAME () funciona sob as seguintes regras:
1- O nome (<exp.C>) é dividido em palavras, sendo considerado como separador qualquer caractere diferente de letras.
2 - Elimina-se:
As palavras de uma só letra e DA, DE, DI, DO, DU, DR, ET, LA, LE, LO, DAS, DAL, DEL, DER, DOS, LAS, LES, LOS, VAN e VON.
Se <exp.N6> for igual a 3 (três) elimina-se também as palavras DALL e DELL.
As palavras FILHO, FILHA, NETO, NETA, NETTO, SOBRINHO, SOBRINHA, JUNIOR, JR, BISNETO, BISNETA, SEGUNDO, SEGUNDA, PRIMO e PRIMA quando houver mais de uma palavra e uma destas for a última.
0 (zero) preenche as variáveis com a representação fonética dos nomes conforme regra a seguir:
Quando <exp.N6> igual a 1 (um) :
* Existindo uma palavra:
<var.N2> recebe o código fonético da palavra.
<var.N3> recebe 0 (zero);
<var.N4> recebe 0 (zero);
<var.N5> recebe 0 (zero).
* Existindo duas palavras:
<var.N2> recebe o código fonético da primeira palavra;
<var.N3> recebe o código fonético da segunda palavra.
<var.N4> recebe 0 (zero);
<var.N5> recebe 0 (zero).
* Existindo três ou mais palavras:
<var.N2> recebe o código fonético da primeira palavra;
<var.N3> recebe o código fonético da terceira palavra;
<var.N4> recebe o código fonético da segunda palavra;
<var.N5> recebe 0 (zero).
Quando <exp.N6> igual a 3 (três) :
* Existindo até 3 (três) palavras tem o mesmo funcionamento de quando <exp.N6> igual a 1.
* Existindo 4 (quatro) ou mais palavras:
<var.N2> recebe o código fonético da primeira palavra;
<var.N3> recebe o código fonético da última palavra;
<var.N4> recebe o código fonético da segunda palavra;
<var.N5> recebe o código fonético da penúltima palavra.
PHONAME () equivale a utilizar as funções PHONETS () e HTON ().
Exemplos
O exemplo a seguir mostra-nos o retorno desta função.
nome = "José Carlos Oliveira Santos Silva"
qtd_cod, cod1, cod2, cod3, cod4 = 0
* Exibirá 0
? PHONAME (nome, qtd_cod, cod1, cod2, cod3, cod4, 3)
* Exibirá
? qtd_cod && 4
? cod1 && 36069
* Igual a HTON (PHONETS ("JOSE",1))
? cod2 && 58774
* Igual a HTON (PHONETS ("SILVA",1))
? cod3 && 12761
* Igual a HTON (PHONETS ("CARLOS",1))
? cod4 && 57780
* Igual a HTON (PHONETS ("SANTOS",1))
Consulte
HTON(), NTOH(), PHONETIC() e PHONETS().