Size: a a a

2020 April 24

АВ

Александр В in Delphi & Lazarus
Спасибо!
источник

AS

Alexey Shumkin in Delphi & Lazarus
Александр В
Спасибо!
👌
будут вопросы - задавай
источник

GB

George Bakhtadze in Delphi & Lazarus
Рус
Да вот говорят Decimal из oleaut32.dll как раз такой.
любая реализация чисел с произвольной точностью такая. например эта:
https://github.com/rvelthuis/DelphiBigNumbers
источник

KI

Ksi2 Ilmi in Delphi & Lazarus
👍
источник

СД

Сергей Дятлов in Delphi & Lazarus
всем привет. кто как работает с диалогами, формами или фреймами?
форма это просто некий набор компонентов, от которой получаете данные и уже потом обрабатываете в некоем контроллере, или форма сама является контроллером, имеет доступ к бд напрямую знает о каких то типах данных и т.д
источник

СД

Сергей Дятлов in Delphi & Lazarus
к примеру в форму можно передавать какие то параметры, форма может сама их выдергивать из контроллера, или можно их передавать вручную и потом вручную дергать после закрытия и обрабатывать
источник

SB

Sergey Bodrov in Delphi & Lazarus
Лучше данные отдельно (на TDataModule), а формы и фреймы отдельно
источник

СД

Сергей Дятлов in Delphi & Lazarus
Sergey Bodrov
Лучше данные отдельно (на TDataModule), а формы и фреймы отдельно
немного уточню, данные и компоненты доступа к данным, находятся отдельно на TDataModule, в нем есть методы доступа для изменения и создания сущностей

вопрос такой, откуда дергать эти методы, из самого диалога изменения юзера, или из общего контроллера, а в диалог передавать только набор параметров
источник

SB

Sergey Bodrov in Delphi & Lazarus
На стадии прототипа или на малых масштабах, если это разовый проект типа курсовой или фриланса, то проще и быстрее дергать данные формой/диалогом напрямую из датамодуля. А если что-то более масштабное и надолго, то лучше создать объекты данных, которые могут и в базу ложиться (через ORM) и на формах редактироваться.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Суть в том, чтобы на больших масштабах уменьшить количество взаимосвязей и разделить функционал на много автономных частей.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Это больше работы, но потом гораздо проще читать и править.
источник

SB

Sergey Bodrov in Delphi & Lazarus
И меньше влияния мелких ошибок и сбоев на процесс в целом
источник

СД

Сергей Дятлов in Delphi & Lazarus
я правильно понимаю что объект данных нужно предавать в форму для редактирования? ну так удобнее на больших проектах
источник

SB

Sergey Bodrov in Delphi & Lazarus
Сергей Дятлов
я правильно понимаю что объект данных нужно предавать в форму для редактирования? ну так удобнее на больших проектах
Да. В таком случае форме редактирования достаточно  видеть только публичные свойства объекта.
источник

СД

Сергей Дятлов in Delphi & Lazarus
Sergey Bodrov
Да. В таком случае форме редактирования достаточно  видеть только публичные свойства объекта.
спасибо ))
источник

SB

Sergey Bodrov in Delphi & Lazarus
Если объектов данных много разных, то можно еще больше заморочиться и сделать универсальные формы списка, просмотра и редактирования. У которых есть конфиги - настройки, какие колонки и как отображать, какие поля и как редактировать. Но это актуально, если видов объектов реально много, сотни. И они периодически мутируют, а для каждого дизайнить персональную форму слишком много времени уходит.
источник

СД

Сергей Дятлов in Delphi & Lazarus
Подскажи вот еще. Есть форма выбора регионов. Дерево такое с чекбоксами. Выбираешь какие то регионы и их нужно добавить в базу. А если снимаешь галки с уже существующих в базе регионов то удалить их
Вот тут как бы несколько обьектов сразу список регионов передается на форму из базы чтобы из выделить и показать что они уже чекнуты
Как вот с такой формой работать?
источник

SB

Sergey Bodrov in Delphi & Lazarus
Сергей Дятлов
Подскажи вот еще. Есть форма выбора регионов. Дерево такое с чекбоксами. Выбираешь какие то регионы и их нужно добавить в базу. А если снимаешь галки с уже существующих в базе регионов то удалить их
Вот тут как бы несколько обьектов сразу список регионов передается на форму из базы чтобы из выделить и показать что они уже чекнуты
Как вот с такой формой работать?
Если объекты однотипные (элементы одного справочника), то передавать список объектов. Я рекомендую иметь два типа списка, "полный" или "глобальный" с максимальной функциональностью, но без сортировки и фильтров. И "простой" в котором только индексы элементов из "полного" списка. В таком случае, "простой" можно легко фильтровать, сортировать и отображать в разных диалогах и контролах.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Удаление объектов штука коварная. Лучше их не удалять, а ставить пометку, что он удален и не отображать в списках. Потому что наверняка после удаления где-то останется ссылка на удаленный объект и произойдет обращение к чужой области памяти. Есть способы с этим бороться, всякие "умные ссылки" и подсчет ссылок. Но самое верное в этом случае это пометка на удаление и "сборка мусора".
источник

СД

Сергей Дятлов in Delphi & Lazarus
🤔 осталось все это хорошенько обмозговать. Спасибо
источник