
De fato trata-se de um dos nossos maiores patrimônios, mas quem não se sente tentado a passar o texto pelo corretor do MS-Word para descobrir aqueles acentinhos faltantes, antes de cometer a gafe de publicar algo errado. Mesmo com todo esse esforço ainda cometo essas gafes com grande frequência aqui no Genexando, mas fazer o que, os que não tiverem pecados que atirem a primeira caneta.
Mas voltemos ao nosso problema original que é acentuação, usá-la ou não, e o grande esforço que tal detalhe ocasiona na questão das pesquisas no banco de dados, pois, agora mesmo no search do Genexando tive que escrever frases acentuadas e sem acento para tentar encontrar um artigo mais antigo, e que inclusive não achei.
O que fazer?
Em primeiro lugar temos os campos de entrada sujeitos a serem utilizados como filtros, podem representar um problema, pois muitos Joãos registram seus nomes como Joaos, e a falta de padrão traz consigo grandes dificuldades para achá-los depois.
Recentemente passamos por uma dificuldade dessas, e resolvemos duplicar um certo atributo na tabela removendo seus acentos de forma a possibilitar pesquisas por esse campo de forma mais 'neutra'.
E desta forma um pequeno trecho de codigo foi criado, com a ajuda do ReplaceRegEx para remover os caracteres com acentuação.
&TXT = &Texto.ReplaceRegEx("[áàâãäª]","a")
&TXT = &TXT.ReplaceRegEx("[éèêë]", "e")
&TXT = &TXT.ReplaceRegEx("[íìîï]", "i")
&TXT = &TXT.ReplaceRegEx("[óòôõöº]","o")
&TXT = &TXT.ReplaceRegEx("[úùûü]", "u")
&resposta = &TXT.ReplaceRegEx("[ç]", "c")
Acho que não preciso nem explicar o que ele faz né, (não é)?
O dia que o banco de dados falar português talvez não tenhamos que recorrer a esses métodos brasileiros.
Conclusão
Só pra abrir um pequeno parenteses, o Brasil, de fato é uma terra diferenciada, além da nossa lingua temos também os nossos próprios padrões que nos diferenciam do 'resto' do mundo, e só pra citar alguns exemplos vejam o nosso mais recente padrão 4G que somente funcionará aqui, e não adianta querer utilizar aquele iPhone 5 pois não vai funcionar, a própria Apple ficou meio revoltada com o Brasil, acho que por causa disso, o nosso sistema de TV digital que também só funciona aqui, as nossas belas e novas tomadas que também somente funcionam aqui e que por sinal exigem um montão de adaptadores, e por ai vai.
Direitos autorais a parte, fiquemos felizes com nossos irmãos de lingua portuguesa no mundo: Angola, Moçambique, Cabo Verde, Guiné-Bissau, São Tomé e Principe, Ilha da Madeira, Arquipélago dos Açores, e claro nossos patrícios, pois, pois. Ah, já estava me esquecendo, tem também os que falam mas não oficialmente: Macau, Goa e Timor Leste. Percebeu que quase todos tem acento até no nome!
3 comentários:
Olá
Estou testando o Genexus X ev2 para avaliar se atende as nossas necessidades. Esbarrei no seguinte caso:
Criamos duas tabelas:
Tab1 e Tab2
Na Tab1, possuímos a chave estrangeira Tab2Cod.
Gostaria que, ao estar incluindo um novo registro em Tab1, ao chegar ao campo Tab2Cod, se não informasse um valor existente, que ele abrisse o cadastro da Tab2 possibilitando o cadastro, e eventual transporte da informção para o cadastro da Tab1, sem interromper esse processo.
Isso é possível?
Grato desde já!
Ola Fabio
Sim voce consegue fazer isso, basta marcar a transação Tab2 como Type=Component, e inclui-la (com o user control WebComponent) no prompt gerado pelo Genexus, que sao os objetos com nome GX0..., que a ferramenta gera automaticamente.
Alias esses prompts podem ser programados de acordo com o seu proprio interesse.
ab
Gostei da dica!
Postar um comentário