Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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


Ответ
 
Опции темы
Старый 21.11.2014, 19:15   #111
AndreyNM
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Rik Посмотреть сообщение
1. У движка есть недостаток в большом потреблении памяти, поэтому на счет 1000 форм, сложно сказать... У меня в проекте более 100 модулей , с формами, фреймами, модулями данных и ~24000 строк кода, запускается примерно за 1,5 сек, на скорость работы большое количество форм и модулей влиять не должно, только на время запуска и потребление памяти. Сейчас под рукой проект 66 модулей и 13000 строк кода, CrossMashine с этим приложением на Linux 64 съедает 58 мб памяти, на Win64 съедает 44 мб.
Думаю 2-3 сотни модулей должно точно без проблем потянуть. Да и 1000 скорее всего тоже потянет, только памяти метров 500 сожрет...
По нынешним временам это ерунда. Главное чтобы работало и не падало. .NET приложения со своим ленивым сборщиком мусора и с 10 формами могут и по 300-400 метров скушать и не покраснеть даже. Главное чтобы память не утекала в процессе работы приложения и чтобы его не приходилось из-за этого перезапускать каждый час - вот это гораздо большая проблема.
AndreyNM вне форума Ответить с цитированием
Старый 23.11.2014, 10:36   #112
vladrvv
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 59
По умолчанию TDBF

Мой Пример с Tdbf
https://cloud.mail.ru/public/fe98444a0c31/Ray.zip
Вопросы небольшие
1)Поиск нестабильный. Один раз получилось.Вроде ничего не менял, после перезагрузки программы
поиск по кириллице не работает

2) Искомый ключ - LabelPoisk.Caption показывается неправильно
vladrvv вне форума Ответить с цитированием
Старый 23.11.2014, 16:17   #113
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 360
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Мой Пример с Tdbf
https://cloud.mail.ru/public/fe98444a0c31/Ray.zip
Вопросы небольшие
1)Поиск нестабильный. Один раз получилось.Вроде ничего не менял, после перезагрузки программы
поиск по кириллице не работает

2) Искомый ключ - LabelPoisk.Caption показывается неправильно
Кто портировал DBF на Lazarus особо с кодировкой не церемонился, прописал там жестко 1252 (в пакете с DBF довольно много букв, поэтому целиком отследить где ещё с кодировкой косяк невозможно, пока в процессе работы не наткнешься, думаю там ещё будет).. Собственно я то-же самое делаю, только для 1251 и 866. SearchKey я исправил, обновите движок, Ваш пример то-же исправил, вот ссылка:
http://visual-t.ru/files/Ray.7z

ps.
Когда формируете пути к файлам, не прописывайте жестко разделитель
'Data\', используйте 'Data' + DirectorySeparator.

Последний раз редактировалось Rik; 23.11.2014 в 16:20.
Rik вне форума Ответить с цитированием
Старый 23.11.2014, 18:14   #114
vladrvv
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 59
По умолчанию

Ещё несколько ключевых свойств Tdbf надо проверить. Тут ещё кодировка UTF путается, я с ней не работал.
Как правильно установить SetRange?
Цитата:
if CheckBox1.Checked = True then
S= Trim(UpperCase(Edit1.Text));
xDbf1.SetRange(S, s, False);
else
xDbf1.CancelRange;
end;
Для простоты верхнюю и нижнюю границы устанавливаю в одном Edit1.Text.
Включаю и отключаю отбор CheckBox1 .
vladrvv вне форума Ответить с цитированием
Старый 23.11.2014, 19:29   #115
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 360
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Ещё несколько ключевых свойств Tdbf надо проверить. Тут ещё кодировка UTF путается, я с ней не работал.
Как правильно установить SetRange?

Для простоты верхнюю и нижнюю границы устанавливаю в одном Edit1.Text.
Включаю и отключаю отбор CheckBox1 .
У меня SetRange работает. Там видимо есть особенность, конец диапазона не входит, Т.е. если установить диапазон SetRange('A', 'Б') - то будет только то, что начинается на А, с таким-же успехом можно сделать SetRange('А', 'АЯЯЯЯ'), или для отбора того что начинается на Я: SetRange('Я', 'ЯЯЯЯ'); Текст туда приходит правильно, видимо такая особенность работы...
Если сделать SetRange('А', 'А') работать не будет.

Я в ваш пример добавил панель с SetRange, посмотрите
http://visual-t.ru/files/Ray.7z
Rik вне форума Ответить с цитированием
Старый 24.11.2014, 13:39   #116
vladrvv
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 59
По умолчанию

Пытаюсь повторить на Дизеле известный пример на Делфи KEYINFO.

В разделе объявления констант получаю сообщение об ошибке :
Цитата:
FunctionKeys: array [vk_f1 .. vk_f12] of string[3] =
('F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8',
'F9', 'F10', 'F11', 'F12');
Не нравится : двоеточие. Но знак равенства здесь же не поставишь?
vladrvv вне форума Ответить с цитированием
Старый 24.11.2014, 13:54   #117
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 360
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Пытаюсь повторить на Дизеле известный пример на Делфи KEYINFO.

В разделе объявления констант получаю сообщение об ошибке :


Не нравится : двоеточие. Но знак равенства здесь же не поставишь?
Инициализации массивов при объявлении нет и пока не предвидится. Массивы можно объявлять как локальные или глобальные переменные, но не как члены класса. Выражение of string[3] то-же не поймет, только простые выражения var I: array [4..6] of Integer, S: array [1..10] of string. Ещё обнаружил, что строковые массивы создавать не хочет, хотя на Delphi работало, тут нет, поправлю ближе к ночи.

Исправил.

Последний раз редактировалось Rik; 24.11.2014 в 17:29.
Rik вне форума Ответить с цитированием
Старый 24.11.2014, 16:37   #118
AndreyNM
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 17
По умолчанию

День добрый!

Не работает конструкция MainForm.ChildSizing.ControlsPerLin e или Panel.ChildSizing.Layut и т.п.
Добавьте пожалуйста видимость у всех свойств ChildSizing у всех компонентов - очень нужно! Или научите как это делать. Заранее спасибо!
AndreyNM вне форума Ответить с цитированием
Старый 24.11.2014, 17:27   #119
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 360
По умолчанию

Цитата:
Сообщение от AndreyNM Посмотреть сообщение
День добрый!

Не работает конструкция MainForm.ChildSizing.ControlsPerLin e или Panel.ChildSizing.Layut и т.п.
Добавьте пожалуйста видимость у всех свойств ChildSizing у всех компонентов - очень нужно!
TControlChildSizing добавил, должно работать, обновите программу.
Цитата:
Сообщение от AndreyNM Посмотреть сообщение
Или научите как это делать. Заранее спасибо!
Старая документация по расширению функционала от Delphi версии, к сожалению устарела безнадежно, новую смогу сделать не раньше середины декабря. Пока пишите, если что, помогу чем смогу...
Rik вне форума Ответить с цитированием
Старый 24.11.2014, 17:53   #120
AndreyNM
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Rik Посмотреть сообщение
TControlChildSizing добавил, должно работать, обновите программу.

Старая документация по расширению функционала от Delphi версии, к сожалению устарела безнадежно, новую смогу сделать не раньше середины декабря. Пока пишите, если что, помогу чем смогу...
Спасибо, заработало!
Вылезли ещё несколько классов: TControlBorderSpacing и TSizeConstraints. Если можно то их тоже добавьте пожалуйста.
Чтобы не выглядеть занудой и халявщиком объясню зачем мне всё это нужно. Вдохновившись вот этой статьёй: https://delphizen.wordpress.com/2010...к-с-rad-way-1/

решил сделать на Дизеле фреймворк для быстрого создания форм в ран-тайм, типа так:

AddDBEdit('Name', 'Наименование', 100);
AddDBEdit('FullName', 'Полное наименование', 200, False);
AddDBEdit('Passport', 'Паспортные данные', 200);
AddDBEdit('INN', 'ИНН', 20, False);

В результате на экране получится как на приложенной картинке (надеюсь получилось приложить).
Готового решения не нашёл, ковыряю в свободное время сам. Если получится удобно, то выложу на всеобщее обозрение.
Изображения
Тип файла: png 111.png (13.2 Кб, 80 просмотров)
AndreyNM вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме от 7000 рублей в месяц



Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что же я написал? Sibedir Свободное общение 26 04.10.2010 04:01
Я написал текстовую игру... saggy Софт 11 05.06.2010 21:32
Написал редактор карт sasha1993 Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 18.07.2009 20:31
Написал прогу в паскале... deu4er Помощь студентам 2 19.11.2008 20:08
Написал бэкдор, оцените KORN Софт 7 18.11.2007 08:55


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Скидки на курсы GeekBrains 40%, выбирайте программу для себя