Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Вниз

Проблема с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
10-1095160880
Jaxtor
2004-09-14 15:21
2005.07.11
Отображение формы приложения на DCOM сервере


5-1089872243
ViJen
2004-07-15 10:17
2005.07.11
DbGrid, DateTimePicker и прокрутка


11-1102062843
TraideR
2004-12-03 11:34
2005.07.11
XP Manifest


3-1117222276
Starcom
2005-05-27 23:31
2005.07.11
Как вычис Кол-во лет имея дату занесения и тек в Paradox...


3-1117022451
PHilosoPH!
2005-05-25 16:00
2005.07.11
Загрузка изображения из *.jpg файла в BLOB-поле через TDBImage





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский