PRG Converter Minúscula para Maiúscula
Moderador: Moderadores
PRG Converter Minúscula para Maiúscula
Boa tarde, estou aqui novamente abusando da vontade dos amigos.
Tenho um banco de dados onde o campo "NOME" "ENDERECO" e "CIDADE" os dados estão inseridos apenas com a inicial maiúscula eu precisava converter para todas as letras maiúscula, so que não tenho a mínima ideia de como fazer isso.
Ex.
"campo nome" Antonio Rodrigues = ANTONIO RODRIGUES
"campo cendereco" Rua Jose = RUA JOSE
"campo cidade" sao paulo/sp = SAO PAULO/SP
A DBF se chama "CADASSO" existe uma série de campos dentro dela, mais o que eu preciso realmente é apenas dos campos "NOME, ENDERECO, CIDADE, se possível é claro, caso contrário somente o campo "NOME" já estaria de bom tamanho.
Pesso desculpas aos moderadores pois não tive tempo de ler os tópicos me perdoem se já tiver um tópico parecido, mais estou extremamente enrolado com isso.
Um forte abraço a todos, fiquem com Deus.
Tenho um banco de dados onde o campo "NOME" "ENDERECO" e "CIDADE" os dados estão inseridos apenas com a inicial maiúscula eu precisava converter para todas as letras maiúscula, so que não tenho a mínima ideia de como fazer isso.
Ex.
"campo nome" Antonio Rodrigues = ANTONIO RODRIGUES
"campo cendereco" Rua Jose = RUA JOSE
"campo cidade" sao paulo/sp = SAO PAULO/SP
A DBF se chama "CADASSO" existe uma série de campos dentro dela, mais o que eu preciso realmente é apenas dos campos "NOME, ENDERECO, CIDADE, se possível é claro, caso contrário somente o campo "NOME" já estaria de bom tamanho.
Pesso desculpas aos moderadores pois não tive tempo de ler os tópicos me perdoem se já tiver um tópico parecido, mais estou extremamente enrolado com isso.
Um forte abraço a todos, fiquem com Deus.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Converte caracteres acentuados
Segue abaixo um exemplo (que fiz exclusivamente para você), este utilitário não converte somente as minúsculas como também todos os caracteres acentuados (inclusive C cedilha). Do contrário, bastaria fazer um replace com mediante a função UPPER do Clipper. Espero que ajude.
- Anexos
-
UPPERS.PRG- Converte os acentos
- (1.64 KiB) Baixado 357 vezes
Editado pela última vez por Pablo César em 03 Jan 2008 14:00, em um total de 1 vez.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
gvc essa sua indicação não iria garantir a conversão de caracteres acentuados nem o c cedilha, conforme eu tinha mencionado.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Se for realmente o caso de tratar os caracteres acentuados, eu trocaria essa parte pela função STRanslate(cSource,cTable1,cTable2), que foi feita em C puro e, portanto, é muito mais rápida. Talvez, dependendo do tamanho dos arquivos, um ganho de velocidade desses pode fazer uma grande diferença.Pablo César escreveu:Código: Selecionar todos
FOR U=1 TO VQTAM VSUB:=SUBSTR(VGET,U,1) VP:=ASCAN(CAR_OLD,VSUB) IF VP>0 VCAR:=CAR_NEW[VP] VPOE:=.T. ELSE VCAR:=VSUB ENDIF VTXT:=VTXT+VCAR NEXT
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Paulo
Tento compilar sua PRG mais não estou tendo resultado, onde vc pede para colocar o nome da dbf e o nome do arquivo, poderia explicar pra mim, desculpe a minha falta de conhecimento, tento aprender fuçando mesmo, não tenho curso ou algo parecido, o básico que sei é porque eu gosto muito de clipper aprendi a gostar com um amigo que programava, mais nunca tive a oportunidade de aprender mesmo, e isso é uma coisa que em faz muita falta, mais um dia chego lá.
Forte abraço!!!
Quanto a outra PRG do nosso amigo deu certo, mais realmente os caracteres acentuados não são convertidos, mesmo assim agradeço a atenção de todos.
Fiquem em paz
Kristo
Forte abraço!!!
Quanto a outra PRG do nosso amigo deu certo, mais realmente os caracteres acentuados não são convertidos, mesmo assim agradeço a atenção de todos.
Fiquem em paz
Kristo
Na linha de comando do DOS informe o nome do programa e, separado por espaço, o nome do DBF a converter.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
ABeltrani
- Usuário Nível 2

- Mensagens: 54
- Registrado em: 09 Nov 2007 10:05
- Localização: Porto Ferreira-SP
Bom dia amigos clippeiros !
Um ótimo 2008 a todos !
Com relação a duvida do amigo, é possível apenas com a função upper() converter todos os caracteres acentuados e o cedilha para maiusculo. Isso eu consegui utilizando o clipper 5.3b. Não sei se nas versões anteriores é possivel.
Clipper programa
Blinker fi programa, ntxpo850
Um ótimo 2008 a todos !
Com relação a duvida do amigo, é possível apenas com a função upper() converter todos os caracteres acentuados e o cedilha para maiusculo. Isso eu consegui utilizando o clipper 5.3b. Não sei se nas versões anteriores é possivel.
Clipper programa
Blinker fi programa, ntxpo850
Apenas uma observação!!
Mandei converter os caracteres e notei que eles estavam ficando todos juntos com a letra "A" no local dos espaços. ex:
JOÃO CARLOS = JOÃOACARLOS
Então como sou curioso notei algo que pensei ser ali a causa do problema ex:
na prg do nosso amigo estava assim:
CAR_OLD:={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"," ","‚","¡","¢","£","Æ","ä","ƒ","ˆ","Œ","“","–","…","Š","
JOÃO CARLOS = JOÃOACARLOS
Então como sou curioso notei algo que pensei ser ali a causa do problema ex:
na prg do nosso amigo estava assim:
CAR_OLD:={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"," ","‚","¡","¢","£","Æ","ä","ƒ","ˆ","Œ","“","–","…","Š","
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Caro ABeltrani,
Você tem certeza que a utilização da função UPPER() do Clipper irá GARANTIR a conversão de caracteres acentuados como por exemplo "á", "é", "õ",etc... ?
Você tem certeza que a utilização da função UPPER() do Clipper irá GARANTIR a conversão de caracteres acentuados como por exemplo "á", "é", "õ",etc... ?
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Ainda mesmo sendo uma função feita em C puro, não acredito que venha a obter uma ganho muito considerável, pois o que deixa lento é a gravação do DBF com o REPLACE ou FIELDPUT (como eu mesmo utilizei) e não a procura e tradução de string ja que eu utilizei a função ASCAN que ora é extremamente rápida (na minha opinião mais rápida que outra função em C que possa se apresentar para este fim).Maligno escreveu:Se for realmente o caso de tratar os caracteres acentuados, eu trocaria essa parte pela função STRanslate(cSource,cTable1,cTable2), que foi feita em C puro e, portanto, é muito mais rápida.
Bem mas esta é a minha opinião. Cabe fazer testes e medir... eu ja fiz meu teste com o meu exemplo. Só faltou comparar com o STRanslate(), mas como não me convence... então deixei de lado.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
ABeltrani
- Usuário Nível 2

- Mensagens: 54
- Registrado em: 09 Nov 2007 10:05
- Localização: Porto Ferreira-SP
Certeza absoluta amigo Pablo. Mas como disse, tem que incluir o OBJ ntxpo850 que está na pasta OBJ do clipper. Sem o ntxpo850, realmente não converte estes caracteres. Pode testar se quiser.Você tem certeza que a utilização da função UPPER() do Clipper irá GARANTIR a conversão de caracteres acentuados como por exemplo "á", "é", "õ",etc... ?

