Página 1 de 1
converter minusculas em maisculas num dbf
Enviado: 13 Out 2010 10:50
por lapinhazzz
Boa Tarde amigos do Forum.
Será que alguém tem uma rotina para modificar uma base de dados inteira de letras minusculas para maiusculas.
Obrigado
lapinhazzz
converter minusculas em maiusculas num dbf
Enviado: 13 Out 2010 11:35
por Pablo César
Bom sabemos que a função UPPER converte em MAIUSCULAS caracteres desde CHR(097) até CHR(122) seriam a,b,c,d...//...w,x,y,z, mas não converte "ç" nem vogais acentuadas, isso você terá que prever se há casos assim e se eles estão no modo ANSI ou OEM. Fora isso, se você quer uma rotina que processe todos os campos do tipo caracter de um dbf, você vai precisar obter a estrutura do seu dbf e processar campo a campo (quando forem do tipo "C"aracter, varrendo registro a registro e subtituindo com UPPER e função para tramento de acentos. Eu pegaria o antigo DBase e eu mesmo faria um replace em cada campo que desejar caso não precisar tratar caracteres especiais ("ç" e vogais acentuadas).
Aqui tem uma função, não revisei como ela está atualmente mas já é algum caminho:
https://pctoledo.org/forum/viewto ... 299#p38963
Re: converter minusculas em maisculas num dbf
Enviado: 14 Out 2010 01:23
por Vander
Lapinhazzz,
Eu uso a função abaixo para remover acentos e Ç. Voce pode fazer semelhante.
Código: Selecionar todos
variavel := CONVERT(UPPER(seu_campo))
..
..
Dá o replace
//----------------------------
Function CONVERT( cTexto )
// remove branco
cTexto := StrTran( cTexto, " ", " " )
// acento agudo
cTexto := StrTran( cTexto, "Á", "A" )
cTexto := StrTran( cTexto, "É", "E" )
cTexto := StrTran( cTexto, "Í", "I" )
cTexto := StrTran( cTexto, "Ó", "O" )
cTexto := StrTran( cTexto, "Ú", "U" )
// acento circunflexo
cTexto := StrTran( cTexto, "Â", "A" )
cTexto := StrTran( cTexto, "Ê", "E" )
cTexto := StrTran( cTexto, "Î", "I" )
cTexto := StrTran( cTexto, "Ô", "O" )
cTexto := StrTran( cTexto, "Û", "U" )
// til
cTexto := StrTran( cTexto, "Ã", "A" )
cTexto := StrTran( cTexto, "Õ", "O" )
// ce-cedilha
cTexto := StrTran( cTexto, "Ç", "C" )
// trema
cTexto := StrTran( cTexto, "Ü", "U" )
// crase
cTexto := StrTran( cTexto, "À", "A" )
cTexto := StrTran( cTexto, "È", "E" )
cTexto := StrTran( cTexto, "Ì", "I" )
cTexto := StrTran( cTexto, "Ò", "O" )
cTexto := StrTran( cTexto, "Ù", "U" )
Return cTexto
Vander
Re: converter minusculas em maisculas num dbf
Enviado: 14 Out 2010 12:28
por gvc
Ao que me lembro o upper não converte os caracteres acentuados assim como o '@!' não faz o mesmo com as E/S.
Vc vai precisar colocar todos os caracteres especiais que aparecem na sua base na rotina de conversão.
Re: converter minusculas em maisculas num dbf
Enviado: 15 Out 2010 07:33
por lapinhazzz
vou experimentar.
Obrigado a todos
lapinhazzz