Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Копирование компонента через TFileStream

Delphi , Компоненты и Классы , Компоненты

Копирование компонента через TFileStream

Автор: Mike Scott

1) Существует способ присваивания всех свойств одного элемента управления (объекта) другому?

С определенными объектами, которые, обычно, являются обертками элементов управления Windows типа TFont и TBitmap, с помощью метода Assign, копирующего "внутренности" объекта. Вы можете сделать Font1.Assign( Font2 ). Тем не менее, такое возможно не со всеми объектами.

Возможно копирование объекта с помощью потока. Вам нужно записать это в поток, и затем прочесть это оттуда. Но это как раз плавно перетекает в ваш следующий вопрос...

2) Как мне сохранить объект a) в записи в файле данных Paradox и б) в файле на диске?

Для записи на диск используйте поток. Объект должен быть компонентом и его можно записать на диск следующим образом:


var 
  Stream: TFileStream ;
begin
  Stream := TFileStream.Create( 'AFile', fmCreate ) ;
  try
    Stream.WriteComponent( Button1 ) ;
    Stream.WriteComponent( Grid1 ) ; и т.д.
  finally
    Stream.Free ;
  end ;
end ;

Для чтения объекта необходимо следующее:


var 
  Stream : TFileStream ;
  Button2 : TButton ;
  Grid2 : TStringGrid ;
begin
  Stream := TFileStream.Create( 'AFile', fmOpenRead ) ;
  try
    Button2 := Stream.ReadComponent( nil ) as TButton ;
    Grid2 := Stream.ReadComponent( nil ) as TStringGrid ; и т.д.
  finally
    Stream.Free ;
  end ;
end ;

В каком-то месте вам необходимо зарегистрировать классы, которые вы хотите писать и читать. Например, вы могли бы создать следующий обработчик события формы OnCreate:


RegisterClass( TButton ) ;
RegisterClass( TStringGrid ) ;

Если классы не зарегистрированы, то при попытке чтения объекта вы получите ошибку 'Class not found' (класс не найден).

Статья Копирование компонента через TFileStream раздела Компоненты и Классы Компоненты может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Компоненты ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
19.04.2024 13:31:43/0.038187980651855/2