Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-01-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.459
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 Deiv
¿Cuál sería la Función para quitar vocales repetidas (unidas) de una cadena de manera que se convierta en una sola?
¿Quieres una orientación? o ¿Quieres que te la demos escrita?

Como orientación yo te diría que realices un recorrido utilizando un FOR, que uses dos variables para almacenar la vocal actual (a) y la vocal anterior (n) y una cadena destino (res); Con un IF dentro para comprobar si (a) es = a (n) y en ese caso la vocal actual no se debe guardar en la cadena destino, en caso contario sí.
__________________
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
  #2  
Antiguo 12-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
No es el algoritmo mas eficiente, pero es eficaz

Código Delphi [-]
function Reducir(Str: string; C: Char): String;
begin
  while Pos(C+C, Str) > 0 do
    Str:= StringReplace(Str,C+C,C,[rfReplaceAll]);
  Result:= Str;
end;

var
  Vocales: String;
  i: integer;
  Str: String;
begin
  Vocales:= 'aeiouAEIOU';
  Str:= 'Arribaa en la mooontaña se divisabaa una llama que reecorría su traayectoo';
  for i:= 1 to length(Vocales) do
    Str:= Reducir(Str,Vocales[i]);
  ShowMessage(Str);
end;
Responder Con Cita
  #3  
Antiguo 12-01-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 22
Deiv Va por buen camino
Wink

Gracias Seoane,
Siempre tan gentil, no conocía esa función en Delphi 7.

Última edición por Deiv fecha: 12-01-2007 a las 23:00:05.
Responder Con Cita
  #4  
Antiguo 12-01-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 28
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Deiv
Gracias Seoane,
Siempre tan gentil, no conocía esa función en Delphi 7.
No la conocías simplemente porque no existía, hasta que Seoane la escribió.
Responder Con Cita
  #5  
Antiguo 12-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Volviendo a la idea de Neftali, que al contrario que la mía si que era eficiente además de eficaz , tendríamos esto otro:

Código Delphi [-]
function Reducir(Str: String): String;
var
  C: Char;
  i: integer;
begin
  C:= #0;
  Result:= EmptyStr;
  for i:= 1 to Length(Str) do
  begin
    if pos(Str[i],'aeiouAEIOU') > 0 then
    begin
      if Str[i] <> C then
        Result:= Result + Str[i];
    end else
      Result:= Result + Str[i];
    C:= Str[i];
  end;
end;

var
  Str: String;
begin
  Str:= 'Arribaa en la mooontaña se divisabaa una llama que reecorría su traayectoo';
  ShowMessage(Reducir(Str));
end;
Responder Con Cita
  #6  
Antiguo 12-01-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 22
Deiv Va por buen camino
Thumbs up

Gracias Seoane ambas funcionan bien
Cita:
Empezado por Ñuño Martínez
No la conocías simplemente porque no existía, hasta que Seoane la escribió.
EDITO: no conocía la función: StringReplace
.
Responder Con Cita
  #7  
Antiguo 28-07-2007
Frankus Frankus is offline
No confirmado
 
Registrado: jul 2007
Posts: 11
Poder: 0
Frankus Va por buen camino
Cadenas Repetidas n SQL 2005

Como hago lo mismo pero con sentencias SQL??
Eliminar datos con letras repetidas mas de 5 veces
Responder Con Cita
  #8  
Antiguo 12-01-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Neftali
¿Quieres una orientación? o ¿Quieres que te la demos escrita?
Creo que ha quedado claro
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Oracle conexion ñ y vocales áéíóú lento manu Conexión con bases de datos 0 13-11-2005 18:50:38
Trabalenguas con las Vocales!!! JELIRM Humor 0 27-07-2005 16:47:17
Quitar espacios al final de una cadena gescoto99 SQL 1 04-08-2004 00:02:43
Eliminar líneas repetidas de un memo DarkByte Varios 5 31-03-2004 21:44:14
Quitar caracter de una cadena Triton Firebird e Interbase 3 23-03-2004 17:59:07


La franja horaria es GMT +2. Ahora son las 16:31:58.


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