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 04-06-2015
ermac ermac is offline
Miembro
NULL
 
Registrado: jun 2015
Posts: 10
Poder: 0
ermac Va por buen camino
Question Uso de recursividad para cambio de frases

Hola quisiera saber si me dan una mano para poder hacer este proceso recursivo:
Me dan:
1) frase: Si los puedes *entender* se puede programar
2)sustituto: imaginar
ahora lo q tiene q hacer el proceso es cambiar "*entender*" por imaginar.
y me tendria q quedar esto: Si los puedes imaginar se puede programar

desde ya muchas gracias !
Responder Con Cita
  #2  
Antiguo 04-06-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
ermac,

Cita:
Empezado por ermac
...hacer este proceso recursivo...frase: Si los puedes entender se puede programar...tendria que quedar esto: Si los puedes imaginar se puede programar...
Bienvenido al Club Delphi!

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   S, OldPattern, NewPattern  : String;

begin

   S := 'Si los puedes entender se puede programar';
   OldPattern := 'entender';
   NewPattern := 'imaginar';

   MessageDlg(S,mtInformation,[mbOK],0);
   S := StringReplace(S, OldPattern, NewPattern,[rfReplaceAll, rfIgnoreCase]);
   MessageDlg(S,mtInformation,[mbOK],0);

end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Utiliza la función StringReplace y visualiza el resultado antes y después de la misma.

Nota: Este proceso no requiere del uso de funciones recursivas.

Revisa esta información:
Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 04-06-2015 a las 01:22:25.
Responder Con Cita
  #3  
Antiguo 04-06-2015
ermac ermac is offline
Miembro
NULL
 
Registrado: jun 2015
Posts: 10
Poder: 0
ermac Va por buen camino
Si me sirve eso! gracias
y si lo tuviera q hacer en consola? con una funcion? como se puede hacer?
Responder Con Cita
  #4  
Antiguo 04-06-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ermac Ver Mensaje
Si me sirve eso! gracias
y si lo tuviera q hacer en consola? con una funcion? como se puede hacer?

Pero así, copiando código ¿cómo vas a aprender?, esfuérzate un poco
Responder Con Cita
  #5  
Antiguo 04-06-2015
ermac ermac is offline
Miembro
NULL
 
Registrado: jun 2015
Posts: 10
Poder: 0
ermac Va por buen camino
no copie el codigo ! estoy tratando de hacerlo pero con una funcion recursiva q reciba una frase y sustituto, eso me sirve pero para pensar como hacerlo..
lo quiero hacer en consola.. cosa de q el usuario ingrese una "frase" y la pueda cambiar por un "Sustituto" y q lo q se quiera cambiar este delimitado por los "*" , aunq todavia no se me ocurre bien por eso pido la ayuda
Responder Con Cita
  #6  
Antiguo 04-06-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
ermac,

Cita:
Empezado por ermac
...estoy tratando de hacerlo pero con una función recursiva que reciba una frase y sustituto...lo quiero hacer en consola...que el usuario ingrese una Frase y la pueda cambiar por un Sustituto...


Pregunto : ¿Por que quieres hacerlo de forma recursiva?

Revisa este código:
Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE}

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

var
   S, OldPattern, NewPattern  : String;

begin

   S := InputBox('Cambio de Frase', 'Ingrese una frase:', '');

   OldPattern := InputBox('Cambio de Frase', 'Ingrese OldPattern:', '');

   NewPattern := InputBox('Cambio de Frase', 'Ingrese NewPattern:', '');

   MessageDlg(S,mtInformation,[mbOK],0);
   S := StringReplace(S, OldPattern, NewPattern,[rfReplaceAll, rfIgnoreCase]);
   MessageDlg(S,mtInformation,[mbOK],0);

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Utiliza la función StringReplace y visualiza el resultado antes y después de la misma a nivel de consola.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 04-06-2015 a las 02:17:49.
Responder Con Cita
  #7  
Antiguo 04-06-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
ermac,

Cita:
Empezado por ermac
...estoy tratando de hacerlo pero con una función recursiva que reciba una frase y sustituto...lo quiero hacer en consola...
Cita:
Empezado por nlsgarcia
Pregunto : ¿Por que quieres hacerlo de forma recursiva?


Revisa este código:
Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE}

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

function StringReplaceRecursive(S, OldPattern, NewPattern : String) : String;
var
   P : Integer;

begin

   P := Pos(OldPattern,S);

   if P <> 0 then
   begin
      Delete(S, P, Length(OldPattern));
      Insert(NewPattern, S, P);
      Result := StringReplaceRecursive(S, OldPattern, NewPattern);
   end
   else
      Result := S;

end;

var
   S, OldPattern, NewPattern  : String;

begin

   S := InputBox('Cambio de Frase', 'Ingrese una frase:', '');

   OldPattern := InputBox('Cambio de Frase', 'Ingrese OldPattern:', '');

   NewPattern := InputBox('Cambio de Frase', 'Ingrese NewPattern:', '');

   MessageDlg(S,mtInformation,[mbOK],0);
   S := StringReplaceRecursive(S, OldPattern, NewPattern);
   MessageDlg(S,mtInformation,[mbOK],0);

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Utiliza una función recursiva para sustituir un patrón en un string y visualiza el resultado antes y después de la misma a nivel de consola.

Espero sea útil

Nelson.
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
recursividad chino770228 Varios 2 12-01-2008 00:57:00
Arreglos y recursividad davitcito Varios 6 22-04-2005 17:20:21
Ayuda - Recursividad davitcito Varios 12 14-04-2005 17:40:36
recursividad aurafern Firebird e Interbase 3 10-09-2004 18:04:38


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


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