|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.09.2022, 18:16 | #1 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 653
|
:= или assing
Есть два FontDialog
Нужно скопировать значения Font одного в другой. Как лучше это делать? И есть ли вообще разница? Код:
Код:
|
23.09.2022, 18:45 | #2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
В первом случае вы уничтожаете использовавшийся класс Font и присваиваете ссылку на новый (создаваемый по образу FontDialog.Font заново через конструктор копирования) свойству объекта.
Во втором случае существующий класс Font копирует из другого класса FontDialog.Font значения и ничего не пересобирается/копируется целиком. С точки зрения скорости второй должен быть быстрее. Хотя однозначно утверждать нельзя. Все зависит от процессора, версии компилятора и операционной системы (в конце концов Font это объект GDI, а класс лишь интерфейс для работы с ним). P.S. опечатку исправьте - Assign |
23.09.2022, 21:45 | #3 | |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 653
|
Цитата:
|
|
23.09.2022, 22:27 | #4 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Если предусмотрен метод копирования данных из подобного экземпляра класса, тогда он точно будет быстрее чем создание и удаление подобных объектов. Но Assign предусмотрен не везде.
|
23.09.2022, 22:32 | #5 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 653
|
|
23.09.2022, 22:38 | #6 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Какой именно мусор. Эти же операции копирования будут происходить при использовании конструктора копирования. Только при этом перед этим необходимо дополнительно выполнить манипуляции по высвобождению старого объекта и созданию нового. А копирование данных так и так будет выполнено.
|
24.09.2022, 02:52 | #7 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
|
29.09.2022, 15:41 | #8 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 653
|
Нужно несколько FontDialog с одинаковым изначальным Font, но которые могут уже независимо друг от друга меняться при выполнении программы
Ну и замысел - создается один FontDialog на форме, он настраивается под изначальные параметры, а дальше, при запуске программы создаются другие FontDialog, в которые копируются параметры Font |
29.09.2022, 20:30 | #9 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
А нафига вам несколько FontDialog? Если вам нужны разные копии Font, то и создавайте копии Font выбираемые через один и тот же FontDialog. Несколько окон вам зачем?
|