Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];

Вниз

Set of 0.255   Найти похожие ветки 

 
flaxe ©   (2006-08-05 16:12) [0]

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


 
Anatoly Podgoretsky ©   (2006-08-05 16:16) [1]

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


 
Rial ©   (2006-08-05 16:19) [2]

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

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

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

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

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


 
flaxe ©   (2006-08-05 20:17) [3]

мда....


 
RzCoDer ©   (2006-08-05 21:02) [4]

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

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


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

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


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


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

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


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

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


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

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


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


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

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


 
StriderMan ©   (2006-08-07 15:46) [10]

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


 
evvcom ©   (2006-08-07 16:58) [11]

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

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


 
jack128 ©   (2006-08-07 17:21) [12]

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

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



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.084 c
15-1156654818
begin...end
2006-08-27 09:00
2006.09.17
27 августа. С Днём рождения!


6-1145212931
Naduev Aleksei
2006-04-16 22:42
2006.09.17
Объем информации


15-1155758162
Kerk
2006-08-16 23:56
2006.09.17
21й век


3-1152996121
Krants
2006-07-16 00:42
2006.09.17
Транспонировать записи(SQL)


2-1157019200
yel
2006-08-31 14:13
2006.09.17
Как послать сообщение?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский