![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
входящый параметр [D7, WinXP]
Suvit © (2005-01-20 12:42:00)написал процедуру
procedure Shuffle(var List:TList);
var i : Integer;
begin
Randomize;
for i := List.Count -1 downto 0 do
List.Exchange(i, Random(i+1));
end;
теперь хочется прикрутить ее к TInterfaceList
но так как он не унаследован от TList у меня не получается.
поскажите как мне переделать параметр у процедуры, чтобы она могда принимать объекты класса TList,TObjectList, TInterfaceList
ЗЫ: стоит ли вызывать Randomize каждый раз или достаточно 1 раза
ЮЮ (2005-01-20 13:06:00) [21]Чтобы не было соблазна убить переданный в качестве параметра объект и вместо него создать новый
Sandman25 (2005-01-20 13:06:00) [22][4] Suvit (20.01.05 12:59)
List - это уже ссылка. Использование указателя на указатель на класс приводит к замедлению работы.
Suvit (2005-01-20 12:59:00) [23]
> var лучше убрать.
Объясните, пожайлуста, почему?
Suvit (2005-01-20 12:57:00) [24]
> А параметр можно сделать типа TObject.
но у TObject нету Count Exchange
Sandman25 (2005-01-20 12:56:00) [25]var лучше убрать.
можно сделать несколько версий с overload
Александр Иванов (2005-01-20 12:48:00) [26]Randomize достаточно вызывать один раз. А параметр можно сделать типа TObject.