Сообщение от DarkKnight
а как определять у какой именно точки значение 0 или 1?
end.
|
1. Обычным условием определяешь типа IF a[i,j]=1 then .....
2. Не ресуется потому что у тебя все значения в масиве равны 20 и координаты у ректангла тоже тоесть координаты первой точки ты берешь из масива (а они равны 20) и координаты второи точки прямоугольника у тебя тоже 20. ты внемательнее посмотри параметры у ректангла...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormDblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a:array[1..10,1..10] of byte;
i,x,y:byte;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
//Присваиваем X и У начальные значения
//Забиваем в массив Х-координаты
for i:=1 to 10 do
begin
inc(x,20);
inc(y,20);
a[1,i]:=x+20;
a[2,i]:=x+20;
end;
end;
procedure TForm1.FormDblClick(Sender: TObject);
begin
//Берём координаты из массива
//и рисуем квадратики с синей штриховкой
for i:=1 to 10 do
begin
Canvas.Brush.Color := clBlue;
Canvas.Brush.Style := bsBDiagonal;
Canvas.Rectangle(a[1,i],a[2,i]+50,a[1,i]+20,a[2,i]+70);
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//Берём координаты из массива
//и рисуем квадратики с красной штриховкой
for i:=1 to 10 do
begin
Canvas.Brush.Color := clRed;
Canvas.Brush.Style := bsBDiagonal;
Canvas.Rectangle(a[1,i],a[2,i],a[1,i]+20,a[2,i]+20);
end;
end;
end.