![]()  | 
![]() ![]() ![]() ![]()  | 
   
 | 
Использовать Запись для сохранения информации из свойств различных классовDelphi , Синтаксис , Записи и МножестваИспользовать Запись для сохранения информации из свойств различных классов
Оформил: DeeCo 
{ 
    Es ist manchmal interessant, Informationen die zusammen gehoren in Records 
    abzuspeichern. In einer Klassendeklaration kann der Record dann als 
    Sammelstelle benutzt werden, was zum einen die Ubersichtlichkeit des 
    Programmes erhoht, zum anderen eine gewisse Logik widderspiegelt. 
    Der Zugriff auf die einzelnen Felder des Records kann von au?erhalb 
    der Klasse mittels Eigenschaften (Properties) erfolgen, was zu besseren 
    Code fuhrt... 
    Letzlich konnen Records z.B. sehr einfach dann in Dateien abgespeichert 
    bzw. von dort aus wieder geladen werden. This wird dann in einem einzigen 
    Vorgang erledigt: das Speichern des Records. 
}
 { 
   You sometimes wish to store multiple information in a given class like 
   in the example: alltogether when it belongs together. 
   Thus accessing this information from out of the class can be achieved 
   using property declaration. Its a good way to "clean your code" and 
   make it as "logic" as possible. 
   You also may have to store or load information from your class using 
   file or stream technology. This can be done at once for the recorded 
   information from within the given class. 
}
 type
   TPersonRecord = Record
      FirstName: String;
      LastName: String;
      BirthDate: TDate;
      End;
   TForm4 = class(TForm)
     Button1: TButton;
     procedure Button1Click(Sender: TObject);
   private
     fActualUser: TPersonRecord;
     ...
     procedure SaveActualUser(S: TFileStream); // it's an example 
    procedure LoadActualUser(S: TFileStream);
     ...
   public
     property FirstName: string read  fActualUser.FirstName
                                write fActualUser.FirstName;
     property LastName : string read  fActualUser.LastName
                                write fActualUser.LastName;
     property BirthDate: TDate  read  fActualUser.BirthDate
                                write fActualUser.BirthDate;
   end;
 procedure TForm4.SaveActualUser(S: TFileStream);
 begin
   // All that stuff at once in your Stream 
  S.Write(fActualUser, SizeOf(fActualUser))
 end;
 procedure TForm4.LoadActualUser(S: TFileStream);
 begin
   // All that stuff at once back in your class 
  S.Read(fActualUser, SizeOf(fActualUser));
 end;
Этот код демонстрирует использование рекорда для хранения информации о человеке и сохранения/загрузки этой информации из потока файла. Тип  Класс  Процедура  Процедура  Использование рекордов в этом смысле может упростить код и сделать его более эффективным при работе с большими объемами данных. Это также позволяет легко сериализовать и десериализовать объекты, что полезно для хранения и загрузки данных из файлов или баз данных. Рекомендуется улучшение:
Вместо использования функции  Например: Таким образом, если размер рекорда изменится в будущем, вам нужно только обновить значение константы и не все случаи использования  Статья описывает использование записи (Record) для сохранения информации из свойств различных классов в Delphi. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш  :: Главная :: Записи и Множества :: 
  | 
||||
 ©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007  | ||||