Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2004.12.12;
Завантажити: [xml.tar.bz2];

Вниз

Як простіше обміняти шрифти двох комбобоксов? Знайти схожі гілки


Кто---то ©   (2004-11-25 06:55) [0]

Пробовал создать временный FF : TFont;Но почему то, когда делаю

FF := TFont.Create;
try
 FF := ComboBox1.Font;
...

, то в FF записывается ссылка на ComboBox1.Font, вместо данных.
Почему ? Что не так ? И как проще можно обменять два шрифта ?

Кстати, если делаю.
var
 FЕ : TEdit;
begin
 FE := TEdit.Create(Self);
 try
   FE.Font := ComboBox1.Font;

То в FE.Font копируются данные шрифта, а не ссылка.



Думкин ©   (2004-11-25 07:36) [1]

Assign?



Кто---то ©   (2004-11-25 07:43) [2]


> Думкіна © (25.11.04 07: 36) [1]
> Assign?


Як?



Думкин ©   (2004-11-25 07:46) [3]

Ну сделай как и делал, только не с помощью := а с помощью Font.Assign(AnoterFont)



Кто---то ©   (2004-11-25 07:51) [4]

Что вообще такое это Асигн ? Даже ни разу не пользовался вроде хотя и видел. И чем отличается от := и Assigned ?



Кто---то ©   (2004-11-25 07:54) [5]

Assigned вроде аналогичен = nil ? Или нет ?



Skyle ©   (2004-11-25 08:02) [6]

> [4] Хто --- то © (25.11.04 07: 51)

> вроде хотя и видел. И чем отличается от := и Assigned ?

Эти операции работают с объектом, как с Васей Петровым, а Assign - с содержимым его карманов (клонирование).

> [5] Хто --- то © (25.11.04 07: 54)
> Assigned вроде аналогичен = nil ? Или нет ?
Так.

И вообще, F1 рулит.



Кто---то ©   (2004-11-26 02:12) [7]


> Assign - с содержимым его


Если мы делаем Font1.Assign(AnoterFont), a потом Font1.Free , то у нас точно AnoterFont не освободится ?

И почему обязательно надо делать create объекту до assign ? Что мы тогда делаем в create ? Или можно как то и без него ?



ЮЮ ©   (2004-11-26 03:39) [8]

>И почему обязательно надо делать create объекту до assign ? Что мы тогда делаем в create ?

Потому что именно create и создает объект.
FF : TFont
FF - это не обект, а указатель на него (если он есть)
а вот TFont.Create как раз и создаст обект. А чтобы не потерять этот объект где-то в недрах памяти и иметь к неиу доступ и пишеи
FF := TFont.Create



Кто---то ©   (2004-11-26 07:40) [9]


> ЮЮ © (26.11.04 03: 39) [8]

Тогда задам тупой вопрос. Что такое объект в памяти, который мы создаём ? В ассигн мы пишем в объект данные. А что делаем в крейт тогда ? Просто выделяем область под него в столько то байт/килобайт и всё ?



Кто---то ©   (2004-11-26 07:50) [10]

Ещё вопрос. Если мне надо, чтобы в этой строке :
FE.Font := ComboBox1.Font;
Копировались не данные комбобоксовского шрифта, а лишь ссылка на него попадала в FE.Font, то как надо прописать правильно ?



begin...end ©   (2004-11-26 08:18) [11]


> [9] Хто --- то © (26.11.04 07: 40)


> В ассигн мы пишем в объект данные. А что делаем в крейт
> тогда ?

При вызове конструктора выделяется память под объект и его поля инициализируются начальными значениями, т.е. поля перечисляемого типа, например Integer, будут иметь значение 0, указатели и классовые ссылки - значение nil, строки будут пустыми.

При вызове метода Assign происходит копирование свойств, т.е. объект после вызова этого метода будет иметь те же значения свойств, что и указанный (в качестве параметра Assign) "источник".



Кто---то ©   (2004-11-27 01:57) [12]

Зрозуміло, дякую.



Bora ©   (2004-11-27 19:37) [13]

> Кто---то

Че ты мучаешься? Возьми поменяй местами не сразу весь Font, а по частям:
...
size:=size  
color:=color
...
і т.ін.



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2004.12.12;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.6 MB
Час: 0.102 c
1-1101888171
cvg
2004-12-01 11:02
2004.12.12
Допоможіть розібратися з порядком виконання проги. pls!


1-1101714215
User1
2004-11-29 10:43
2004.12.12
Проблема з DLL


1-1101749901
AdmeraL
2004-11-29 20:38
2004.12.12
Form size


3-1100225895
peGaZ
2004-11-12 05:18
2004.12.12
БД в текстовий файл


6-1096645116
Стеф
2004-10-01 19:38
2004.12.12
Сканування мережі та проблеми з цим





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська