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