Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Set of 0.255


flaxe ©   (2006-08-05 16:12:00) 

Вопрос такой: set может иметь максимум 256 значений, что можно использовать взамен, чтобы количество значений было больше(Мне нужно 900), но тип set оставался?


jack128   (2006-08-07 17:21:00) [1]

Суслик ©   (06.08.06 1:56) [8]
Так это можно delphi2006 начать использовать и перегрузить операторы (там, правда, тоже глюков достаточно, но перегрузка в своей базе вроде работает неплохо).

"глюков достаточно" - это слабо сказано. advanced records нормально работают, только при использовании временных переменых
var
 TempRec: TMyRecord;
begin
 TempRec := SameObj.FunctionReturnsRecord();
 TempRec.SameMethodOrCalculateProp...
end;
не дай бог что нить сложнее - internal error. Тоже касается рекорд хелперов. Грусно, если чесно на это смотреть.. :-(


evvcom   (2006-08-07 16:58:00) [2]

> [10] StriderMan ©   (07.08.06 15:46)

Чтобы жизнь медом не казалась :)


StriderMan   (2006-08-07 15:46:00) [3]

а можно поинтересоваться зачем такой длинный SET?


Германн   (2006-08-06 02:13:00) [4]


> Суслик ©   (06.08.06 01:54) [7]
>
> почему не надо?
> многие конфетки от дельфи обарачиваются не всегда адекватной
> семантикой.
> если тебе надо 900 вариатов множества, то вполне можно обойтись
> своим классом, семантика коего тебе ясна от и до. не да
> - не понятно, с контролем времени жизни этого класса. ну
> сделай статический класс со статическими же методами для
> обработки сета.
>

Я сделал именно это. Но у меня не было другог выхода! (Д4)
Но я при этом не "забил" на set.


Суслик   (2006-08-06 01:56:00) [5]

2автору
А зачем тебе, чтобы set оставался?
Конструкцию "in" использвоать? Так ее методом можно заменить.
Или "+" в множество делать? Так это можно delphi2006 начать использовать и перегрузить операторы (там, правда, тоже глюков достаточно, но перегрузка в своей базе вроде работает неплохо).
В чем еще достоинства set'ов?


Суслик   (2006-08-06 01:54:00) [6]

почему не надо?
многие конфетки от дельфи обарачиваются не всегда адекватной семантикой.
если тебе надо 900 вариатов множества, то вполне можно обойтись своим классом, семантика коего тебе ясна от и до. не да - не понятно, с контролем времени жизни этого класса. ну сделай статический класс со статическими же методами для обработки сета.


Германн   (2006-08-06 01:27:00) [7]


> Суслик ©   (06.08.06 01:06) [5]
>
> да забей ты на set, напиши свой класс - все понятнее семантика
> будет
>

Не надо таких советов! Не хочу с тобой ссориться! :-)


Суслик   (2006-08-06 01:06:00) [8]

да забей ты на set, напиши свой класс - все понятнее семантика будет


RzCoDer   (2006-08-05 21:02:00) [9]

гг) что то знакомое

смотреть тут http://forum.mirgames.ru/index.php?s=&showtopic=1604&view=findpost&p=20558
собсна со 108 сообщения и далее до публикации ответов


flaxe   (2006-08-05 20:17:00) [10]

мда....


Rial   (2006-08-05 16:19:00) [11]

Взамен можно использовать свой Set. ))

(A in B) = ((B and A) = A);
(A + B) = (A or B);
(A - B) = (A xor B);

Причем тогда в Byte влезет 8 значений.

Что делать с бо'льшими числами - следует подумать.

Можно использовать
Array of Cardinal нужного размера.


Anatoly Podgoretsky   (2006-08-05 16:16:00) [12]

Множества ограничены 256 элементами, расширить это нельзя, только самому реализовать свои множества. Наиболее близкое TBits


Наверх

Титульная страница Поиск, карта сайта Написать письмо