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 16-09-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Insertar carácter en string

Hola amigos:

Obtengo de un servidor un string que contiene el nombre de las personas con la siguiente estructura:

Apellidopaterno Apellidomaterno Nombres

y necesito modificarlo para que sea más entendible, al mostrarlo en un Grid, a:

Apellidopaterno Apellidomaterno, Nombres

Es decir necesito insertar una coma después del Apellidomaterno. He probado con StringReplace y con MaskEdit, pero no logro posicionarme en el segundo espacio para insertar la coma(,).
Existe alguna función que me permita hacer esto?

De antemano agradezco cualquier ayuda.
Salu2
Responder Con Cita
  #2  
Antiguo 16-09-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Que yo sepa no existe una función que busque el segundo espacio dentro de una cadena para sustituirlo por una coma + un espacio.
Creo que tendrás que fabricarla, aunque no parace muy complicado.

Tal vez te sería más sencillo bussar el primer espacio desde la derecha.

Por otro lado se me plantea la duda de si has tenido en cuenta que nombre y apellidos pueden tener espacios entre medio, ya que los hay en ambos casos compuestos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 16-09-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Estimado Neftali :

Muchas gracias por responder.
Justamente lo que tú señalas en la última linea de tu post es lo que más me complica, ya que también hay personas con dos nombres separados por otro espacio.
Saludos
Responder Con Cita
  #4  
Antiguo 16-09-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por radenf Ver Mensaje
Justamente lo que tú señalas en la última linea de tu post es lo que más me complica, ya que también hay personas con dos nombres separados por otro espacio.
En ese caso, sólo se me ocurre que puedas solucionarlo de forma correcta 100%, ayudándote de asistencia manual (humana).
Lo que sí se puede hacer es facilitar el trabajo, por ejemplo, ofreciendo varias posibilidades de forma que el usuario no tenga que escribir, sino sólo seleccionar la correcta, con 1 tecla o con 1 click.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 16-09-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Lamentablemente eso no es posible, ya que los strings que contienen el nombre de las personas se obtienen desde un servidor, que recoge la información desde múltiples equipos radiológicos, donde se puede ingresar directamente esta información o recibirla ya ingresada desde una base de datos perteneciente a un HIS (Hospital Information System).

Saludos y muchas gracias por tus aportes Neftali.
Responder Con Cita
  #6  
Antiguo 17-09-2013
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 Iván.

Recibiendo todo en una sola cadena y con apellidos simples, vg: Perez Oviedo Ana Cecilia, habría una solución sencilla:
Código Delphi [-]
uses StrUtils;

function AddComma(const str: string): string;
begin
  Result := str;
  Insert(',', Result, PosEx(' ', Result, Pos(' ', Result) + 1));
end;
Pero como comentó Neftali, hay un obstaculo insalvable, y ese es que hay apellidos combinados. En: Perez Garcia Oviedo Ana Cecilia, la coma tendría que ir en el lugar del tercer espacio no en el segundo.

¿ En la cadena recibida, no existe ningún caracter especial que permita distinguir apellidos de nombres ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 17-09-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Muchas gracias Daniel.
Lo probaré y te cuento.
Respecto a tu pregunta lamentablemente no e incluso algunos digitadores por comodidad colocan en este mismo campo la edad de los pacientes, pero eso ya lo resolví al descartar los números.

Saludos
Responder Con Cita
  #8  
Antiguo 17-09-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Funcionó perfecto.
Tengo claro que habrán excepciones en apellidos compuestos separados por un espacio, pero servirá para la mayoría de las personas.
Muchas gracias nuevamente Daniel.

Un abrazo
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
Insertar caracter al principio de una variable string Jere_84 Varios 6 23-05-2012 10:35:56
remplazar mas de un caracter en string gonza_619 Varios 8 09-11-2010 20:22:33
encontrar caracter en string emeceuy Varios 4 13-09-2007 01:35:35
contar un caracter en un string carlos gonzalez Varios 3 30-09-2006 21:01:49
Encontrar caracter en un string davidgaldo Varios 1 21-10-2005 09:44:17


La franja horaria es GMT +2. Ahora son las 13:27:41.


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