unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
  a,b:integer;
begin
  for b:=0 to 8 do
  begin
    a:=random(1000);
    memo1.Lines.Add(inttostr(a));
    end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
  i,j,k:integer;
begin
try  for j:=0 to memo1.Lines.Count-2 do
  begin    k:=0;
    for i:=0 to memo1.Lines.Count-2 do
    begin      k:=i+1;
      if strtoint(memo1.Lines.Strings[i]) > strtoint(memo1.Lines.Strings[k])
      then
      begin
      memo1.Cursor:=crHourGlass;
      memo1.Lines.Move(i,k);
      end
    end
  end
  finally
  messagedlg('It had Completed!!',mtinformation,[mbok],0);  end
end;procedure TForm1.Button3Click(Sender: TObject);
begin
  memo1.Lines.Clear;
end;end.为什么在按了OK键后鼠标才变形
应该怎样修改代码?还有第二个问题,就是注册热键,为什么要在最后注销热键?