Показать сообщение отдельно
  #6  
Старый 04.12.2008, 06:47
Act Act вне форума
Новичок
 
Регистрация: 01.11.2008
Сообщения: 72
Репутация: 10
По умолчанию

незнаю как без рекурсии, но с рекурсией так:
Код:
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure replacer( dep : integer);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  r,s : string;
  len : integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var  i,j: integer;
begin
  s := Inputbox('','','asd');
  len := Length(s);
  replacer(0);
end;

procedure TForm1.replacer( dep : integer);
var i : integer;
begin
   inc(dep);
   for I:= 1 to Len do
   begin
     r := r +  s[ i ];
     if dep < len then replacer(dep);
     if dep = len then memo1.Lines.Add(r);
     delete (r, len,1);
   end;
     dec(dep);
     delete(r, dep, len-dep);
end;
Ответить с цитированием