PDA

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



hghb
07-09-2006, 16:50
من يك Unit جديد ساخته ام و داخل آن چند تابع تعريف كرده ام . اگر بخواهم از اين توابع در Unit هاي ديگر استفاده كنم. چه بايد بكنم.

Admiral
07-09-2006, 17:15
باید این یونیت رو در لیست Uses یونیت های مذکور اضافه کنید و می تونید قبل از آوردن نام تابع نام یونیت را بیاورید.

MyUnit.MyFunction

hghb
07-09-2006, 17:40
من unit جديد را در قسمت implementation تعريف كرده ام ولي باز هم توابع من را نمي شناسد و پيغام خطاي زير را ميدهد.
Undeclared Indentifier

Mahmood_N
07-09-2006, 17:55
باید نام Unit رو به قسمت Uses فرم اضافه کنید نه implementation ( همونطور که دوستمون گفتن )
توجه کنید که Unit خودتون رو جایی بزارید که دلفی به آن دسترسی داشته باشد ...
موفق باشید ...

Admiral
07-09-2006, 18:18
فرض کنید تابع در Unit2 قرار داره.شما در لیست Uses های Unit1 نام Unit2 رو هم اضافه کنید.

حالا در Unit1 هم می تونید از اون تابع استفاده کنید.

موفق باشید.

soldier
07-09-2006, 18:35
اگر بخواهم از اين توابع در Unit هاي ديگر استفاده كنم

سلام
اول اینطوری به یوزز اضافه اش کن

Alt+F11 ---> فرمی که تازه ساختی رو انتخاب کن و ok رو بزن

بعد اون متغیر و یا پروسیجر و یا فانکشن رو توی public معرفی کن
و بعد اینطوری توی هر فرمی ازش استفاده کنی!

ShowMessage(Form2.B);

به جای Form2 نام فرمی رو بزار که تازه ساختشی
به جای B هم یه متغیر دیگه بزار! و هر طوری که دوست داری استفاده کن
اگر هم فانکشن یا پروسیجر هست اینطوری:

Form2.yekfunction;
بقیه موارد هم همینطور هست!

hghb
08-09-2006, 13:11
باید نام Unit رو به قسمت Uses فرم اضافه کنید نه implementation ( همونطور که دوستمون گفتن )
توجه کنید که Unit خودتون رو جایی بزارید که دلفی به آن دسترسی داشته باشد ...
موفق باشید ...
من unit را در قسمت uses فرم اضافه كردم باز هم يونيت را نشناخت و همان پيغام خطا را داد. وقتي Ctrl+Space را فشار مي دهم يونيت من را نمي شناسد.

hghb
08-09-2006, 13:15
سلام
اول اینطوری به یوزز اضافه اش کن

Alt+F11 ---> فرمی که تازه ساختی رو انتخاب کن و ok رو بزن

بعد اون متغیر و یا پروسیجر و یا فانکشن رو توی public معرفی کن
و بعد اینطوری توی هر فرمی ازش استفاده کنی!

ShowMessage(Form2.B);

به جای Form2 نام فرمی رو بزار که تازه ساختشی
به جای B هم یه متغیر دیگه بزار! و هر طوری که دوست داری استفاده کن
اگر هم فانکشن یا پروسیجر هست اینطوری:
;
بقیه موارد هم همینطور هست!
من بك unit جديد ساخته ام نه يك فرم جديد

Mahmood_N
08-09-2006, 13:51
سلام

من unit را در قسمت uses فرم اضافه كردم باز هم يونيت را نشناخت و همان پيغام خطا را داد. وقتي Ctrl+Space را فشار مي دهم يونيت من را نمي شناسد.
Unit خودتون رو کجا ذخیره کردید ...
توی یکی از پوشه های دلفی یا ... ؟؟

soldier
08-09-2006, 15:36
سلام
خوب همين كليد Alt+F11 مربوط ميشه به يونيت!
اگر مي خواهيد مطمئن شويد كه من درست گفتم
برو توي منوي file بعد گزینه دو تا مانده به آخری رو بخون ببین چی نوشته!
نشوته uses unit
خوب این رو که باز کردی همون یونیت رو انتخاب کن!
این یکی روش مطمئن تر هست!(دقت بیشتری داره)
و به اون شیوه ای که گفته بودم از پروسیچر استفاده کن!
هر مشکلی هم داشتی بگو!
هر ارری می گیره بنویس!

