Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2007, 19:29   #1
NecroSlider
Пользователь
 
Регистрация: 19.02.2007
Сообщений: 24
По умолчанию Проблемы с иерархией классов

Что-то никак не могу понять как с ней работать
Вот что нужно:

test = class //начальные координаты в paintbox1
x:integer;
y:integer;
......
end;

test2 = class (test) //конечные координаты в paintbox1
x2:integer;
y2:integer;
.....
end;

и дальше после нажатия на кнопку рисовался квадрат через эти классы.
Подскажите как это правильно реализовать?
NecroSlider вне форума Ответить с цитированием
Старый 15.04.2007, 21:04   #2
Saxon
Пользователь
 
Регистрация: 12.04.2007
Сообщений: 12
По умолчанию

нужен будет paintbox


paintbox1.Canvas.Rectangle(test.x,t est.y,test2.x,test2.y);
Saxon вне форума Ответить с цитированием
Старый 15.04.2007, 21:57   #3
NecroSlider
Пользователь
 
Регистрация: 19.02.2007
Сообщений: 24
По умолчанию Saxon

Saxon, почему-то не работает, да и мне чуток не то нужно.
Приведу пример, имется иерархия классов:

Код:
 TPosition = class      //класс, переменные которого будут исползоваться
    cx,cy:integer;       //как начальные координаты робота
    constructor Create(nx:integer);
    procedure Hide;
    end;

  TOsnova = class(TPosition)   //класс потомок TPosition. Описывает переменные
   sx,sy:integer;   //размеры  // для первого звена робота (ползуна) и наследует нач. коорд.
   x,lx:integer;    //текущая,конечная координаты
   napr:boolean;    //направление хода
   Tn1,Smax1:real;  //время хода, максим. перемещение
   t1,dt1:real;     //текущее время, приращение времени
   constructor Create(nx:integer;nTn1,nSmax1:real;nsx,nsy:integer);
   procedure Show;
   procedure Move;
  end;

  TKriv = class (TOsnova) //класс потомок TOsnova. Описывает переменные
                          //для второго звена робота(кривошипа) и наследует все предыдущие
    dl,xx:integer;       //длина кривошипа, координата начала кривошипа
    cFi:integer;         //начальный угол
    fi,Fimax:integer;    //текущий угол, максим. угол
    lfi:integer;         //конечный угол
    napr2:boolean;       //направление хода
    Tr2,Tn2:real;        //время разгона и хода
    t2,dt2:real;         // текущее время, приращение времени
    constructor
Create(nx2:integer;nTn1,nSmax1,nTn2,nTr2:real;nFimax,
nsx2,nsy2,ndl,ncFi:integer);
    procedure Show;
    procedure Move;
  end;

  TRobot = class (TKriv)//класс потомок TKriv. Описывает переменные для третькго звена
                        // робота и наследует все предыдущие
   cfi2,fi2,fimax2,lfi2,dl2,xxx,yyy:integer;//начальный, текущий, максим., конечные углы
                                            //длина кривошипа, координаты начала второго кривошипа
   napr3:boolean;                 //направление хода
   Tn3,tr3:real;                  //время хода, время разгона и торможения
   t3,dt3:real;                   //текущее время, приращение времени
   constructor Create(nx3:integer;nTn1,nSmax1,nTn2,nTr2,nTn3,ntr3:real;
    nFimax,nsx3,nsy3,ndl,ncFi,nFimax2,ndl2,ncfi2:integer);
  procedure Show;
    procedure Move;
   end;
С помощью этих классов рисуется вот такой вот робот:


Мне нужны классы чтобы нарисовать нечто подобное:

Я хочу сделать 4 класса:
1) Треугольная основа
2) Первый кривошип
3) Второй кривошип
4) Третий кривошип
В классе я задаю все переменные, т.е. координаты, направление движения, углы и т.д. Мне не понятно как потом работать с этим классом. Если вставить верхнюю иерархию в делфи и нажать выполнить выдается ошибка, но почему, если с остальным текстом программы все работает. Если кому не трудно напишите пример чтобы просто нарисовать второй рисунок на экране при помощи калссов и с пояснением каждой строчки, плиз.
NecroSlider вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Библиотека классов != обычная DLL ? darkstarx Общие вопросы .NET 3 14.04.2008 14:41
агрегирование классов M_Yuri Общие вопросы Delphi 3 12.02.2008 18:31
использование множества классов studenth Общие вопросы C/C++ 5 08.11.2007 14:57
экспорт классов из Dll Alar Общие вопросы Delphi 0 29.10.2006 21:53