PDA

View Full Version : مقدار اولیه



rsheytoonak
چهارشنبه 22 خرداد 1387, 19:45 عصر
سلام میخواستم بدونم اگه یه متغیر به صورت public تعریف شده باشه بخوام مقدار اولیه خارج از procedure به متغییر بدم کجا باید مقدار اولیه بدم

اصغر (پآچ)
چهارشنبه 22 خرداد 1387, 20:46 عصر
سلام دوست من

حالا این چکاریه که خارج از رویه بخوای مقدار دهی کنی؟

همون اول رویه مقدارش رو عوض کن. اگه هم می خوای قبل از فراخوانی رویه مقدار دهی کنی توی OnShow فرم بهش مقدار دهی کن. البته من یه جایی خوندم می تونی به روش زیر به یه متغییر مقدار بدی اما نمی دونم چرا هیچ وقت برای من کار نکرده اشکالش نمی دونم کجاست!



Public
MyInteger: Integer = 100;


به علامت مساوی گیر میده اگه کسی از دوستان میدونه مقدار دهی اولیه چه مشکلی داره تو این دستور کمک کنه ممنون میشم.

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

vcldeveloper
پنج شنبه 23 خرداد 1387, 02:00 صبح
به این کار نمیگن تعریف متغیر در بخش Public، بلکه بهش میگن تعریف متغیر Global.
می تونید متغیر Global را در همون زمان تعریفش مقداردهی کنید:


var
MyVariable : integer = 20;

یا اینکه آن را در تابع یا رویه ایی که قبل از تابع مورد نظر شما اجرا میشه، مقداردهی کنید:


Procedure Init;
begin
MyVariable := 20;
end;

procedure DoSomething;
begin
ShowMessage(IntToStr(MyVariable));
end;

begin
Init;
DoSomething;
end;

hosseinmehr
یک شنبه 26 خرداد 1387, 12:35 عصر
تو بخش Initialization می تونی این کار را انجام بدی:
بعد از تمام رویه و قبل از End انتهای یونیت ب صورت زیر:


initialization
a := 10;
end;