View Full Version : class procedures
Farhad.B.S
چهارشنبه 13 فروردین 1382, 19:21 عصر
سلام.
میخواستم بدونم فرق procedure هایی که در یک کلاس هست و با کلمه class آغاز میشه چه فرقی با procedureهای معمولی داره ؟
ممنون.
DelphiAmateur
پنج شنبه 14 فروردین 1382, 07:24 صبح
دوست عزیز
در دلفی همه پروسیجر ها عضو کلاسی هستند،پروسیجر های که در برنامه های معمولی می سازیم ویا دلفی می سازد
(مثلprocedure TForm1.Button1Click(Sender: TObject); )
عضو کلاس TForm1 هستند.
در مورد دوم اگه منظورت پروسیجر هایی مثل اینه:
procedure YourClassName.YourProcedureName;
begin
{Do Some Actions You want}
end;
اینها پروسیجرهایی هستند که در کلاسی که خودمان تعریف می کنیم بکار می روند و برای احضار آن در کلاسهای دیگر و پروسیجر های عضو کلاسهای دیگر مثل:
procedure TForm1.Button1Click(Sender: TObject));
به این صورت عمل می کنیم:
procedure TForm1.Button1Click(Sender: TObject);
var
YourClass1 : YourClassName;
begin
YourClassName.YourProcedureName;
.;
.
.
.
end;
end.
امیدوارم جوابت رو گرفته باشی
Farhad.B.S
پنج شنبه 14 فروردین 1382, 10:06 صبح
ممنون از پاسختون ولی منظور من Procedure هایی به این شکله :
Class Procedure MyProccname(param);
یا
Class Function MyFuncname(params) : type
Inprise
پنج شنبه 14 فروردین 1382, 10:31 صبح
مسئله : دسترسی به بخشی از یک کلاس بدون ساختن یک نمونه ( آبجکت ) از آن کلاس
راه حل : تعریف کلاس پراسیجر .
توضیح : بدون ساختن نمونه ای از یک کلاس عموما ممکن نیست از توانائی های موجود در آن کلاس استفاده کنیم . لذا با تعریف کلاس گونه فانکشنها و پراسیجرهای یک کلاس و با استفاده از نام کلاس میتوان از انها استفاده کرد .
مثال :
تعریف کلاس :
type
MyClass = class(TObject)
Private
MyClass_Value : Integer // یک متغیر برای کار داخلی کلاس
public
class function Value : Integer;
class procedure SetValue( v : Integer );
end;
پیاده سازی کلاس :
class function MyClass.Value : Integer;
begin
SharedValue:=MyClass_SharedValue
end;
class procedure MyClass.SetValue( v : Integer );
begin
MyClass_SharedValue:=v
end;
استفاده از کلاس بطور مستقیم :
a:=MyClass.Value*100;
MyClass.SetValue( a );
موفق باشید .
اینپرایز پاسخ تشریحی :roll:
مهرداد برنامه نویس
یک شنبه 29 شهریور 1383, 14:25 عصر
دستتون درد نکنه
vBulletin® v4.0.8, Copyright ©2000-1391, Jelsoft Enterprises Ltd.