تبليغاتX
برنامه نویسی با دلفی

برنامه نویسی با دلفی

ساختار رکوردها در دلفی

ساختار رکوردها در دلفی

یک ساختار تعریف شده در پاسکال موضوعی تحت عنوان record می‌باشد. رکوردها را می‌توان یک نوع داده که خود شامل چندین نوع داده دیگر است در نظر گرفت. برای تعریف رکوردها بصورت زیر عمل می‌کنیم:

type recordTypeName = record
   fieldList1: type1;
   ...
   fieldListn: typen;
end


پس از اینکه نوع رکورد ایجاد شد، باید متغییرهایی از نوع این رکورد تعریف واز آنها استفاده کرد. برای تعریف متغییر نوع رکورد به صورت زیر عمل می‌شود:

type
   TDateRec = record
   Year: Integer;
   Month: (Jan, Feb, Mar, Apr, May, Jun, 
               Jul, Aug, Sep, Oct, Nov, Dec);
   Day: 1..31;
end;

var
   Record1, Record2: TDateRec;


هنگام کار با یک رکورد برای دستیابی به میدان‌های آن، از نماد نقطه استفاده میکنیم:

Record1.Year := 1904;
Record1.Month := Jun;
Record1.Day := 16;


همچنین می‌توان یک رکورد را در یک رکورد دیگر کپی کرد بدون اینکه با خطائی مواجه شویم. شما همچنین می‌توانید متغییرهای از نوع رکوردهای خود را به صورت مستقیم تعریف کنید:

var S: record
   Name: string;
   Age: Integer;
end;



رکوردهای با طول متغییر
نوع رکورد را می‌توان طوری تعریف کرد که طول بخشی از آن ثابت و طول بخش دیگری بر اساس شرایط فیلدها متغییر باشد. در زیر یک مثال و در ادامه آن جدولی از حافظه‌ای که اشغال می‌شود آورده شده است.

type
   TPartType = (ptComputer, ptMonitor, ptComponent);
   TPart = record
      PartNumber : String[15];
      Description : String[30];
      Price : Double;

      case PartType : TPartType of
         ptComputer: (CPU : String[10]; Speed : String[10]; HardDrive : String[10]);
         ptMonitor: (VideoType : String[10]; Size : String[5]; DotPitch : String[5]);
         ptComponent: (Internal : Boolean; Specs : String[29]);
end;


این تعریف به کامپایلر می گویید که تنها یکی از متغییرهای مجموعه case را برای استفاده در هر رکوردی انتخاب کند. این یک راهکار بسیار خوب برای استفاده از حافظه می باشد؛ زیرا حافظه یکسانی برای هر مجموعه‌ای از متغییرها در نظر گرفته می‌شود.

بایت نام متغییر نام متغییر نام متغییر
0 PartNumber
15 Description
45 Price
53 PartType
54 CPU VideoType Internal
55 Specs
64 Speed Size
69 DotPitch
74 HardDrive


دسترسی به یک بایت
بعضی مواقع، هنگامیکه با یک API خارجی کار می‌کنید، احتیاج دارید که اطلاعاتی از نوع Word یا Longint را به نوع‌های دلخواه بشکنید. به عنوان مثال TMSF را بصورت زیر در نظر بگیرید:

Most Significant Byte Least Significant Byte
Unused Frames Seconds Minute

ساختار TMSFRec رو بصورت زیر تعریف می‌کنیم:

type
   TMSFRec = record
      Minutes : Byte;
      Seconds : Byte;
      Frames : Byte;
      Dummy : Byte;
end;

در این حالت ما می‌توانیم به راحتی به هر یک از بایت‌های نوع Longint دسترسی داشته باشیم:

begin
   MinuteLbl.Caption := IntToStr(TMSFRec(Position).Minutes);
   SecondLbl.Caption := IntToStr(TMSFRec(Position).Seconds);
   FrameLbl.Caption := IntToStr(TMSFRec(Position).Frames);
end;

در مثال قبل، Position متغییری از نوع Longint می‌باشد.
نوشته شده توسط ابراهیم خدائی در چهارشنبه پانزدهم فروردین 1386 ساعت 2:45 | لینک ثابت |

منوی اصلی

صفحه نخست
آرشيو وبلاگ
پروفایل مدیر وبلاگ
عناوین مطالب وبلاگ
درباره دلفی
نكات مفيد براي كار در محيط دلفي
دلفی NET.
مقدمات دلفی
برنامه ها‎ ‏و مثالهای‎ دلفی
کامپوننتهای دلفی

درباره ی ما


این وبلاگ برای توسعه برنامه نویسی دلفی با ارائه ابزارها و مثالها و توضیحات کامل شروع به کار کرده که امیدواریم دوستان عزیز با ارائه نظرات و پیشنهادات خود ما را در این راه یاری نمایند تا بتوانیم قدم کوچکی در توسعه این زبان برنامه نویسی قدرتمند اما راحت داشته باشیم.

با تشکر: ابراهیم خدائی

پیوند های روزانه

آرشیو

پیوند های وبلاگ

دانشگاه نبی اکرم (ص)
سايت اختصاصي كامپيوتر ورودی 85
سازمان فناوری اطلاعات و ارتباطات
وزارت علوم و تحقیقات و فناوری
سازمان سنجش آموزش کشور
سایت دکتر مهدوی
قالب وبلاگ
جستجوگر قالب وبلاگ

آخرین پست ها

سری جدید کامپوننت برای دلفی 7
کدها ومثالها و ترفندهای دلفی
دانلود کامپوننت
5 کامپوننت برای دانلود
آموزش نصب انواع کامپوننتها در دلفی
کار با تلفن و مودم با استفاده از کامپوننت KDTele
راهنما
الگوريتم تبديل تاريخ ميلادي به تاريخ شمسي همراه با کد کامل آن به زبان دلفی
بخشی از ويژگيهای جديد Borland Developer Studio 2006
Graphics Device Interface
Borland Developer Studio 2006 (دلفی 2006)
بورلند استودیو در یک نگاه
فایل های INI در دلفی
ساختار رکوردها در دلفی
آرایه ها در دلفی
استفاده از DLL در دلفی
انواع متغیر ها در دلفی
مدیریت حافظه در دلفی
گزارش از دلفي 9- Delphi 2005
حركت از دلفي به دلفي NET.
تكنولوژي NET.
تاریخچه دلفی
نكات مفيد براي كار در محيط دلفي
سال خوک

RSS

POWERED BY
BLOGFA.COM

کلیه ی حقوق مادی و معنوی وبلاگ ebrahimkhodaei محفوظ می باشد.
طراحی شده توسط یاس تم