XPerformer

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору dred2k Тест не для тех кто купил девок и уже сделал свой выбор. Я проделал немалую работу на общественных началах для того, чтобы понимать, что использовать в будущем в новых проектах, не будучи ангажированным затраченными деньгами или двадцатилетней привычкой к определенному компоненту. Хотел объективности. Дискуссия здесь не нужна. Нашел ошибки - укажи на них. всем обращаю внимание общественности: Кто скачал исходники и посмотрел, тот видел, что код единообразен для всех компонент. Исключение составляет только метод CreateTable|DestroyTable - кому-то этот вызов вообще не нужен, у кого-то называется чуть иначе: CreateDataset. Это еще укладывается в какие-то рамки совместимости, хотя и создаст сложности при переходе с одного компонента на другой. Единственный компонент, у которого у не отработал банальный CDSTable1.FieldDefs.Add('FString', ftString, 100); это dxMemData. Пришлось потратить время на дебаг и заменить на эквивалентную последовательность Код: with dxMemData1.FieldDefs.AddFieldDef do begin Name := 'FInteger'; DataType := ftInteger; CreateField(dxMemData1); end; | Единственный компонент, у которого у не отработал банальный ABSTable1.IndexDefs.Add('index2', 'FString', []); Тут я уже вообще потерялся, так как стандартной замены нет. Это уже полная отсебятина: Код: with dxMemData1.Indexes.Add do begin FieldName := 'FString'; end; | Если это подпадает под определение полной совместимости с датасет, то я испанский летчик Добавлено: Просьба тем, кто плотно работал с dxMemData, ответить : 1. как выполнить команду (это стандартные свойства и методы) Код: dxMemData1.IndexName := 'index1'; if dxMemData1.FindKey(['вася']) then ... | 2. Почему поиск с индексами dxMemData делает медленнее чем поиск без индексов? [еще можно было бы понять если бы с одинаковой скоростью] 3. Нет методов SetRange, ApplyRange. Чем заменить? Добавлено: Alexey_Gawrilow Цитата: Цитата: Господа, какой компонент наиболее быстрый и возможно более функциональный из разряда MemoryDataset? Кто вообще чем пользуется? | Это к тому, что в крайних редакциях не актуально - там LiveBinding. | про LiveBinding можно подробнее - каким боком он может заменить таблицы в памяти? Конкретная задача, например, - заказчик дает набор данных (ключевых запросов) в csv например, это не существенно, можно перезалить в таблицу если это поможет. И дает сложный алгоритм обработки, где присутствуют многократные поиск строк и сравнения друг с другом (поиск и группировка синонимов). Я данные залил в таблицу в памяти для скорости, чтобы свести к нулю обращения к диску. Данных много - 3 млн юникодных строк. Алгоритм работает часы - это для понимания объема вычислительной работы. Как здесь применить LiveBinding? p.s. ответа по существу даже и не жду, ибо теоретики... Добавлено: Prot_XT Цитата: Подкинь ссылочку на бесплатную версию kbmMemTable. | http://www.torry.net/quicksearchd.php?String=memtable&Title=Yes Прекрасный выбор для тех, кто до сих пор работает на D7 Также бесплатно доступен kbmMemTable CodeGear edition | Всего записей: 2579 | Зарегистр. 20-06-2011 | Отправлено: 13:20 09-06-2014 | Исправлено: XPerformer, 16:11 09-06-2014 |
|