Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

Проблема с TFont   Найти похожие ветки 

 
Антон Г.   (2005-06-21 12:59) [0]

Здравствуйте. Воникла следующая проблема. Есть два TLabel, у каждого свое значение Font"a. Задача обменять у них эти значения. Пишу код


procedure TForm1.Button1Click(Sender: TObject);
var
F:Tfont;
begin
F:=TFont.Create;
F:=Label1.Font;
Label1.Font:=Label2.Font;
Label2.Font:=f;
f.free;
end;


Вылетает ошибка :Acsess Evolation (пишется вроде так)
Иду по шагам (F7) ошибка вылетает после end.
Если закомментировать строка f.free;, то ошибки нет, но Label1 имеет TFont как у Label2, но TFont у Label2 остается прежним. Буду рад любой помощи.


 
Eraser ©   (2005-06-21 13:01) [1]

Антон Г.   (21.06.05 12:59)

TFont - это структура.


 
TUser ©   (2005-06-21 13:03) [2]

TFont - это класс, наследник TPersistent"а. Копировать свойства надо методом Assign.


 
Антон Г.   (2005-06-21 13:03) [3]

Eraser
А можете подсказать как поменять его у двух TLabel"ов?


 
Антон Г.   (2005-06-21 13:04) [4]

Поста [2] не было когда я спрашивал, так что извините. Сейчас попробую.


 
Юрий Зотов ©   (2005-06-21 13:06) [5]

procedure TForm1.Button1Click(Sender: TObject);
var
 F: TFont;
begin
 F := TFont.Create;
 try
   F.Assign(Label1.Font);
   Label1.Font := Label2.Font;
   Label2.Font := F
 finally
   F.free
 end
end;


 
Eraser ©   (2005-06-21 13:08) [6]

TUser ©   (21.06.05 13:03) [2]

Мда... TFont действительно класс...я ошибался.


 
Антон Г.   (2005-06-21 13:22) [7]

Спасибо всем за ответы. А почему мы здесь (выделенное) не используем Assign?
procedure TForm1.Button1Click(Sender: TObject);
var
F: TFont;
begin
F := TFont.Create;
try
  F.Assign(Label1.Font);
  Label1.Font := Label2.Font;
  Label2.Font := F

finally
  F.free
end
end;
» Юрий Зотов:» Потому что F - это переменная, а Label1.Font - это СВОЙСТВО. При назначении СВОЙСТВА Assign вызывается автоматически (см. SetFont в VCL), а при назначении ПЕРЕМЕННОЙ это надо делать самому.



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.047 c
1-1118794518
Begu
2005-06-15 04:15
2005.07.11
Перевод Array of char в String


14-1118203605
lookin
2005-06-08 08:06
2005.07.11
Восстановить нетекстовый файл, отредактированный в Блокнот


1-1118916350
serko
2005-06-16 14:05
2005.07.11
Таблица с картинками!


1-1118412430
Yury
2005-06-10 18:07
2005.07.11
Эксперт для Delphi


1-1119361374
Alex17
2005-06-21 17:42
2005.07.11
Фаил





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский