• 0
أحمد أبو عبد البر

الدرس السادس في لغة Object pascal : السجلات

سؤال

بسم الله الرحمن الرحيم

السجلات Records

 

كما لاحظنا أن المصفوفات تحتوي على مجموعة متغيرات من نوع واحد، فإن السجلات تجمع بين مجموعة من أنواع مختلفة تسمى حقول Fields، ولكنها تمثل كيان واحد. مثلاً إذا افترضنا أننا نريد تسجيل معلومات سيارة، فنجد أن هذه المعلومات هي:

 

  1. نوع السيارة: متغير مقطعي

  2. سعة المحرك: حدد حقيقي (كسري)

  3. سنة التصنيع: متغير صحيح

فلايمكن التعبير عن هذه الأنواع المختلفة كوحدة واحدة إلا بإستخدام السجل كما في المثال التالي:

 

program Cars;{$mode objfpc}{$H+}uses  {$IFDEF UNIX}{$IFDEF UseCThreads}  cthreads,  {$ENDIF}{$ENDIF}  Classes  { you can add units after this };type  TCar = record    ModelName: string;    Engine: Single;    ModelYear: Integer;  end;var  Car: TCar;begin  Write('Input car Model Name: ');  Readln(Car.ModelName);  Write('Input car Engine size: ');  Readln(Car.Engine);  Write('Input car Model year: ');  Readln(Car.ModelYear);  Writeln;  Writeln('Car information: ');  Writeln('Model Name  : ', Car.ModelName);  Writeln('Engine size : ', Car.Engine);  Writeln('Model Year  : ', Car.ModelYear);  Write('Press enter key to close..');  Readln;end.

 

 

في المثال السابق نجد أننا قمنا بتعريف نوع جديد بإستخدام الكلمة المفتاحية type :

 

type  TCar = record    ModelName: string;    Engine: Single;    ModelYear: Integer;  end;

 

 

 

وسمينا هذا النوع الجديد TCar والحرف T هو من كلمة Type حتى نفرق بينه وبين المتغيرات.

وهذا النوع الجديد الذي يمثل سجل Record يحتوي على ثلاث أنواع كما يظهر في المثال.

 

وعندما نريد استخدام هذا النوع الجديد لابد من تعريف متغير يمثل هذا النوع، حيث لايمكننا استخدام النوع TCar مباشرةً كما لايمكننا إستخدام النوع Integer مباشرة إلا بعد تعريف متغير مثلاً I أو Num. لذلك قمنا بتعريف المتغير Car من النوع TCar في بند المتغيرات:

 

var  Car: TCar;

 

 

وعندما نريد إدخال قيم للمتغيرات أو طباعتها نستخدم هذه الطريقة للوصول لمتغير ما في سجل:

 

  Car.ModelName

 

 

في درس الملفات ذات الوصول العشوائي إن شاء الله سوف نستفيد فائدة مباشرة من السجلات التي تمثل ركن أساسي في قواعد البيانات.

 

=================================================

الدورة منقولة من كتاب الأستاذ الفاضل معتز عبد العظيم

تم تعديل بواسطه أحمد أبو عبد البر
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

0 إجابة على هذا السؤال .

لاتوجد إجابات على هذا السؤال حتى الآن .


  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .