Клавиши с подогревом

https://k245.ru/wp-content/uploads/2022/08/Klavishi-s-podogrevom.jpg


Чего только не придумывают производители для привлечения внимания покупателей, особенно в сегменте игр и развлечений. Клавиатуры и мыши из устройства ввода информации превратились в произведение искусства или выставочный образец высоких технологий, поражая своим внешним видом или техническими возможностями. Но речь пойдет о приёме программирования, который позволит значительно улучить удобство работы с любой программой.


Читать: https://k245.ru/mvdb/klavishi-s-podogrevom.html

sparrow, благодарю! Буду почитать ))

Отсечь всё лишнее

https://k245.ru/wp-content/uploads/2022/08/myslitel.jpg

Подобно скульптору Родену, программисты берут глыбу программного кода и отсекают от неё все лишнее. При этом им приходится очень много размышлять, так как каждое “отсечение” хотя и делает код более изящным, но увеличивает сложность всей композиции.


Первые две версии ClassExplorer выглядят немного тяжеловато из-за того, что для некоторых сущностей я захотел иметь два представления: в виде таблицы и в виде дерева. Дерево хорошо тем, что записи можно группировать произвольным образом, что улучшает восприятие в целом, позволяя видеть всю структуру сразу. А традиционная таблица отображает записи в отсортированном виде, что может облегчить визуальный поиск. Возможно, при наличии продвинутой системы поиска, этот аргумент выглядит слабым, но я все же решил оставить возможность отображать дерево как линейный список, при этом удалив дублирующие данную функциональность компоненты.


Читать: https://k245.ru/mvdb/otsech-vsyo-lishnee.html

sparrow wrote:

И боле того. Выполняется без ошибки.


ShowMessage(FloatToStr(StrToFloat(',')));

Возвращает - 0

Возможно проверку лучше сделать через регулярные выражения?

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

vovka3003 wrote:

Вообще и делфи и лазарус подтверждают, что ',' - это "правильное" число с п.т.. Видимо так задумано...
А где надо float ловить?

Ну, правильное так правильное, спорить не буду. Проверяю при подсветке исходного кода: строки и числа выделяю цветом. А тут смотрю, какая-то фигня происходит - запятые тоже подсвечиваются, как цифры. Ну, добавил ещё одну проверку, и все заработало. Но подробности будут чуть позже )))

631

(14 replies, posted in General)

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=8910&download=0
?

Может и так, но это вводит в заблуждение. Я использовал эту функцию для парсера, чтобы определять, является ли строка числом. И получал ложные срабатывания, когда в проверяемой строке оказывалась запятая.

633

(187 replies, posted in General)

tcoton wrote:
AD1408 wrote:

Desprately looking for.......


App. custom exe icon applied via form1 properties
////////////////////////

Do you think this could happen one day? Using a custom .ico file via a property for the forms?

I don't think it will ever happen. Icons in an application are a built-in resource that gets inside when the executable is compiled. There is no compilation of the executable file in MVDB, it is renamed from DLL to EXE.


Use this tool for change icon after first run an application, when executable file is appear:

http://www.angusj.com/resourcehacker/

Строка ',' считается числом с плавающей точкой, что на мой взгляд неверно - плавающая точка есть, а числа нет smile


procedure Form1_Button2_OnClick (Sender: TObject; var Cancel: boolean);
begin
  ShowMessage( ValidFloat(',') );
end;

635

(8 replies, posted in General)

The question is not so simple. To prompt the user to select the desired resolution, you first need to somehow determine the capabilities of the video card.

636

(8 replies, posted in General)

To change the screen resolution, you can use a utility such as QRes.exe.
https://www.softpedia.com/get/Multimedi … QRes.shtml
It can be launched with the command OpenFile()

frmdbCoreUsers.ShowModal;
pavlenko.vladimir.v wrote:

часто получаю такую ошибку
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=8906&download=0

Согласен, код ещё сырой, ошибок много, буду исправлять...

Вот и я теперь сомневаюсь, нужны ли картинки... только веса базе прибавляют smile


Кстати, RTF, который используется данным компонентом по умолчанию, тоже не айс. Зато у него есть свой формат, который, судя по всему, сжатый. Но нет методов чтения/записи в базу, только через файл.


Можно попробовать подсвечивать "на лету", видел на форуме тему в англоязычной ветке (подсветка синтаксиса SQL), но автор жалуется на низкую производительность скриптов. Но попробовать можно smile Тогда можно будет добавить в систему поиска поиск в исходниках!


А ещё добавить возможность по клику в исходнике открывать справочный раздел по классу или типу. Например, клик с зажатой клавишей Ctrl.

Вопрос к пользователям ClassExplorer. Сейчас примеры могут включать форматированный текст и картинки. Но форматировать текст нужно вручную.
https://k245.ru/wp-content/uploads/2022/07/5-1024x604.png
Насколько актуально добавить автоматическое форматирование текста и подсвечивание ключевых слов для выделенного фрагмента текста?  И нужно ли хранение изображений или достаточно подсветки кода, как это сделано в программе Snippet Manager?

http://i.imgur.com/8eaGzZY.png

sibprogsistem wrote:

нашел на просторах интернета систему управления контентом
CMS на основе API

https://getcockpit.com/

Получилось?

642

(7 replies, posted in Script)

frmDbCoreLogin.ShowModal

You can change the user and his role without displaying the authorization form.

procedure Form1_Button4_OnClick (Sender: TObject; var Cancel: boolean);
begin
  Application.User.id :=3;
  Application.User.RoleId  := 2;
end;

procedure Form1_Button2_OnClick (Sender: TObject; var Cancel: boolean);
begin
  Application.User.id :=2;
  Application.User.RoleId  := 1;
end;
vovka3003 wrote:
k245 wrote:

Есть дополнительные свойства (служебные smile ), но, что гораздо важнее, есть поддержка обработки событий.

А какие именно?

Свойства:
- MinimizeToTray
- ShowOnTaskbar


Обработчики событий:
- OnDropFiles


Но я намёк понял: разница между классами TAForm и TForm не настолько большая, чтобы печалиться о невозможности создания экземпляра TAForm  smile

Традиция скрывать форму после завершения работы с ней вместо того, чтобы удалить её, восходит к тем временам, когда компьютеры были медленные, и создание формы занимало кучу времени. Поэтому формы создавались при запуске приложения и удалялись только по завершению программы. Другой аргумент для такого решения состоит в том, что создание/разрушение объектов приводит к фрагментации памяти. И, хотя программы, созданные на Дельфи, используют свой менеджер памяти, который снижает фрагментацию памяти операционной системы, разработчики традиционно придерживаются данной стратегии.


The tradition of hiding a form when you're done with it instead of deleting it goes back to the days when computers were slow and creating a form took a lot of time. Therefore, the forms were created when the application started and were deleted only when the program ended. Another argument for this solution is that object creation/destruction results in memory fragmentation. And, although programs created in Delphi use their own memory manager, which reduces fragmentation of the memory of the operating system, developers traditionally adhere to this strategy.

Дело в том, что форма умеет освобождать все компоненты, которые ей принадлежат. При создании компонента в конструкторе Create() указывается владелец, которому будет принадлежать компонент. В то же время создаваемые в коде формы "принадлежат" другому владельцу - Application . Таким образом, при завершении приложения происходит каскадное освобождение ресурсов.


Можно создавать компоненты (и формы) без указания владельца. В этом случае необходимо самостоятельно освобождать занимаемые ими ресурсы.



The matter is that the form is able to release all components which belong to it. When creating a component, the Create constructor specifies the form that the component will belong to. At the same time, the forms created in the code "belong" to another owner - application . Thus, when the application terminates, there is a cascading release of resources.


You can create components (and forms) without specifying an owner. In this case, you must independently release the resources occupied by them.

Формы из пробирки

https://k245.ru/wp-content/uploads/2022/07/formy.jpg


Визуальное средство разработки позволяет создавать любые формы с помощью мышки, перетягивая нужные элементы по экрану. Ещё несколько минут нужно на то, чтобы отредактировать необходимые параметры в редакторе свойств. А если таких форм нужно много и они практически одинаковые? Тогда, используя технологию CopyPaste, можно создать десяток форм и не о чем не беспокоиться. До тех пор, пока не понадобится внести какие-либо изменения во внешний вид или механику работы этих форм. И в этот момент разработчики начинают задумываться над альтернативными решениями.


Читать:  https://k245.ru/mvdb/formy-iz-probirki.html

Есть дополнительные свойства (служебные smile ), но, что гораздо важнее, есть поддержка обработки событий. Возможно, она есть и у TForm, но в документации это не указано, а на деле я ещё не проверял.

Главная форма - экземпляр класса TfrmMaindbCore (1)
Все остальные формы, созданные в редакторе - TAForm (2)
Кроме них имеется огромный зоопарк других форм и диковинных компонентов...
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=8901&download=0

649

(15 replies, posted in General)

The code is absolutely working, both scrollbars appear, including in the window maximization mode.

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=8896&download=0

I agree, you can create instances of the TForm class, but this does not fix the error. Perhaps the value of the TAForm class is exaggerated, and it is not really needed  smile