View Full Version : دسترسي به متغير سراسري
JalaliMehr
یک شنبه 27 تیر 1389, 13:18 عصر
سلام.
تو دلفي اگر تو procedure يك متغير داشته باشيم به نام a كه اون به صورت سراسري هم تعريف شده هر وقت بخايم داخل procedure به اون متغير سراسري a دسترسي داشته باشيم چطوريه؟
اگر تو يك function يه function ديگه داشته باشيم بخايم به result مربوط به function بالايي دستيابي داشته باشيم چطوريه؟
مصطفی ساتکی
یک شنبه 27 تیر 1389, 13:58 عصر
تو دلفي اگر تو procedure يك متغير داشته باشيم به نام a كه اون به صورت سراسري هم تعريف شده هر وقت بخايم داخل procedure به اون متغير سراسري a دسترسي داشته باشيم چطوريه؟
نام unit رو به همراه نام متغير استفاده كنيد.
Unit1.Var1
اگر تو يك function يه function ديگه داشته باشيم بخايم به result مربوط به function بالايي دستيابي داشته باشيم چطوريه؟
مستقيم به نام function اشاره كنيد.مثلاً
Parentfunction := Value;
pezhvakco
چهارشنبه 30 تیر 1389, 20:21 عصر
درود :
تو دلفي اگر تو procedure يك متغير داشته باشيم به نام a كه اون به صورت سراسري هم تعريف شده هر وقت بخايم داخل procedure به اون متغير سراسري a دسترسي داشته باشيم چطوريه؟
شما یه متغییر عمومی و یه متغییر محلی هم نام داری ؟ بهتره نام ها یکسان نباشه .
برای دسترسی به متغییری که در قسمت public تعریف شده، باید از اسم فرم استفاده کرد ( در همان فرم و یا فرم های دیگر از همین روش استفاده کنید )>
public
{ Public declarations }
Test : string;
end;
var
Form1 : TForm1;
implementation
{$R *.dfm}
procedure PRO_Test;
begin
Form1.Test:='Test';
end;
اگر تو يك function يه function ديگه داشته باشيم بخايم به result مربوط به function بالايي دستيابي داشته باشيم چطوريه؟
" نمی تونی به خروجی تابع دسترسی داشته باشی تا زمانی که تابع به آخر نرسه "
شما تابع تو در تو داری ؟
اگه این جوریه، با فراخوانی دوباره تابع درون خودش، داخل یه حلقه بی نهایت قرار می گیری .
فکر خوش .
مصطفی ساتکی
چهارشنبه 30 تیر 1389, 20:58 عصر
برای دسترسی به متغییری که در قسمت public تعریف شده، باید از اسم فرم استفاده کرد ( در همان فرم و یا فرم های دیگر از همین روش استفاده کنید )>
اونو فيلد public مي گن نه متغير سراسري.
" نمی تونی به خروجی تابع دسترسی داشته باشی تا زمانی که تابع به آخر نرسه "
شما تابع تو در تو داری ؟
اگه این جوریه، با فراخوانی دوباره تابع درون خودش، داخل یه حلقه بی نهایت قرار می گیری .
اينا شما از كجا مياريد.
لطفاً تو جواب دادن دقت كنيد
ahmadi3d_ali
چهارشنبه 30 تیر 1389, 21:08 عصر
درود :
شما یه متغییر عمومی و یه متغییر محلی هم نام داری ؟ بهتره نام ها یکسان نباشه .
برای دسترسی به متغییری که در قسمت public تعریف شده، باید از اسم فرم استفاده کرد ( در همان فرم و یا فرم های دیگر از همین روش استفاده کنید )>
public
{ Public declarations }
Test : string;
end;
var
Form1 : TForm1;
implementation
{$R *.dfm}
procedure PRO_Test;
begin
Form1.Test:='Test';
end;
" نمی تونی به خروجی تابع دسترسی داشته باشی تا زمانی که تابع به آخر نرسه "
شما تابع تو در تو داری ؟
اگه این جوریه، با فراخوانی دوباره تابع درون خودش، داخل یه حلقه بی نهایت قرار می گیری .
فکر خوش .
سلام
با همین روشی که Delphi_CAT گفت میشه
من خودم هم قبلا این کارو کردم! مشکلی پیش نمی یاد!!
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.