Показать сообщение отдельно
  #4  
Старый 06.03.2014, 23:37
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

С небольшими доработками тоже самое
Код:
unit UReal;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Timer1: TTimer;
    Button1: TButton;
    Button2: TButton;
    Timer2: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    procedure Pechataem(slovo:string);
    function Stiraem(sim:integer): boolean;
    { Public declarations }
  end;

var
  Form1: TForm1;
  n,i,cnt: integer;
  str: string;
  slv: array[0..9] of string =
  ('vereteno','koleso','plug','topor','domkrat',
   'ressora' ,'vagon' ,'led' ,'grot' ,'plot');
  ers: array[0..9] of integer =(2, 4, 1, 3, 4, 2, 1, 1, 2, 1);
  flg: boolean;

  implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Clear;
  cnt:= 0;
  n:= 0;
  Timer1.Enabled:= true;
  flg:= true;
  end;

procedure TForm1.Pechataem(slovo: string);
begin
  Inc(n);
  if n<=length(slovo) then
    begin
     Memo1.Text:=Memo1.Text + slovo[n];
     Timer1.Interval:=100 + Random(100);
    end
  else
    begin
    n:=0;
    flg:=false;
    end;
end;

function TForm1.Stiraem(sim: integer): boolean;
begin
  Result:= false;
  if i<=sim then
    begin
      str:=Memo1.Text;
      Delete(str,length(str),i);
      Timer1.Interval:=100 + Random(50);
      Memo1.Text:=str;
      Inc(i);
    end
  else
   begin
    Result:= true;
    i:=0;
   end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if flg then Pechataem(' ' + slv[cnt]) else
  if Stiraem(ers[cnt])then
  begin
  inc(cnt);
  if cnt = 10 then cnt:= 0;
  flg:= true;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 Timer1.Enabled:= false;
end;

end.
Ответить с цитированием