PDA

View Full Version : تعریف تابع با تعداد پارامتر ورودی نا معلوم و نوع نامعلوم



مهدی فهمیده غلامی
سه شنبه 27 اردیبهشت 1384, 22:41 عصر
توی دلفی چطور میشه یک تابع با تعداد پارامتر متغیر تعریف کرد در ضمن نوعشون هم مشخص
نباشه؟

vcldeveloper
چهارشنبه 28 اردیبهشت 1384, 02:40 صبح
توی دلفی چطور میشه یک تابع با تعداد پارامتر متغیر تعریف کرد در ضمن نوعشون هم مشخص
نباشه؟
Variant open array parameters


procedure DoSomething(A: array of const);

این نوع از پارامترها در راهنمای دلفی توضیح داده شده اند.

اگر فقط می خوایید که نوع پارامترها مشخص نباشه:
Untyped parameters


procedure DoSomething(const A);

البته این نوع پارامترها باید بصورت var,const یا out تعریف بشند. راهنمای دلفی این نوع از پارامترها رو هم کاملا توضیح داده.

موفق باشید.

majid_afra222
چهارشنبه 28 اردیبهشت 1384, 08:49 صبح
سلام
دلفی نوع داده variant و olevariant رو برای نوعهای داده ای نامعلوم داره
می تونی این نوع داده رو به هر نوع داده دیگه تبدیل کنی٬‌هم یک داده تک باشه از هر نوعی٬‌هم اینکه می تونه یه آرایه از هر نوعی باشه
پس اگه داده ورودی تابع هم این نوع باشه٬‌یه تابع با هر نوع ورودی و هر تعداد رو خواهی داشت.
اینم یه مثال کوچیک :

تعیین متغیر و تعیین مقدار برای متغیر :


var
Data : Variant;
...
Data := VarArrayCreate([0, 2, 0, 3], varOleStr); //تعریف یک آرایه از نوع string
for i ;= 0 to 2 do
begin
for j := 0 to 3 do
begin
data[i,j] := 'هر مقداری';
end;
end;

فراخوانی رویه :

GetData(Data);
تعریف رویه


procedure GetData(var Data : Variant);
پیاده سازی رویه:


procedure TFormMain.GetData(var Data : Variant);
begin
//کار با مقادیر ارسال شده
end;

فقط uses variants یادت نره.

امیدوارم به دردت بخوره.

مهدی فهمیده غلامی
چهارشنبه 28 اردیبهشت 1384, 21:08 عصر
با تشکر از دوستان
اما اگر بخواهیم همین تابع رو در اینترفیس تعریف کنیم
اونوقت توی پیاده سازی کلاسی که از اون اینترفیس صورت میگیره چطور باید اون تابع رو پیاده سازی کرد؟