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 13-07-2010
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
Unificar nombres y apellidos

Hola amigos, resulta que tengo en una tabla Paradox los nombres y apellidos de todos los empleados de la empresa y estos vienen de la siguiente forma:

Juan Perez Reyes
Jorge L. Nápoles Cabrera
ALBERTO GONZALES LUGO
Luis R Ramírez Oviedo
...

Necesito hacer una función a la cual le vaya pasando los nombres y me los devuelva de la primera forma, es decir cada palabra debe empezar en mayúsculas y continuar en minúsculas.

No tengo ningún problema en hacer la función y tal vez en el tiempo que llevo redactando este post ya la hubiera terminado pero quería saber si delphi cuenta con algo para salir de dudas.

Gracias.

Última edición por dtomeysoto fecha: 13-07-2010 a las 15:00:35. Razón: los nombres no quedaron bien, tal vez porque copie y pegue de la tabala
Responder Con Cita
  #2  
Antiguo 13-07-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

En el link siguiente se trató un tema donde una de las propuestas, la de rgstuamigo, creo que es lo que buscas:

http://www.clubdelphi.com/foros/showthread.php?t=67467

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por Caro fecha: 13-07-2010 a las 16:28:50.
Responder Con Cita
  #3  
Antiguo 13-07-2010
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
amigo, ya revisé el post pero no me sirve para lo que necesito. recuerda que ya toda la información está en una base de datos, solo tengo que recorrer la tabla en cuestión e ir aplicando la "función" para lograr el resultado que deseo.
Responder Con Cita
  #4  
Antiguo 13-07-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por dtomeysoto Ver Mensaje
....................pero quería saber si delphi cuenta con algo para salir de dudas.
Hola dtomeysoto, que yo sepa delphi no cuenta con algo directo para hacer lo que quieres. Tienes que hacerte la función.

Código Delphi [-]
.......................................
 Ind, Posicion : Integer;
begin
 Ind := 1;
 Nombre := LowerCase(Nombre);
 Nombre[1] := UpCase(Nombre[1]);
 While PosEx(' ', Nombre, Ind)>0 do
  begin
   Posicion := PosEx(' ',Nombre, Ind)+1;
   Nombre[Posicion] := UpCase(Nombre[Posicion]);
   Ind := Posicion;
  end;
 .......................................
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 13-07-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por dtomeysoto Ver Mensaje
amigo, ya revisé el post pero no me sirve para lo que necesito. recuerda que ya toda la información está en una base de datos, solo tengo que recorrer la tabla en cuestión e ir aplicando la "función" para lograr el resultado que deseo.
Hola de nuevo, el link era sólo para aproximar una idea.

Basándome en código de rgstuamigo:
Código:
function FirstUp(APasar: string): string;
var
  i: Integer;
begin
  Result:= LowerCase(APasar);
  for i:= 1 to Length(APasar) do
   if ((i = 1) or (Result[i-1] = ' ')) and (Result[i] in ['a'..'z']) then
      Result[i]:= Upcase(Result[i]);
end;
Un ejemplo de uso:
Código:
procedure TForm1.Table1NameGetText(Sender: TField; var Text: String;
    DisplayText: Boolean);
begin
   Text:= FirstUp(TField(Sender).AsString);
end;
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 13-07-2010
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Hola dtomeysoto, que yo sepa delphi no cuenta con algo directo para hacer lo que quieres. Tienes que hacerte la función.

Código Delphi [-]....................................... Ind, Posicion : Integer; begin Ind := 1; Nombre := LowerCase(Nombre); Nombre[1] := UpCase(Nombre[1]); While PosEx(' ', Nombre, Ind)>0 do begin Posicion := PosEx(' ',Nombre, Ind)+1; Nombre[Posicion] := UpCase(Nombre[Posicion]); Ind := Posicion; end; ....................................... end;


Saluditos
Gracias caro.
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
Unificar UNION de 2 select ingel SQL 7 06-01-2010 21:43:46
Descomponer nombre y apellidos lgarcia SQL 4 15-04-2009 22:16:37
apellidos con comillas simples.... ingel Varios 2 05-12-2007 21:05:45
Cuidado con los apellidos. marcoszorrilla La Taberna 39 11-07-2007 00:03:17
ordernar nombres y evitar nombres repetidos en DBLookupComboBox @-Soft Conexión con bases de datos 4 14-01-2004 16:30:51


La franja horaria es GMT +2. Ahora son las 21:37:33.


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