PDA

نسخه کامل مشاهده نسخه کامل : استفاده از یک متغیر در بلوک ها



amin a.^2
11-10-2006, 22:53
با سلام من می خوام از یک متغیر تو همه بلوک ها استفاده کنم بشرطی که اگه تو بلوک اول تغیری در متغیر ایجاد بشه تو بقیه ی بلوک ها هم این تغییر بر روی متغیر انجام بشه امیدوارم فهمیده باشید منظورم چیه البته می دونم
باید اونا تو قسمت پابلیک تعریف کنم اما مشکل بر سر تغییرات بر روی متغیر
بسیار بسیار ضروریه
خدانگهدار با سپاس

مرد مباح
12-10-2006, 14:56
اينو كه خودت سوال پرسيدي و جواب دادي.
پس مشكلت كجاست ؟

amin a.^2
12-10-2006, 17:01
با سلام
كجاش جوابمو دادم
من مي خوام بدونم چه كار كنم كه وقتي تو بلوك آ متغير ايكس منهاي يك ميشه تو بلوك بي هم ايكس كنهاي يك بشه
اميدوارم فهميده باشيد
خدانگه دار

BoomDoongDang
12-10-2006, 23:02
سلام
در دلفی نمیتونید متغیر رو به صورت استاتیک تعریف کنید بر خلاف C .
اما میشه این رو ایجاد کرد دو راه وجود داره که من راه دوم رو پیشنهاد میکنم راه اولی ساده تر هستش ولی به نظر من دومی بهتره:

1- متغیر رو خارج از تعریف کلاس و در قسمت var یونیت تعریف کنید .

2- به این ترتیب عمل کنید :
در کلاس یک Property تعریف کنید .
در همان یونیت کلاس خارج از محل تعریف کلاس در قسمت var یک متغیر از همان نوع تعریف کنید .
در Set و Get پراپرتی که تعریف کردید از همون متغیر Global استفاده کنید .

حسن راه دوم اینه که اگر از این کلاس خواستید به عنوان پدر کلاسهای دیگه استفاده کنید , میتونید از این Property هم سود ببرید .

اگر مشکلی داشتید بگید تا نمونه کد راه دوم رو بگذارم. ;)

amin a.^2
14-10-2006, 17:15
سلام
در دلفی نمیتونید متغیر رو به صورت استاتیک تعریف کنید بر خلاف C .
اما میشه این رو ایجاد کرد دو راه وجود داره که من راه دوم رو پیشنهاد میکنم راه اولی ساده تر هستش ولی به نظر من دومی بهتره:

1- متغیر رو خارج از تعریف کلاس و در قسمت var یونیت تعریف کنید .

2- به این ترتیب عمل کنید :
در کلاس یک Property تعریف کنید .
در همان یونیت کلاس خارج از محل تعریف کلاس در قسمت var یک متغیر از همان نوع تعریف کنید .
در Set و Get پراپرتی که تعریف کردید از همون متغیر Global استفاده کنید .

حسن راه دوم اینه که اگر از این کلاس خواستید به عنوان پدر کلاسهای دیگه استفاده کنید , میتونید از این Property هم سود ببرید .

اگر مشکلی داشتید بگید تا نمونه کد راه دوم رو بگذارم. ;)
با سلام
خيلي ممنون از راهنماييتون
اميدوارم مشكلما حل كنه
اگه براتون اشكالي نداره نمونه راه دوم را هم بذاريد
خبرشو بهتون مي دم
خدانگهدار :laughing:

BoomDoongDang
15-10-2006, 11:25
سلام
امین جان اگه دقیقا بگی و توضیح بدی که چی میخواهی من یک مثال مطابق اونچه که میخواهی میزنم . :happy:

ببین اگر میخواهی از متغیر فقط در همون کلاس استفاده کنی که اصلا نیازی به این کارها نیست . حتی Private هم کفایت میکنه .
اگر میخواهی یک نمونه از اون کلاس رو Create کنی و به بقیه کلاسهات اجازه بدی باهاش کار کنند ، باید Public تعریف کنی و با اسم Instance اون کلاس به اون متغیر دسترسی پیدا کنی . همین !

اما اگر مثلا میخواهی از کلاس اولت کلاسهای دیگه ای مشتق کنی یا به هر طریقی میخواهی از متغیرت به صورت Static استفاده کنی اونوقت باید از همون راهی که تو پست قبلی گفتم استفاده کنی.

amin a.^2
15-10-2006, 11:59
با سلام
من يه برنامه دارم مي سازم كه توش نياز به دكمه ي صفحه ي بعد و قبل هست حالا مي خوام رويonclickصفحه ی بعد
بنویسم که به ایکس یکی اضافه کنه و به ازای هر ایکسی یه صفحه ای را نشون بده و برای صفحه ی قبل از ایکس یکی
کم کنه و بازم به ازای هر مقدار ایکسی صفحه ای را نشان بده
فکرکنم کامل تر از این نشه توضیح داد
خیلی ممنون
خدانگهدار

مرد مباح
15-10-2006, 12:08
اين دو صفحه رو توي use unit براي همديگر تعريف كن و بعد ميتوني اين كارو با پابليك انجام بدي.
توي فرم اول از اسم خود متغير استفاده كن و توي فرم دوم به صورت زير عمل كن :
اسم متغيير.اسم فرم اول

اينجوري كارت راه ميوفته.
توي پست 2 هم گفتم كه خودت جواب خودت رو دادي. منظورم همين بود.
فكر كنم طريقه استفاده از كد رو نميدونستي كه برات نوشتم.
موفق باشيد.

BoomDoongDang
15-10-2006, 12:23
در تایید چیزی که مرد مباح گفت باید این رو هم یاد آوری کنم که تا زمانی که به این متغیر احتیاج داری نمیتونی فرم اول رو آزاد کنی . یا باید ببندیش یا Hide کنی .

راستی امین جان این چیزی که میگی در واقع قراره مثل یک wizard باشه ؟ مثلا مثل برنامه های نصب ؟

amin a.^2
15-10-2006, 12:30
عزیزان من فقط یه فرم دارم نه دوتا منظورمم از صفحه image هست که با زدن این دوتا دکمه اونimage عوض میشه
اصلاً من کل برنامرو میذارم اینجا تا شما بهتر منظورمو بفهمید

BoomDoongDang
15-10-2006, 12:36
خوب عزیز دل من :happy: ! یک دونه Private تعریف کن همه جا باهاش کار کن دیگه .
ببین :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

amin a.^2
15-10-2006, 13:02
اينم لينك دانلود
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

BoomDoongDang
15-10-2006, 13:14
امین جان یک اشتباهی شده !!!

فقط dpr رو آپلود کردی Unit ها رو یادت رفته :tongue:

amin a.^2
19-10-2006, 14:11
دوستان عزيز مشكل طور ديگه اي حل شد ديگه نيازي نيست
دست شما هم درد نكنه
خدانگه دار