Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.11.2011, 10:49
snejinka snejinka вне форума
Прохожий
 
Регистрация: 08.01.2011
Сообщения: 3
Репутация: 10
По умолчанию Проверьте пж_контейнерный класс на базе динамического массива

думаю, что что-то тут не так..
Код:
TContainer = class
private
DynArrs : array of TFigure; // закрытое хранилище указателей динамический массив. Компилятор выделяет память только для переменной DynArrs, которая //является указателем на будущий массив.
// на графические фигуры;
count : integer; // текущее число объектов в контейнере
capacity: integer;
public
constructor Create;
function GetCount : integer;
function Add (aFig : TFigure; ai : integer) : integer;
function Delete (ai : integer) : integer;
function Search (aFig : TFigure) : integer;
procedure ShowAll;
procedure MoveAll (dx, dy : integer);
procedure FreeAll;
end; 

Последний раз редактировалось snejinka, 29.11.2011 в 11:01.
Ответить с цитированием
  #2  
Старый 29.11.2011, 21:12
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Пока этот код ни о чём не говорит.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 29.11.2011, 22:03
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,048
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Наследуйся от TObjectList и не мучай себя и Дельфи
Фактически, тебе потребуется перекрыть несколько методом, что бы типизировать их, и дописать свои специфические, если не хватает стандартных.
Ответить с цитированием
  #4  
Старый 29.11.2011, 22:13
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Единственное чем код ТС может оказаться хорош, так это не использовать VCL, но не похоже, что ТС это нужно.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #5  
Старый 30.11.2011, 08:50
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

посмотри реализацию TList в Delphi:

Код:
  TList = class(TObject)
  private
    FList: PPointerList;
...
MaxListSize = Maxint div 16;
PPointerList = ^TPointerList;
TPointerList = array[0..MaxListSize - 1] of Pointer;

легко увидеть, что внутри тоже используется массив. только в TList array of Pointer, а тебе нужно будет array of TFigure. вообще TList легко выдрать из Classes.pas и переделать под свой тип указателя.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:09.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter