|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Создание нового класса который должен отображаться графически
есть модуль:
Код:
unit Balka; interface uses SysUtils, Dialogs, Classes, StdCtrls, Graphics; type Tbalka=class private fdlina:real; fploshad:real; fshema:tcanvas; procedure setshema(value:tcanvas); published property dlina:real read fdlina write fdlina; property ploshad:real read fploshad write fploshad; property shema:tcanvas read fshema write setshema; end; implementation procedure setshema(value:tcanvas); var x1, y1, x2, y2:real; begin x1:=100; y1:=100; x2:=x1+fdlina; y2:=y1+20; value.Rectangle(x1, y1, x2, y2); end; end. Что нужно: - описать процедуру графического отображения здесь в модуле - значения полей буду определять в другом unit, а описать процедуру графич построения нужно в этом модуле и она зависит от поля как реализовать данный момент? |
#2
|
|||
|
|||
x1, x2 ... определять в другом unit? тогда их в класс, а значение передавать через конструктор
а пока в этом модуле ничего стоящего нет >woweook< Последний раз редактировалось Pyro, 25.10.2012 в 05:38. |
#3
|
||||
|
||||
Цитата:
Код:
..... implementation procedure Tbalka.setshema(value:tcanvas); var ..... Цитата:
|
#4
|
|||
|
|||
подключаю этот модуль в другом юнит
но все равно ошибка вот другой модуль: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Balka; var balka1:Tbalka; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin balka1:=Tbalka.create; end; procedure TForm1.FormDestroy(Sender: TObject); begin balka1.free; end; procedure TForm1.Button1Click(Sender: TObject); begin balka1.dlina:=200; end; end. несколько ошибок ругается на fdlina и на rectangle где ошибки? может как-то каряво модуль написан? |
#5
|
||||
|
||||
Цитата:
В этом чтоли?: Код:
..... x2:=x1+fdlina; y2:=y1+20; value.Rectangle(x1, y1, x2, y2); ..... |
#6
|
|||
|
|||
ошибки которые выдает компилятор
- Undeclared identifier: 'fdlina' - There is no overloaded version of 'Rectangle' that can be called with these arguments |
#7
|
||||
|
||||
Цитата:
2. Для функции Rectangle допустимы только целочисленные параметры. |