| 
| 
 | Вопрос # 5 681/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты! Прошу у вас помощи в написании класса фигуры для шахмат и ее конструктора. дело в том что я очекнь отстал от своей группы, потому что 2 недели валялся с ветрянкой. Моя группа уже выполняет движения фигур а я застрял на классе, у меня постоянно  по 30 ошибок вылетает . я стираю и делаю заново и опять ошибки. в интернете пробовал поискать  не смог. препод говорил что нужны от дельные типы. я сделал для Place:integer; color:string; доска состоит из панелек. прошу  вас помощи,  а то я очень плетусь в конце группы. и все остальные типы были заняты уже это единственное что я подобрал из свободных. картинки фигур в ресурсном файле. К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) Приложение:Переключить в обычный режим unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, ExtCtrls, StdCtrls; type  TForm1 = class(TForm)    procedure FormCreate(Sender: TObject);    private     { Private declarations }     public    { Public declarations }  end;//--------------------------------------------------------------------  TDoska=class(Tpanel)        {ÊËÀÑÑ -
ÄÎÑÊÀ}  private  Dx,Dy:Integer;//
êîîðäèíàòû
êëåòêè  public  property PosX:Integer read Dx write Dx;  property PosY:Integer read Dy write Dy;  end;//-----------------------------------------------------------------------TFigura = class(TImage)  private    FPlace: Integer;    FColor: string;    constructor ConstructorName(PosX,PosY:Integer);end;//-----------------------------------------------------------------------var  Form1: TForm1;  PanelArray: array[1..8,1..8]of TPanel;
//ìàññèâ èç
ïàíåëåé  PosX,PosY:Integer;                 
//ïîëîæåíèÿ
äëÿ ôèãóð  LabelArray: array[1..32] of TLabel; //
ìàññèâ èç
ìåòîê  NextTurn: string;             //öâåòimplementation {$R *.dfm} //----------------------------------------------------------------------------constructor TFigura.ConstructorName(PosX,PosY:integer);begin  inherited Create(Form1);  parent:=Form1;  dragmode:= dmAutomatic    end;procedure TForm1.FormCreate(Sender: TObject);  
//ñîçäàíèå
ôîðìûvar x,y,i:Integer; 
//ïåðåìåííûåbeginfor x:=1 to 8 do    //îòñ÷åò
ïî
ãîðèçîíòàëè  for y:=1 to 8 do  //îòñ÷åò
ïî
âåðòèêàëè    begin      PanelArray[x,y]:= TDoska.Create(Self); 
//ñîçäàíèå
ïàíåëè      with PanelArray[x,y] do      begin        parent:=form1;      
//îïðåäåëåíèå
ðîäèòåëÿ        PosX:=x;        PosY:=y;        Width:=50;           //øèðèíà
è âûñîòà        Height:=50;        Top:=20+50*(y-1);        Left:=20+50*(x-1);          if (x+y) mod 2 = 1 then     
//÷åðåäîâàíèå
öâåòîâ                  Color:=clBlack      
//áåëîãî è
÷åðíîãî            else Color:=clWhite;      end;       end;for i:=1 to 8 do      //
ñîçäàíèå è
ðàññòàíîâêà
ìåòîê  begin    LabelArray[i]:=TLabel.create(Form1);    LabelArray[i+8]:=TLabel.Create(Form1);    LabelArray[i+16]:=TLabel.create(Form1);    LabelArray[i+24]:=TLabel.create(Form1);    LabelArray[i].Parent:=form1;    LabelArray[i+8].Parent:=form1;    LabelArray[i+16].Parent:=form1;    LabelArray[i+24].Parent:=form1;    LabelArray[i].Top:=41+(i-1)*50;    LabelArray[i+8].Top:=41+(i-1)*50;    LabelArray[i+16].Top:=424;    LabelArray[i+24].Top:=6;    LabelArray[i].Left:=5;    LabelArray[i+8].Left:=429;    LabelArray[i+16].Left:=41+(i-1)*50;    LabelArray[i+24].Left:=41+(i-1)*50;    LabelArray[i].Caption:=intToStr(9-i);    LabelArray[i+8].Caption:=intToStr(9-i);    LabelArray[i+16].Caption:=chr(64+i);    LabelArray[i+24].Caption:=chr(64+i);  end;end; end.
|  |   Вопрос задал: Ruslan1993 (статус: Посетитель)Вопрос отправлен: 18 октября 2011, 11:09
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 18 октября 2011, 11:20; участников в обсуждении: 1. 
|   | min@y™ (статус: Доктор наук), 18 октября 2011, 11:20 [#1]: Цитата (Ruslan1993): у меня постоянно по 30 ошибок вылетает Самое важное не указал: какие ошибки и в каких строках.
 Совет: пиши классы в отдельном модуле.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |