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-04-2011
madrid_cr7 madrid_cr7 is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 9
Poder: 0
madrid_cr7 Va por buen camino
Problemas para realizar una curp necesito algo de ayuda

Pues ya me desespere y acudo a ustedes para ver que se soluciona les pongo el codigo y despues lo que sale mal.

Cita:
var
a,c,d:string;
b,I:integer;
begin
a:=copy(edit1.Text,1,1);
b:=length(edit1.Text);
For I:= 2 to b do
begin
c:=copy(edit1.Text,I,1);
if c='A' then
begin
d:='A';
b:=I;
end;

if c='E' then
begin
d:='E';
b:=I;
end;

if c='I' then
begin
d:='I';
b:=I;
end;

if c='O' then
begin
d:='O';
b:=I;
end;

if c='U' then
begin
d:='U';
b:=I;
end;
end;
edit9.Text:=concat(a,d);
end;
Bueno lo que quiero es copiar la primer vocal del apellido paterno que es el edit1.text pero me copia la ultima vocal. si pongo ALVARADO me pone AO que seria la primera letra del apellido y la primer vocal del apellido sin contar la primer letra pero en vez de eso me pone la ultima vocal.

otras dudas.
si para cerrar el bucle FOR pongo I:=b; me sale error y me dice "Assignment to FOR-Loop variable 'I'" por eso b:=I; pero al parecer no me lo cierra y se va hasta el final y por me copia la ultima vocal.
Responder Con Cita
  #2  
Antiguo 19-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
no entiendo
quieres sacar la Primera Vocal de lo que coloques en el EDIT

ejemplo
si Colocas Alvarado debe mostrar la A ?
si colocas Colmenares debe mostrar la O ?
si colocar swchgener debe mostrar la E ?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 19-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
P.D.

cuando coloques codigo delphi utiliza el icono del partenon para poder entenderlo bien
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 19-04-2011
madrid_cr7 madrid_cr7 is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 9
Poder: 0
madrid_cr7 Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
no entiendo
quieres sacar la Primera Vocal de lo que coloques en el EDIT

ejemplo
si Colocas Alvarado debe mostrar la A ?
si colocas Colmenares debe mostrar la O ?
si colocar swchgener debe mostrar la E ?
si pero la primera vocal a partir de la segunda letra del apelldo pues la variable a la uso para copiar la primer letra del apelldo a:=copy(edit1.Text,1,1);
y la d la estoy usando para la primer vocal a partir de la segunda letra hasta el final.
Responder Con Cita
  #5  
Antiguo 19-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
disculpa pero sigo sin entender
podrias colocar ejemplos de como quieres que te salga?
algo asi como lo que te puse yo
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo 19-04-2011
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 madrid_cr7.

Debo reconocer que no estoy menos desorientado que oscarac con la explicación...

Pero si me atengo 'literalmente' a tu pedido:
Cita:
si pero la primera vocal a partir de la segunda letra del apelldo
Debería ser:
Código Delphi [-]
function DameLaSegundaVocal(Cad: string): char;
var
  i: Integer;
begin
  i:= 2;
  while not (UpCase(Cad[i]) in ['A','E','I','O','U']) do Inc(i);
  Result:= Cad[i];
end;

Llamada de ejemplo:
Código Delphi [-]
   Edit1.Text:= 'Albeniz';
   ShowMessage(DameLaSegundaVocal(Edit1.Text)); //  letra 'e'

Un saludo.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 19-04-2011 a las 06:23:20.
Responder Con Cita
  #7  
Antiguo 19-04-2011
madrid_cr7 madrid_cr7 is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 9
Poder: 0
madrid_cr7 Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
disculpa pero sigo sin entender
podrias colocar ejemplos de como quieres que te salga?
algo asi como lo que te puse yo
Si mira mira debo hacer que alguien escriba su apellido en el edit1.text y luego copio la primer letra eso ya lo hice con lo siguiente "a:=copy(edit1.text,1,1);

hasta ahi va bien todo ahora con lo que resta del apellido tomar la primer vocal que este. ejemplo

OSAMA - seria la A
ESHJOS - seria la O
PEDROZA - seria la E.

cuando dije a partir de la segunda letra me refiero a que la primer letra ya la copie y esa letra se descarta aunque sea vocal, y con lo que resta del nombre ejemplo de OSAMA la O a la copie tengo que tomar la primer vocal con lo que resta del apellido que seria SAMA.

Cita:
Empezado por ecfisa Ver Mensaje
Hola madrid_cr7.

Debo reconocer que no estoy menos desorientado que oscarac con la explicación...

Pero si me atengo 'literalmente' a tu pedido:

Debería ser:
Código Delphi [-]function DameLaSegundaVocal(Cad: string): char; var i: Integer; begin i:= 2; while not (UpCase(Cad[i]) in ['A','E','I','O','U']) do Inc(i); Result:= Cad[i]; end;

Necesito que sea con FOR o con While porque solo eso me permiten usar
por eso quiero ver cual es mi error en el ejemplo que puse arriba ya
tengo toda la curp hecha solo me falta eso es mi unico error



Llamada de ejemplo:
Código Delphi [-] Edit1.Text:= 'Albeniz'; ShowMessage(DameLaSegundaVocal(Edit1.Text)); // letra 'e'


Un saludo.
Responder Con Cita
  #8  
Antiguo 19-04-2011
madrid_cr7 madrid_cr7 is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 9
Poder: 0
madrid_cr7 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola madrid_cr7.

Debo reconocer que no estoy menos desorientado que oscarac con la explicación...

Pero si me atengo 'literalmente' a tu pedido:

Debería ser:
Código Delphi [-]function DameLaSegundaVocal(Cad: string): char; var i: Integer; begin i:= 2; while not (UpCase(Cad[i]) in ['A','E','I','O','U']) do Inc(i); Result:= Cad[i]; end;


Llamada de ejemplo:
Código Delphi [-] Edit1.Text:= 'Albeniz'; ShowMessage(DameLaSegundaVocal(Edit1.Text)); // letra 'e'


Un saludo.
Necesito que sea con FOR o con While porque solo eso me permiten usar
por eso quiero ver cual es mi error en el ejemplo que puse arriba ya
tengo toda la curp hecha solo me falta eso es mi unico error
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
Necesito ayuda por favor, no entiendo algo.... MaxiDucoli OOP 1 17-05-2010 04:09:36
Componente para realizar la ayuda de la aplicacion? torete_86 Varios 4 20-05-2006 03:12:47
Ayuda para realizar documento XML muli Conexión con bases de datos 1 10-09-2005 06:36:44
Ayuda al usuario para realizar búsquedas rochi Conexión con bases de datos 19 28-04-2005 09:57:31
Ayuda Para Installshield O Algo Parecido cmena Varios 2 29-08-2004 22:29:28


La franja horaria es GMT +2. Ahora son las 06:30:20.


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