Консультация № 137841
22.05.2008, 07:32
0.00 руб.
0 1 1
Здравствуйте эксперты!

Как сделать чтобы при открытии формы на ней динамически создавалась шахматная доска из компонентов Shape.

Подскажите где можно взять исходник програмы о 8 ферзях.

Зараннее спосибо!

Обсуждение

Неизвестный
26.05.2008, 23:22
общий
это ответ
Здравствуйте, Slim1210!

Код в приложении.
Наконец то RusFAQ заработал.


Приложение:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private //Массив объектов типа TShape или массив клеток шахматной доски FShapeArray: array[0..7, 0..7] of TShape; public end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);var i,j: integer;begin for i:=0 to 7 do begin for j:=0 to 7 do begin //Создаем объект TShape FShapeArray[i,j]:=TShape.Create(Form1); With FShapeArray[i,j] do begin //Задаем размеры и позицию SetBounds(j*50, i*50, 50, 50); //Рамка не нужна Pen.Style:=psClear; //Задаем цвет клетки if (i+j) mod 2=1 then Brush.Color:=clBlack else Brush.Color:=clWhite; //Указываем родителя Parent:=Form1; end; end; end;end;procedure TForm1.FormDestroy(Sender: TObject);var i,j: integer;begin //Не забываем уничтожать объекты при закрытии программы for i:=0 to 7 do for j:=0 to 7 do FShapeArray[i,j].Free;end;end.
Форма ответа