hghb
08-09-2006, 19:47
سلام
خوب همين كليد Alt+F11 مربوط ميشه به يونيت!
اگر مي خواهيد مطمئن شويد كه من درست گفتم
برو توي منوي file بعد گزینه دو تا مانده به آخری رو بخون ببین چی نوشته!
نشوته uses unit
خوب این رو که باز کردی همون یونیت رو انتخاب کن!
این یکی روش مطمئن تر هست!(دقت بیشتری داره)
و به اون شیوه ای که گفته بودم از پروسیچر استفاده کن!
هر مشکلی هم داشتی بگو!
هر ارری می گیره بنویس!
وقتي از Alt+F11 استفده ميكنيم unit به قسمت implementation اضافه ميشود. در ضمن من منظور شما را از عبارت زير نفهميدم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من يك فرم به نام FrmMain دارم كه در يونيتي به نام Main ذخيره كرده ام و يك يونيت جديد به اسم UIntToAlph دارم كه هيچ فرمي ندارد و يك تابع در آن تعريف شده است. اگر منظور شما از Form2 فرم FrmMain است باز هم همان خطاي قبلي را مي گيرد.

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

hghb
08-09-2006, 19:51
سلام

Unit خودتون رو کجا ذخیره کردید ...
توی یکی از پوشه های دلفی یا ... ؟؟
Unit جديد و فرم اصلي و فايل اصلي پروژه همه در يك پوشه قرار دارند.

soldier
08-09-2006, 20:02
به جاي yekfunction ! همون پروسيجر و فانكشن خودت رو بنويس!
در ضمن اون يكي فرمت چيه؟ بايد دو فرم داشته باشه! اسم دو تا رو بنويس!
در ضمن اون فانكشني كه مي خواهي صدا بزني! بايد توي public مشخص بشه!
موفق باشی

hghb
08-09-2006, 20:03
من سورس برنامه را در لينك زير گذاشته ام و شما ميتوانيد ببينيد و اشكال آن را بگوييد.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

soldier
08-09-2006, 20:17
سلام
لطفآ فایل tntStdCtrls.dcu رو بزارید که دانلود کنیم
اگر هم چندین فایل هستند بگذارید تا دانلود کنیم!
چون من این کمپننت ها رو ندارم ! واسه همین ارر میده!
منتظر هستم

hghb
08-09-2006, 20:45
سلام
لطفآ فایل tntStdCtrls.dcu رو بزارید که دانلود کنیم
اگر هم چندین فایل هستند بگذارید تا دانلود کنیم!
چون من این کمپننت ها رو ندارم ! واسه همین ارر میده!
منتظر هستم
مي توانيد از لينك زير استفاده كنيد كه مشكل قبلي را ندارد
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

amin a.^2
08-09-2006, 21:08
من اگه درست فهميده باشم شما مي توني اون تابع را در قسمت public
فرم اصلی تعریف کن دیگه این دردسرا را هم نداره اما من همیشه کار
سولجر و محمود جان را انجام میدم کاملاًدرسته

soldier
08-09-2006, 22:32
من همیشه کار سولجر و محمود جان را انجام میدم کاملاً درسته

1-سلام
2-خواهش مي كنم
----------------
من میرم دانلود کنم! بعدآ جواب میدم

Mahmood_N
09-09-2006, 03:48
سلام
من دانلود کردم و مشکلی نداشت ...
تابع به راحتی اجرا شد ...
موفق باشید ...

hghb
09-09-2006, 10:26
سلام
من دانلود کردم و مشکلی نداشت ...
تابع به راحتی اجرا شد ...
موفق باشید ...
اگر زحمتي نيست فايل تصحيح شده را براي من بفرستيد
h.ghanizadeh@gmail.com ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

soldier
09-09-2006, 11:26
سلام
من دالنود كه كردم! باز هم همون كمپننت ها رو نياز داره!
اما تا جايي كه ديدمش مشكلي نداشت!
موفق باشي

Mahmood_N
09-09-2006, 17:27
سلام

اگر زحمتي نيست فايل تصحيح شده را براي من بفرستيد
h.ghanizadeh@gmail.com
من تغییری توش ندادم ...
خودش سالم بود ( تابع خيلي خوب اجرا شد )
موفق باشيد ...

sa3er
12-09-2006, 10:32
تاپیک اصلاح شد!
دوستان عزیز لطفا رعایت کنید. در پیغام خصوصی صحبتی دارید انجام بدید.

amin a.^2
12-09-2006, 14:33
خيلي ممنون كه يه سري به كلبه ي فقيرانه ي دلفي هم زديد
خيلي ممنون كه اين دعوا جمعش كرديد