ما هى ميزة record ؟
#4
للفائدة أكثر
هذا مثال توضيحي

PHP كود :
type
  TMyRecord 
= record
    Byt
: Byte;
 
   Int: Integer;
 
   Str: ShortString;
 
 end;
var
 
 MyRecord: TMyRecord;
 
 MS: TMemoryStream;
begin
  MS 
:= TMemoryStream.Create;
 
 try
    ZeroMemory
(@MyRecord, SizeOf(TMyRecord));
 
   MyRecord.Byt := 255;
 
   MyRecord.Int := 2016;
 
   MyRecord.Str := 'Delphi4Arab';
 
   // Save to MyFile.bin
 
   MS.WriteBuffer(MyRecord, SizeOf(TMyRecord));
 
   MS.SaveToFile('MyFile.bin');
 
   // Load from MyFile.bin
 
   ZeroMemory(@MyRecord, SizeOf(TMyRecord));
 
   MS.Clear;
 
   MS.LoadFromFile('MyFile.bin');
 
   MS.ReadBuffer(MyRecord, SizeOf(TMyRecord));
 
   // Save to MyFile2.bin
 
   MyRecord.Int := 1954;
 
   MS.Clear;
 
   MS.WriteBuffer(MyRecord, SizeOf(TMyRecord));
 
   MS.SaveToFile('MyFile2.bin');
 
 finally
    MS
.Free;
 
 end;
end; 

عرفنا الحقل TMyRecord يتكون من ثلاث متغيرات لأنواع مختلفة
قمنا بتصفير كل القيم الإفتراضية التي يحملها الحقل
بعدها ملأنا كل  الأقسام
قمنا بكتابة كل داتا الموجودة في  الحقل إلى الملف MyFile.bin
أعدنا تصفير الحقل
ثم قمنا بتحميل الملف MyFile.bin وإعادة ملأ الحقل من جديد
ثم إعادة إسناد قيمة أخرى للمتغير Int
ثم اعدنا كتابة داتا من جديد في الملف MyFile2.bin

من خلال إستعمال record نجد أنه هناك سهولة في تعامل معا هذه داتا حفظ ها وإعادة تحميلها
خاصتا إذا كانت كل متغيرات الحقل لا تحمل تعريف (array of)
سبحان الله وبحمده سبحان الله العظيم
الرد


الردود في هذا الموضوع
ما هى ميزة record ؟ - بواسطة karika2 - 18-01-2016, 04:20 PM
RE: ممكن استفسار عن السجل record ...؟ - بواسطة Agmcz - 18-01-2016, 11:29 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم