Показать сообщение отдельно
  #1  
Старый 17.04.2011, 22:02
porphiriy porphiriy вне форума
Прохожий
 
Регистрация: 22.03.2011
Сообщения: 6
Репутация: 10
По умолчанию Массив записей

Я вожу по форме. Координаты курсора записываются в массив. Потом по БаттонКлику вырисовывается "дорожка" зеленого цвета. Зделал пример просто для тренировки.
Вопрос: почему не записываются (не успевают записываться) все координаты? И как можно используя эти же методы добиться записи в массив каждой точки где "прошел" курсор?

Код:
type
  Rec = record
     a1,b1: integer;
  end;
  Tarr= array of Rec;
---------------------------
var
  arr: Tarr;
  i,j:INTEGER;
---------------------------
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 i:=i+1;
 SetLength(arr,i+1);
 arr[i].a1:=X;
 arr[i].b1:=Y;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
j:=i;
 for i:=1 to j do
  Canvas.Pixels[arr[i].a1,arr[i].b1]:=clGreen;

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