lodyr

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Хочу поделиться некоторыми замечаниями по-поводу Halcyon 6.9.8.0 (последняя версия) =-> Итак, из опыта использования: по-поводу русских букв в Halcyon при записи в таблицу "dbf" Fox-a. Надо в свойстве TranslateASCII компонента THalcyonDataSet выставить False. //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> // ВАЖНО: при смене фильтрации в Halcyon он выдаёт ОШИБКУ! // Это вызвано тем, что при использовании фильтра, Halcyon неправильно вычисляет // начало и конец Таблицы "dbf". Указатель на ТЕКУЩУЮ запись оказывается вне диапазона! Жалко, что нет времени исправить баг разработчика. Полагаю, что он не очень сложный. Мож кто хочет? А пока так: необxодимо закрывать "HalcyonDataSet" и открывать заново. Иначе - ошибка! Т.о. изменено неработающее Demo "filtrrec". 1. - CheckBox1 Checked :=False; // т.к. 1-я запись Таблицы при запуске вне диапазона. // фильтр задан "paidflag = true", а 1-я запись paidflag :=False; 2. HalcyonDataset1.Open; HalcyonDataset1.ExactCount := True; // Добавлено 3. HalcyonDataset1.Close; // Добавлено HalcyonDataset1.Filter := edtFilter.Text; HalcyonDataset1.Open; // Добавлено HalcyonDataset1.Filtered := CheckBox1.Checked; HalcyonDataset1.Refresh; //>>>>>>>>>>>>>>>>>>>>>>>>>>> по-поводу индексов Умеет искать по индексам "cdx". Для этого надо задать файл Индекса и Поле индексации, например, HalcyonDataSetCD.Index('test.cdx','nomer'); // Задали Индекс таблицы. Можно отключить индекс HalcyonDataSetCD.Index('','') и использовать "Locate". Переиндексацию индексов "cdx" лучше, всё-таки, делать в родном Fox-е. по-поводу удаления записей Удалить ФИЗИЧЕСКИ запись НЕТ возможности, т.к. надо выполнить команду "PACK", а если в Таблице от Fox-а есть поле Memo, то Halcyon выдает ошибку, что поле Memo испорчено! Надо выполнять команду "PACK" в Fox-е. //************************************************ | Всего записей: 710 | Зарегистр. 06-02-2005 | Отправлено: 13:31 02-02-2015 | Исправлено: lodyr, 13:45 02-02-2015 |
|