Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-07-2008
Camilo Camilo is offline
Miembro
 
Registrado: jun 2007
Posts: 149
Poder: 18
Camilo Va por buen camino
Actualizar mayusculas

Hola Amigos:

Tengo una tabla llamada "personas" esta tabla esta hecha en paradox.
dentro de ella tengo un campo que e llama "Apellido". Resulta que los casi 20.000 registros ya grabados estan todos em mayuscula sostenida.

Mi inquietud es:

Podrian por favor ayudarme (en el onclick) de un Button; con un codigo para convertir todos los registros a la primera letra en mayuscula y las otras en minuscula??.

Tablas Paradox
Delphi 7

Mil Gracias, que mis dios les socorra buenas esposas y esposos.
Responder Con Cita
  #2  
Antiguo 19-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Camilo Ver Mensaje
Hola Amigos:

Tengo una tabla llamada "personas" esta tabla esta hecha en paradox.
dentro de ella tengo un campo que e llama "Apellido". Resulta que los casi 20.000 registros ya grabados estan todos em mayuscula sostenida.

Mi inquietud es:

Podrian por favor ayudarme (en el onclick) de un Button; con un codigo para convertir todos los registros a la primera letra en mayuscula y las otras en minuscula??.

Tablas Paradox
Delphi 7

Mil Gracias, que mis dios les socorra buenas esposas y esposos.

Pues seria tomar el valor del campo meterlo en un string y luego tomar la posicion 1 del string y pasarla a mayusculas y el resto a minúsculas, y volver a guardar el string en el campo.

No me pidas codigo hoy porque tengo pereza.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #3  
Antiguo 19-07-2008
Avatar de Fenareth
[Fenareth] Fenareth is offline
Miembro Premium
 
Registrado: oct 2007
Ubicación: Guadalajara, Jalisco, México
Posts: 494
Poder: 17
Fenareth Va por buen camino
No sé si exista una función directa, pero a mi se me ocurre algo así:

Código Delphi [-]
var apellido:string;
     i,j:integer;

begin

     for i:=1 to Table.RecordCount do
     begin
            apellido:= Tabla.FieldByName('Apellido').AsString;
            for j:=1 to length(apellido) do
            begin
                        apellido[j]:=lowercase(apellido[j]);
            end;
            Tabla.FieldByName('Apellido').AsString:=apellido;
     end;
end;

Lo hago de memoria, no he probado si funciona... Saludos
__________________
Ask questions. Think for yourself. Wake up and you’ll make the difference
Responder Con Cita
  #4  
Antiguo 19-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Excelente! Solo te falto que el primer char sea mayusucula como pide el amigo. El dice que esta en mayusculas ya, pero por si acaso...

Código Delphi [-]
var apellido:string;
     i,j:integer;

begin

     for i:=1 to Table.RecordCount do
     begin
            apellido:= Tabla.FieldByName('Apellido').AsString;

           apellido[1]:=uppercase(apellido[1]);
            for j:=2 to length(apellido) do
            begin
                        apellido[j]:=lowercase(apellido[j]);
            end;
            Tabla.FieldByName('Apellido').AsString:=apellido;
     end;
end;
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #5  
Antiguo 19-07-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Sí son varias palabras:
http://delphi.about.com/cs/adptips19...ltip1099_5.htm

Si es una sola:
Código Delphi [-]
   edtUnapalabra.Text := AnsiUpperCase(COpy('UNAPALABRA', 1,1))+AnsiLowerCase(RightStr('UNAPALABRA', length('UNAPALABRA')-1));
__________________

Responder Con Cita
  #6  
Antiguo 19-07-2008
Avatar de Fenareth
[Fenareth] Fenareth is offline
Miembro Premium
 
Registrado: oct 2007
Ubicación: Guadalajara, Jalisco, México
Posts: 494
Poder: 17
Fenareth Va por buen camino
Cita:
Empezado por donald shimoda Ver Mensaje
Excelente! Solo te falto que el primer char sea mayusucula como pide el amigo. El dice que esta en mayusculas ya, pero por si acaso...
No recordaba si Delphi comenzaba a contar lo caracteres de string en 0 o en 1 de ahí la confusión...

