Если я правильно понял, что введенное слово находится в Edit1, тогда примерно так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
N: Integer;
S: String;
begin
Edit2.Text := Count(Edit1.Text)
Memo1.Clear;
Memo1.Lines.Add(Edit1.Text); // Само введенное слово
N := GetConsonantCount(Edit1.Text); // количество согласных
S := ReverseStr(Edit1.Text); // переворачиваем слово
While (N > 0) do begin // столько раз сколько согласных
Memo1.Lines.Add(S); // добавляем слово в TMemo на форме
N := N - 1;
end;
end;
Вообще, условие задачи мне кажется каким-то странным. Зачем много раз перевернутое слово-то выводить?