Ver Mensaje Individual
  #3  
Antiguo 04-06-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 23
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