Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 02.01.2015, 21:44   #191
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 356
Репутация: 277
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Выражения в фильтре не допускается ? Типа такого ?
Я думаю, такие не будут работать. Можно ещё попробовать OnFilterRecord обработчик сделать, там доступны любые вычисления, если быстродействие устроит, я думаю на больших таблицах может притормаживать.
Код:

method TMainForm.xDbf1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
  Accept = false;
  if Pos('РЕ', DataSet.FN('NAME').AsString) = 1 then Accept = True end;
end;

У xDBF соответственно Filtered нужно сделать в True как и с обычным фильтром...
__________________
http://www.visual-t.ru
Rik вне форума   Ответить с цитированием
Старый 03.01.2015, 13:14   #192
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

https://cloud.mail.ru/public/e885aaa...Vor_150102.zip

Программку, можно сказать, закончил.Все что можно получить с TDBF применялось.
С фильтрацией все получилось. Она в любом случае медленная и приемлима только на небольших базах.

Глюк с поиском в главном окне остался.
vladrvv вне форума   Ответить с цитированием
Старый 03.01.2015, 16:09   #193
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 356
Репутация: 277
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
https://cloud.mail.ru/public/e885aaa...Vor_150102.zip

Программку, можно сказать, закончил.Все что можно получить с TDBF применялось.
С фильтрацией все получилось. Она в любом случае медленная и приемлима только на небольших базах.

Глюк с поиском в главном окне остался.
Глюк похоже связан с индексацией, в Ray в поле поиска были только заглавные буквы, там все работало. Посмотрю что можно сделать, но только после выходных.

В Linux соответственно печать не работает..

ps.
Все таки лучше-бы FireBird вместо DBF, мощнее, быстрее, надежнее, даже в плане переносимости или портативной версии лучше, вся база в одном файле. FireBird embeded не требует установки SQL сервера, работает локально, зато при необходимости можно все развернуть в сети для полноценной работы не переписывая ни строчки кода. Бизнес-пак не зря на FireBird переехали...
__________________
http://www.visual-t.ru

Последний раз редактировалось Rik; 03.01.2015 в 16:41.
Rik вне форума   Ответить с цитированием
Старый 05.01.2015, 16:45   #194
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

Юрий, добрый день.
Хотел бы узнать о Ваших планах развития Дизеля.

В свою очередь сообщаю о выявленных замечаниях
1) Дизайнер
1.1 крайне неустойчивая работа- может закрыться безовсякого предупреждения, всё что делал , естественно исчезло;Причинно-следственная связь не установлена

1.2 Имеет место "прилипание" объектов, установленных на форме, к курсору.Щелкнул, к примеру,по объекту для того, чтобы перейти в окно его свойств. Мышку отпустил, по форме ведешь, а объект так же тащится за ней

1.3 И вообще сам Дизайнер, мягко говоря, не очень шустрый

1.4 Бывает проект не запускается с первого раза

2)ГроссМашина
2.1 Должна быть защита "от дурака". При ошибке при присваивании в имени поля - программа вылетает.
2.2 Про TDbf я уже писал (поиск).
vladrvv вне форума   Ответить с цитированием
Старый 05.01.2015, 22:14   #195
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 356
Репутация: 277
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Юрий, добрый день.
Хотел бы узнать о Ваших планах развития Дизеля.

В свою очередь сообщаю о выявленных замечаниях
1) Дизайнер
1.1 крайне неустойчивая работа- может закрыться безовсякого предупреждения, всё что делал , естественно исчезло;Причинно-следственная связь не установлена

1.2 Имеет место "прилипание" объектов, установленных на форме, к курсору.Щелкнул, к примеру,по объекту для того, чтобы перейти в окно его свойств. Мышку отпустил, по форме ведешь, а объект так же тащится за ней

1.3 И вообще сам Дизайнер, мягко говоря, не очень шустрый

1.4 Бывает проект не запускается с первого раза

2)ГроссМашина
2.1 Должна быть защита "от дурака". При ошибке при присваивании в имени поля - программа вылетает.
2.2 Про TDbf я уже писал (поиск).
vladrvv
Проблемы дизайнера имеют место.
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 сервисам. Есть ещё кое какие планы по отладчику, но это на более далекую перспективу да и сам интерпретатор не помешало-бы улучшить.
Наверно как-то так... Я ограничен своими потребностями, может у Вас идеи какие есть?
__________________
http://www.visual-t.ru

Последний раз редактировалось Rik; 05.01.2015 в 22:36.
Rik вне форума   Ответить с цитированием
Старый 06.01.2015, 12:27   #196
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

Цитата:
имеется в виду: DataSet.FN('ErrorName').As.. = ..., тут FN вызывает FieldByName
Да , этот случай.
Ещё горящий вопрос.
У CheckBox есть свойство Checked, а у DBCheckBox нет.
vladrvv вне форума   Ответить с цитированием
Старый 06.01.2015, 16:31   #197
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 356
Репутация: 277
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Да , этот случай.
Ещё горящий вопрос.
У CheckBox есть свойство Checked, а у DBCheckBox нет.
У DBCheckBox этого свойства и не должно быть. Меняется только через значение поля (DBCheckBox1.Field.AsBoolean или DataSet.FN('').AsBoolean). Ещё у "стандартного" DBCheckBox нет событий OnKeyDown, OnKeyPress, OnKeyUp, если эти события могут понадобиться, то лучше использовать TxDBCheckBox на закладке VisualTech.
__________________
http://www.visual-t.ru

Последний раз редактировалось Rik; 06.01.2015 в 16:37.
Rik вне форума   Ответить с цитированием
Старый 06.01.2015, 22:17   #198
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

А
DBComboBox1.Items.LoadFromFile();
DBComboBox1.Items.SaveToFile();
vladrvv вне форума   Ответить с цитированием
Старый 06.01.2015, 22:59   #199
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 356
Репутация: 277
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
А
DBComboBox1.Items.LoadFromFile();
DBComboBox1.Items.SaveToFile();
Что с ними не так? Для всех 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 похоже от меню избавились)...
__________________
http://www.visual-t.ru

Последний раз редактировалось Rik; 06.01.2015 в 23:47.
Rik вне форума   Ответить с цитированием
Старый 07.01.2015, 21:26   #200
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

Сейчас обновился. Работаю над другой задачей. Вообще из под дизайнера ГроссМашина перестала запускаться.

Теперь по поводу обновлений.Возможно я вас к этому подтолкнул, но мне кажется с Tdbf вы пошли по неправильному пути (так я считаю).Есть понятие частного и общего. Всякое обобщение при наличии плюсов ведет к потере гибкости (очевидный минус). Этот как перейти к строительству из блоков или монолитному вместо кирпичей. То что можно сделать из кирпичей никогда не сделаешь из блоков.
Так вот здесь появилась предопределенная панель и автоматом отрисовывается иконка сортировки и т.д.
Так и в 1С: сложные вещи делаются просто, простые - никак!

Теперь о другом.
Каждая программа содержит много справочников. А я хотел озадачить Вас : можно или нет и как создать класс формы на основе разработанного образца, чтобы его один использовать для большого количества различных, но подобных, справочников.
vladrvv вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что же я написал? 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 21:08
Написал бэкдор, оцените KORN Софт 7 18.11.2007 09:55


01:55.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru