|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.01.2015, 20:44 | #191 |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
Я думаю, такие не будут работать. Можно ещё попробовать OnFilterRecord обработчик сделать, там доступны любые вычисления, если быстродействие устроит, я думаю на больших таблицах может притормаживать.
Код:
|
03.01.2015, 12:14 | #192 |
Пользователь
Регистрация: 07.11.2009
Сообщений: 59
|
https://cloud.mail.ru/public/e885aaa...Vor_150102.zip
Программку, можно сказать, закончил.Все что можно получить с TDBF применялось. С фильтрацией все получилось. Она в любом случае медленная и приемлима только на небольших базах. Глюк с поиском в главном окне остался. |
03.01.2015, 15:09 | #193 | |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
Цитата:
В Linux соответственно печать не работает.. ps. Все таки лучше-бы FireBird вместо DBF, мощнее, быстрее, надежнее, даже в плане переносимости или портативной версии лучше, вся база в одном файле. FireBird embeded не требует установки SQL сервера, работает локально, зато при необходимости можно все развернуть в сети для полноценной работы не переписывая ни строчки кода. Бизнес-пак не зря на FireBird переехали... Последний раз редактировалось Rik; 03.01.2015 в 15:41. |
|
05.01.2015, 15:45 | #194 |
Пользователь
Регистрация: 07.11.2009
Сообщений: 59
|
Юрий, добрый день.
Хотел бы узнать о Ваших планах развития Дизеля. В свою очередь сообщаю о выявленных замечаниях 1) Дизайнер 1.1 крайне неустойчивая работа- может закрыться безовсякого предупреждения, всё что делал , естественно исчезло;Причинно-следственная связь не установлена 1.2 Имеет место "прилипание" объектов, установленных на форме, к курсору.Щелкнул, к примеру,по объекту для того, чтобы перейти в окно его свойств. Мышку отпустил, по форме ведешь, а объект так же тащится за ней 1.3 И вообще сам Дизайнер, мягко говоря, не очень шустрый 1.4 Бывает проект не запускается с первого раза 2)ГроссМашина 2.1 Должна быть защита "от дурака". При ошибке при присваивании в имени поля - программа вылетает. 2.2 Про TDbf я уже писал (поиск). |
05.01.2015, 21:14 | #195 | |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
Цитата:
Проблемы дизайнера имеют место. 1.1. Могу сказать, что пока так-же не могу установить причину, предполагаю, проблема связана с отрисовкой граббера(точки захвата выделенного объекта). 1.2. Прилипание возникает, когда происходит двойной щелчек на компоненте у которого при этом вызывается модальный редактор компонента (не модальные к проблеме не приводят). Я периодически возвращаюсь к этому, есть мысли как победить. Это следствие того, что кое-что я делал по аналогии с тем как было сделано в Delphi, там работало, здесь нет. Событие вызова редактора компонента при двойном щелчке нужно перенести из OnMouseDown в OnMouseUp, почему-то сходу перенести не удалось, думаю что скоро проблему решу. 1.3. Тут имеет место быть в основном неторопливость самой LCL, даже если в конечном итоге я выправлю то, что сам накосячил, все равно будет не так быстро как в Delphi. 1.4. Проект может не запускаться с первого раза из под дизайнера, по той причине, если процесс предыдущего запуска, по какой-то причине не завершился (долго завершается). В этом случае, если запущенный из под дизайнера процесс все ещё работает, на панели, кнопка "Сбросить выполнение программы" будет гореть красным цветом (эта кнопка расположена рядом с кнопкой запустить). В следующий раз перед очередным запуском из под дизайнера, обратите внимание, горит эта кнопка красным или нет, если горит - значит предыдущий процесс по какой-то причине все ещё работает и новый вы не запустите. Возможно поможет, если в деструктор главной формы или модуля данных, нужно добавить код закрытия всех открытых наборов данных, если на момент завершения работы программы имеются открытые. 2. КроссМашина 2.1. Если я Вас правильно понял и Вы имеется в виду: DataSet.FN('ErrorName').As.. = ..., тут FN вызывает FieldByName, он в случае если поле с именем отсутствует должен генерить соответствющую ошибку. Проверю, что там происходит. Или Вы о другом? 2.2. Пока работаю.. В остальном, в планах ещё есть вернуть русскую транскрипцию встроенных языков (пока отключено из-за невозможности сделать подсветка в редакторе). Возможно ещё добавлю какие-нибудь сервисы, что-бы формы с полями редактирования данных автоматом генерил. Само-собой ошибки пофиксить. В целом заложенный функционал меня устраивает, приложения содержащие примерно сотню модулей работают у меня без проблем на десятка рабочих мест в Windows и Linux, есть роботы, которые висят в трее месяцами с периодичностью в 15 минут проверяют и принимают почту, извлекают вложения, распаковывают из ZIP, загружают в базу данные, потом после обработки выгружают уже другие данные в XML и отправляют по Web сервисам. Есть ещё кое какие планы по отладчику, но это на более далекую перспективу да и сам интерпретатор не помешало-бы улучшить. Наверно как-то так... Я ограничен своими потребностями, может у Вас идеи какие есть? Последний раз редактировалось Rik; 05.01.2015 в 21:36. |
|
06.01.2015, 11:27 | #196 | |
Пользователь
Регистрация: 07.11.2009
Сообщений: 59
|
Цитата:
Ещё горящий вопрос. У CheckBox есть свойство Checked, а у DBCheckBox нет. |
|
06.01.2015, 15:31 | #197 |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
У DBCheckBox этого свойства и не должно быть. Меняется только через значение поля (DBCheckBox1.Field.AsBoolean или DataSet.FN('').AsBoolean). Ещё у "стандартного" DBCheckBox нет событий OnKeyDown, OnKeyPress, OnKeyUp, если эти события могут понадобиться, то лучше использовать TxDBCheckBox на закладке VisualTech.
Последний раз редактировалось Rik; 06.01.2015 в 15:37. |
06.01.2015, 21:17 | #198 |
Пользователь
Регистрация: 07.11.2009
Сообщений: 59
|
А
DBComboBox1.Items.LoadFromFile(); DBComboBox1.Items.SaveToFile(); |
06.01.2015, 21:59 | #199 |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
Что с ними не так? Для всех TStrings.SaveToFile и LoadFromFile работают.
Я обновил сборку. Исправил косяк дизайнера с залипанием. По поводу поиска в TxDBF. В проекте DogoVor косяк был связан с конфликтом с xDBGrid, у него тоже есть автопоиск... Я автопоиск у TxDBGrid для TxDBF улучшил. Сейчас, если у TxDBF, TIBDataSet, TZDataSet есть индексированные или сортированные поля, сетка TxDBGRid будет автоматом отрисовывать иконку сортировки в заголовке столбца с таким полем (только для одного поля, если в сортировке участвуют более одного, берет первое попавшееся). По сортированному полю будет проходить автопоиск, обработка UTF8KeyPress и KeyDown не требуется (если в каждую гриду руками поиск прописывать можно убиться в большом проекте). Для автопоиска должны быть включены у TxDBGRid.Options.xgdAutoLocate, xgdRowSelect. Что-бы видно было, что ищем, в LacateInfoPanel назначить любую TPanel, в её свойство Caption будет выводиться, что набирается с клавиатуры для поиска. Если установить у TxDBGrid.AutoSort = True, то при нажатии на заголовок сетки произойдет автосортировка по этому столбцу. Для TxDBF это будет сопровождаться созданием (включением) индекса, поиск соответственно можно задать по любому сортированному столбцу на котором щелкнем. У TxDBF при создании индекса указывать ixCaseIsensitive бесполезно, в заголовке индексных файлов (во всяком случае MDX), нет соответствующей опции, поэтому ixCaseIsensitive игнорируется и поиск будет всегда регистрозависимым. Для регистронезависимого поиска придется прибегать к хитростям. Ещё у TxDBGRid есть автофильтр, для этого включить свойство UserAutoFilter, после этого при нажатии на Ctrl+F можно вызвать окно фильтра. Фильтр работает по полю, в котором стоит курсор (активный курсор присутствует даже если у сетки в Options включено xgdRowSelect). http://visual-t.ru/files/DogoVor_150106.7z ps. Ещё заметил, наличие в форме TMainMenu, может приводить к тому, что размер и позиционирование формы в дизайнере сбиваются (под Windows). Я не рекомендую использовать меню, особенно если требуется кросс-платформенность, в Linux типа Ubuntu меню приложения встраивается в главное системное меню юнити, извращение жуткое, лучше вообще без него (даже 1с8 похоже от меню избавились)... Последний раз редактировалось Rik; 06.01.2015 в 22:47. |
07.01.2015, 20:26 | #200 |
Пользователь
Регистрация: 07.11.2009
Сообщений: 59
|
Сейчас обновился. Работаю над другой задачей. Вообще из под дизайнера ГроссМашина перестала запускаться.
Теперь по поводу обновлений.Возможно я вас к этому подтолкнул, но мне кажется с Tdbf вы пошли по неправильному пути (так я считаю).Есть понятие частного и общего. Всякое обобщение при наличии плюсов ведет к потере гибкости (очевидный минус). Этот как перейти к строительству из блоков или монолитному вместо кирпичей. То что можно сделать из кирпичей никогда не сделаешь из блоков. Так вот здесь появилась предопределенная панель и автоматом отрисовывается иконка сортировки и т.д. Так и в 1С: сложные вещи делаются просто, простые - никак! Теперь о другом. Каждая программа содержит много справочников. А я хотел озадачить Вас : можно или нет и как создать класс формы на основе разработанного образца, чтобы его один использовать для большого количества различных, но подобных, справочников. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Что же я написал? | Sibedir | Свободное общение | 26 | 04.10.2010 05:01 |
Я написал текстовую игру... | saggy | Софт | 11 | 05.06.2010 22:32 |
Написал редактор карт | sasha1993 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 8 | 18.07.2009 21:31 |
Написал прогу в паскале... | deu4er | Помощь студентам | 2 | 19.11.2008 20:08 |
Написал бэкдор, оцените | KORN | Софт | 7 | 18.11.2007 08:55 |