نمایش نتایج: از شماره 1 تا 10 , از مجموع 10

موضوع: آموزش جامع زبان برنامه نويسي Delphi (دلفي)

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #4
    ناظم ارشد انجمن
    شاید من بی عیب نباشم اماتوهم نیستی...پس برو وپیش از شمارش اشتباهات من به خطاهای خودت رسیدگی کن
    تاریخ عضویت
    Feb 2010
    محل سکونت
    زیر ی سقف کنار عزیزترینم
    نوشته ها
    12,484
    تشکر تشکر کرده 
    190
    تشکر تشکر شده 
    12,809
    تشکر شده در
    3,688 پست
    حالت من : Relax
    قدرت امتیاز دهی
    11331
    Array

    پیش فرض

    آرایه‌ها در دلفی
    دلفی به ما امکان می دهد آرایه‌هایی از هر نوع متغییری را ایجاد کنیم. برای تعریف آرایه به صورت زیر عمل میکنیم:
    کد:
    var  
    array[indexType1, ..., indexTypen] of baseType;
    در این تعریف برای نامگذاری آرایه، از قانون نامگذاری متغییرها استفاده میکنیم و مقدار اولیه را نیز درون یک جفت کروشه قرار می دهیم.

    نکته: شما می توانید به جای استفاده از کروشه [] از ترکیب پرانتز نقطه استفاده کنید:
    کد:
     d(.i.):= 3 + i; // Equivalent  d:= 3 + i;
    نکته: وقتی که شما یک آرایه را تعریف می کنید احتیاجی ندارید که به آن مقدار کمترین یا بیشترین بدهید:
    کد:
    var 
    A : array [Boolean] of integer;  
    begin 
    A[True] := 50; 
    A[False] := 100; 
    end;
    نکته: توابع Low و High کران‌های پایین وبالای یک متغییر آرایه‌ای یا نوعی یا ترتیبی را بر میگردانند:
    کد:
    for I := 0 to High(X) do S := S + X;
    آرایه‌های ثابت:
    آرایه های ثابت می توانند توسط ساختار ثابت نوع دلفی تعریف شود. نوع ثابت که همیشه با عبارت Const تعریف می شود، نه تنها مانع تغییر مقدار پارامتر می شود، بلکه کدهای بهینه بیشتری برای رشته‌ها و رکوردهای رد شده به توابع تولید می کند. ما هنگامی از این نوع استفاده می کنیم که نخواهیم مقدار رد شده به یک تابع تغییر کند.
    کد:
    type 
    TDay = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday,  Saturday); 
    
    const 
    DayNames : array [TDay] of String[9] = ('Sunday',  'Monday', 'Tuesday', 
    'Wednesday', 'Thursday', 
    'Friday', 'Saturday');  
    var 
    Today : TDay; 
    
    begin 
    Today := TDay(DayOfWeek(Date) - 1);  
    ShowMessage('Today is ' + DayNames[Today] + '!'); 
    end;
    آرایه‌های دینامیکی:
    آرایه‌های دینامیکی، آرایه‌های تحلیلی پویایی هستند که ابعاد آنها موقع کامپایل شدن شناخته شده نیست. برای اعلان آنها کافی است یک آرایه بدون بعد تعریف کنید:
    کد:
     var MyFlexibleArray: array of Real;
    قبل از به کار گیری آرایه‌های دینامیکی، ابتدا باید از رویه SetLength برای تخصیص حافظه آرایه استفاده کرد:
    کد:
    SetLength (MyFlexibleArray, 2; (
    نکته: آرایه‌های دینامیکی همیشه مبتنی بر صفر می باشند.

    نکته: شما می‌توانید آرایه‌های دینامیکی را قبل از رسیدن به ترک قلمرو از حافظه خارج کنید:
    کد:
     MyFlexibleArray := nil;
    نکته: مقدار حافظه‌ای که در اختیار آرایه قرار میگیرد، به طول آرایه ونوع عناصر آن بستگی دارد. به عنوان مثال اگر آرایه‌ای از نوع صحیح به طول 10 داشته باشیم 4*10 بایت حافظه به آن اختصاص می‌یابد.


    فشرده‌سازی آرایه‌ها:
    در دلفی شما هنگامی که ساختار خود را تعیین کردید می‌توانید با استفاده از کلمه کلیدی packed اطلاعات ذخیره شده خود را متراکم کنید:
    کد:
    type TNumbers = packed array[1..100] of Real;
    نکته: استفاده از packed سرعت دسترسی به اطلاعات را کند میکند. در مورد آرایه‌ای از کاراکترها این مورد سازگارتر می‌باشد.


    آرایه‌های چند بعدی دینامیکی:
    برای تعریف آرایه‌های چند بعدی دینامیکی، تنها کافی است ...array of را در ساختار خود تکرار کنید. به طور مثال:
    کد:
    type 
    TMessageGrid = array of array of string;  
    
    var 
    Msgs: TMessageGrid;
    این تعریف یک آرایه دو بعدی از رشته‌ها می باشد. سپس باید به آرایه خود فضا نسبت داد:
    کد:
    SetLength(Msgs, I, J);
    شما می‌توانید آرایه‌های چند بعدی دینامیکی خود را به صورت غیر مستطیلی (Not Rectangular) ایجاد کنید. ابتدا رویه SetLength را صدا زده و پارامتر بعد اول را بدهید:
    کد:
    var 
    Ints: array of array of Integer; 
    
    SetLength(Ints,  10);
    ما 10 سطر به آرایه خود اختصاص دادیم. از این پس، شما می توانید ستونهای خود را در هر زمان (با اندازه‌های مختلف) تخصیص دهید:
    SetLength(Ints[2], 5);
    [SIGPIC][/SIGPIC]

  2. 2 کاربر مقابل از mehraboOon عزیز به خاطر این پست مفید تشکر کرده اند.


برچسب ها برای این تاپیک

علاقه مندی ها (بوک مارک ها)

علاقه مندی ها (بوک مارک ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

http://www.worldup.ir/