Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

PHONAME()

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().

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!