تبلیغات
برنامه نویسی و الکترونیک - استفاده از آرایه به عنوان ورودی و خروجی تابع ( دلفی )
 
منوی اصلی


--------------------------

--------------------------

--------------------------

--------------------------


سفارش پروژه

E-Mail :
Mahmood_Mehri@Hotmail.com

سایت برنامه نویس :  Mahmood_M


موضوعات

دانلود نرم افزار
 
تخصصی برنامه نویسی
  تخصصی برق ( الکترونیک )
  کامپوننت ها و ابزارها
  نرم افزارهای متفرقه
برنامه نویسی
  مباحث عمومی
  آموزش Delphi

  آموزش زبان C++ / C
 
آموزش Matlab

  آموزش زبان Assembly
  آموزش DataBase

الکترونیک
  مباحث عمومی
  مباحث عمومی الکترونیک
  معرفی قطعات الکترونیکی
  کار با مولتی متر
  مدارات الکترونیک
  میکروکنترلر
  میکروکنترلرهای AVR
  پروژه ها
مباحث متفرقه
  آموزشهای متفرقه
  معرفی سایت
  معرفی کتاب
  پاسخ به سئوالات
  مطالب عمومی


لینك دوستان
:: جک :: اس ام اس :: عکس
:: الکترونیک 89 گیلان
:: سورسهای نرم افزاری
:: اینترنت بدون تحریم
:: علمی.کتاب.مجله.نرم افزار.مقاله
:: مبارزات آزاد
:: برنامه نویسی از اهل زمین
:: :: جزیره ی دانلود ::
:: :: کامپیوتر و IT ::
:: بزرگترین پایگاه مدل لباس اینترنتی
:: مرکز دانلود ایرانیان
:: پایگاه علمی مهندسی تراشه
:: تمامی راهکارهای کامپیوتری
:: برنامه نویسی و طراحی وب
:: خرید ساعت دیواری
:: :: فناوری روز ::
:: :: همه چیز واسه موبایل ::
:: آموزش تخصصی کامپیوتر
:: * پیاز داغ اینترنت ! *
:: جدیدترین موزیکها و نرم افزارها
:: دانلود سورس ویژوال بیسیک
:: امپراطور دانلود و آموزش
:: موبایل و کامپیوتر
:: جدیدترین آهنگهای هفته
:: درباره ی دلفی !
:: برنامه نویس
:: پروژه های رایگان و آموزش ++C
:: ابراهیم آنلاین

 : " استفاده از آرایه به عنوان ورودی و خروجی تابع ( دلفی ) " :
 
سلام ...
یك مقاله ی كوتاه توی سایت برنامه نویس گذاشتم ، گفتم توی وبلاگ هم بزارم بد نیست ... !
در این مقاله ی كوتاه یاد می گیریم كه چطور در زبان دلفی یك آرایه رو به عنوان ورودی و خروجی یك تابع یا یك Procedure قرار بدیم ...
بدون مقدمه میریم سر اصل مطلب ...

فرض كنید آرایه ای داریم به صورت زیر :

A : array[0..9] of Integer;

استفاده به عنوان ورودی :
می خوایم این آرایه رو به عنوان ورودی به یك تابع ارسال كنیم ، آیا می تونیم به صورت زیر عمل كنیم :

function DoIt(A : array[0..9] of Integer): Integer;
begin

end;

با اجرای كد بالا مشاهده می كنید كه كامپایلر مقدار ورودی رو قبول نمی كنه !
اما راه حل ...
می تونیم آرایه رو به عنوان یك Type تعریف كنیم :

type
TMyArray = array[0..9] of Integer;

حالا می تونیم تابع رو به صورت زیر تعریف كنیم :

function DoIt(A : TMyArray):Integer;
begin

end;

برای یك Procedure هم میشه به همین صورت عمل كرد :

procedure DoIt(A : TMyArray);
begin

end;

استفاده به عنوان خروجی :

برای استفاده به عنوان خروجی هم به صورت زیر میشه استفاده كرد :

function DoIt(I : Integer) : TMyArray;
begin

end;

برای اینكه موضوع بهتر جا بیفته یك مثال رو بررسی می كنیم :
می خواهیم دو گروه ده تایی از اعداد رو به تابعی بفرستیم و درون تابع اعداد هم Index رو ( مثلا اولی با اولی و ... ) با هم جمع كنیم و در نهایت حاصل رو به عنوان یك گروه ده تایی عدد بدست بیاریم !
ابتدا یك آرایه ی 10 عضوی مانند بالا به عنوان یك Type تعریف می كنیم :

type
TNums = array[0..9] of Integer;

سه متغیر از نوع TNums و تابعی كه باید این كار رو انجام بده رو هم تعریف می كنیم :

var
  ...
  N1, N2, Sum : TNums;

implementation
 
{$R *.dfm}

function SUMIT(Num1, Num2 : TNums) : TNums;
var
I : Integer;
begin
for I := 0 to 9 do
begin
Result[I] := Num1[I] + Num2[I];
end;
end;

نحوه ی كار تابع هم ساده هست و فكر نمی كنم نیاز به توضیح داشته باشه ...
به عنوان یك مثال به صورت زیر می تونیم به N1 و N2 مقدار بدیم و از تابع استفاده كنیم :

var
I : Integer;
begin
for I := 0 to 9 do
begin
N1[I] := I;
N2[I] := 10 - I;
end;
Sum := SumIt(N1, N2);
end;

در كد بالا N1 از 0 تا 9 و N2 از 10 تا 1 مقدار دهی می شن ، این مقادیر رو به تایع ارسال می كنیم و آرایه ی حاصل كه از نوع TNums هست در متغیر Sum قرار می گیره كه مقدار تمام عناصرش هم 10 هست !

یك سئوال : می تونید بگید چرا تمام عناصر آرایه ی حاصل مقدار 10 دارند ؟! 

امیدوارم مفید بوده باشه ، نظر یادتون نره ... 

موفق باشید ... 
 

 :: لینك ثابت نویسنده : محمود مهری نظرات Comment

مطالب اخیر

معرفی کانال و گروه های تلگرام
استفاده از Component Template ها در دلفی
مقاله : نحوه ی استفاده از پنل پیامک در نرم افزار
E-Book :: راه اندازی موتورهای DC و پله ای با استفاده از میکرو کنترلر AVR
آشنایی با عملگرهای بیتی ( Bitwise Operators )
تست دیود و ترانزیستور با مولتی متر
دلفی :: ارسال آرایه به حافظه ی Clipboard
یک سایت فوق العاده برای علاقه مندان به علم فیزیک
مداری برای نمایش عبور جریان برق از بدن !!
سال نو مبارک ...
آدرس وبلاگ !
ساخت یک LED فلاشر با میکروکنترلر AVR ATMega16A
آشنایی با کاربرد " رله " ( Relay ) در مدار
کار با ماتریسها در Matlab
SQL :: آشنایی با دستور شرطی WHERE


صفحات وبلاگ :