Y claro !, yo consideré como él dijo, que la primera letra ya estaba en mayúsculas...

Saludos
__________________
Ask questions. Think for yourself. Wake up and you’ll make the difference
Responder Con Cita
  #7  
Antiguo 19-07-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
¿por qué AnsiLowerCase y no LowerCase?
__________________

Responder Con Cita
  #8  
Antiguo 19-07-2008
Avatar de Fenareth
[Fenareth] Fenareth is offline
Miembro Premium
 
Registrado: oct 2007
Ubicación: Guadalajara, Jalisco, México
Posts: 494
Poder: 17
Fenareth Va por buen camino
Cita:
Empezado por ContraVeneno Ver Mensaje
Por eso digo que AnsiLowerCase y AnsiUpperCase
Código Delphi [-]
var apellido:string;
     i,j:integer;

begin

     for i:=1 to Table.RecordCount do
     begin
            apellido:= Tabla.FieldByName('Apellido').AsString;

           apellido[1]:=ansiuppercase(apellido[1]);
            for j:=2 to length(apellido) do
            begin
                        apellido[j]:=ansilowercase(apellido[j]);
            end;
            Tabla.FieldByName('Apellido').AsString:=apellido;
     end;
end;
__________________
Ask questions. Think for yourself. Wake up and you’ll make the difference
Responder Con Cita
  #9  
Antiguo 19-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por ContraVeneno Ver Mensaje

M... eso si que me deja helado.

Nunca se deja de aprender, que bueno!
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #10  
Antiguo 19-07-2008
Camilo Camilo is offline
Miembro
 
Registrado: jun 2007
Posts: 149
Poder: 18
Camilo Va por buen camino
Hola amigos, estaba afuera y acabo de volver por lo que les presento disculpas.
Ensaye este codigo::
Cita:
var
apellido: string;
i,j: integer;

begin

for i:=1 to TablePersonas.RecordCount do
begin
apellido:= TablePersonas.FieldByName('Ape1').AsString;
apellido[1]:=ansiuppercase(apellido[1]);
for j:=2 to length(apellido) do
begin
apellido[j]:=ansilowercase(apellido[j]);
end;
TablePersonas.FieldByName('Ape1').AsString:=apellido;
end;

end;
y me sale este mensaje de error en la compilacion:
Cita:
[Error] Unit1.pas(115): Incompatible types: 'Char' and 'String'
[Error] Unit1.pas(118): Incompatible types: 'Char' and 'String'
Responder Con Cita
  #11  
Antiguo 19-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Camilo Ver Mensaje
Hola amigos, estaba afuera y acabo de volver por lo que les presento disculpas.
Ensaye este codigo::

y me sale este mensaje de error en la compilacion:

Amigo la mejor opción es la que da contra veneno.

Por otro lado te da ese error porque efectivamente la función espera como argumento un string, no un char

Así que ahí se complica, deberías copiar el char a un string, pasarlo devolverlo, un rollo, ensaya la otra solucion, algo criptica pero funciona segun dicen.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #12  
Antiguo 19-07-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Hola

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  apellido: string;
begin
  apellido := Tabla.FieldByName('Apellido').AsString;
  apellido := apellido[1]+AnsiLowerCase(Copy(apellido,2,length(apellido)));
  ShowMessage(apellido);
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #13  
Antiguo 19-07-2008
Camilo Camilo is offline
Miembro
 
Registrado: jun 2007
Posts: 149
Poder: 18
Camilo Va por buen camino
Muchachos mil gracias, seguire ensayando con todos los elementos aportados por ustedes.

Gracias por su tiempo y un abrazo a todos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mayusculas en un Memo RoyTan Varios 6 15-01-2008 22:05:13
convertir mayusculas y minusculas. Solo la primera letra en Mayusculas Delphius MS SQL Server 2 21-07-2007 02:20:22
bloqque de mayusculas gulder API de Windows 3 07-09-2005 19:50:26
Mayusculas merlin API de Windows 3 25-04-2005 13:03:48
grilla con Mayusculas osvrom Varios 2 09-10-2003 17:05:14


La franja horaria es GMT +2. Ahora son las 22:03:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi