![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Использовать Запись для сохранения информации из свойств различных классов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 |