PDA

View Full Version : فراخوانی نام تابع از دیتابیس



yekta64
دوشنبه 15 شهریور 1389, 14:52 عصر
سلام دوستان
من یه کلاس تو برنامه ام دارم که تمامی تابع برنامه رو توی اون کلاس تعریف کردم حالا من یه تابع تعریف کردم برای false کردن ویزیبل بعضی از کنترل های فرم که نام کنترل و نوع ویزیبل رو از ورودی دریافت می کنه
خوب من در دیتابیس نام این تایع و پارامتر ورودی رو ذخیره کردم به این صورت:
visibleinfo(btnback,true) حالا سوال که مطرح هست اینه که من با نام تابع از دیتابیس چطور تابع اصلی موجود در کلاس رو فراخوانی کنم؟؟؟
مرسی

ali_najari
دوشنبه 15 شهریور 1389, 16:02 عصر
سلام دوستان
من یه کلاس تو برنامه ام دارم که تمامی تابع برنامه رو توی اون کلاس تعریف کردم حالا من یه تابع تعریف کردم برای false کردن ویزیبل بعضی از کنترل های فرم که نام کنترل و نوع ویزیبل رو از ورودی دریافت می کنه
خوب من در دیتابیس نام این تایع و پارامتر ورودی رو ذخیره کردم به این صورت:
visibleinfo(btnback,true) حالا سوال که مطرح هست اینه که من با نام تابع از دیتابیس چطور تابع اصلی موجود در کلاس رو فراخوانی کنم؟؟؟
مرسی

يكم واضح تر و بيشتر توضيح بديد ممنون ميشم تا بتونم كمكتون كنم

اگه ميخوايد برنامه رو تنظيم كنيد با استفاده از موارد ذخيره شده فقط كافيه توي Load برنامه بياي تمامي تنظيماتت رو بخوني و روي برنامه پياده سازي كني ولي اگه منظور چيز ديگه هست يكم توضيح بيشتر بديد

yekta64
سه شنبه 16 شهریور 1389, 10:52 صبح
يكم واضح تر و بيشتر توضيح بديد ممنون ميشم تا بتونم كمكتون كنم

اگه ميخوايد برنامه رو تنظيم كنيد با استفاده از موارد ذخيره شده فقط كافيه توي Load برنامه بياي تمامي تنظيماتت رو بخوني و روي برنامه پياده سازي كني ولي اگه منظور چيز ديگه هست يكم توضيح بيشتر بديد

مرسی
ببین دوست عزیز مشکل من اینه که یه تابع دارم که تو یه کلاس تعریفش کردم حالا می خوام وقتی نام اون تابع رو از دیتابیس می خونم بتونم اون تابع رو فراخوانی کنم حالا بحث اینجاست که نام تابع که از دیتابیس می خونم که string هستش چطور تابع رو فراخوانی کنم؟؟؟
مرسی

ali_najari
سه شنبه 16 شهریور 1389, 11:08 صبح
مرسی
ببین دوست عزیز مشکل من اینه که یه تابع دارم که تو یه کلاس تعریفش کردم حالا می خوام وقتی نام اون تابع رو از دیتابیس می خونم بتونم اون تابع رو فراخوانی کنم حالا بحث اینجاست که نام تابع که از دیتابیس می خونم که string هستش چطور تابع رو فراخوانی کنم؟؟؟
مرسی

شرمنده من هنوز متوجه نشدم كامل

شما فرض كنم مثلا توي جدولت True رو بصورت String ذخيره كردي و باز يابي ميكني فقط كافيه مثلا يه متغيير از نوع Boolean تعريف كني و اطلاعاتي رو كه از Database ميخوني رو برابر اون قرار بدي

يا اگه اسم رنگ ذخيره كردي مثلا Red كافيه كه بياي اينطوري بخونيش



System.Drawing.Color.FromName("Red")


اگه باز منم دارم اشتباه جواب ميدم لطف كنيد يه نمونه برنامه بگذاريد تا من بدونم چكار ميكنيد و چكاري ميخوايد انجام بديد تا روي همون برنامه كمكتون كنم.

ممنون ميشم اين كار رو بكنيد

yekta64
سه شنبه 16 شهریور 1389, 13:56 عصر
شرمنده من هنوز متوجه نشدم كامل

شما فرض كنم مثلا توي جدولت True رو بصورت String ذخيره كردي و باز يابي ميكني فقط كافيه مثلا يه متغيير از نوع Boolean تعريف كني و اطلاعاتي رو كه از Database ميخوني رو برابر اون قرار بدي

يا اگه اسم رنگ ذخيره كردي مثلا Red كافيه كه بياي اينطوري بخونيش



System.Drawing.Color.FromName("Red")


اگه باز منم دارم اشتباه جواب ميدم لطف كنيد يه نمونه برنامه بگذاريد تا من بدونم چكار ميكنيد و چكاري ميخوايد انجام بديد تا روي همون برنامه كمكتون كنم.

ممنون ميشم اين كار رو بكنيد

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

ali_najari
سه شنبه 16 شهریور 1389, 15:47 عصر
دوست عزیز منم نمیتونم بفهمم که منظورت از تابع چیه؟

یه نمونه از تابع رو بنویس بصورت کد همینجا تا متوجه بشم که منظورت دقیقا چیه

من منظورت رو متوجه نمیشم دقیقا که چی رو میخوای اجرا کنی، چی رو میخوای بخونی، تابعت چیه/؟ و ...

hero4000
چهارشنبه 17 شهریور 1389, 08:10 صبح
دوست عزيز خوب معلومه که منظورشون چيه

فرض کنيد که يک تابع دارند به نام sumall با دو پارامتر و چند تابع ديگر با اسامي مختلف . حالا ميخوان اسم تابع رو توي ديتابيس به صورت رشته در ديتابيس ذخيره کنند مثلا توي ديتابيس توي يک فيلد جدولشون رشته زير رو ذخيره ميکنند

Sumall(a,b)
و هر جا که لازم داشتند اون فيلد رو فراخواني مي کنند و مي خوان برنامه خودش بتونه با دستوري اون تابع رو فراخوني کنه
Ok .........
--------------------

سلام دوستان
من یه کلاس تو برنامه ام دارم که تمامی تابع برنامه رو توی اون کلاس تعریف کردم حالا من یه تابع تعریف کردم برای false کردن ویزیبل بعضی از کنترل های فرم که نام کنترل و نوع ویزیبل رو از ورودی دریافت می کنه
خوب من در دیتابیس نام این تایع و پارامتر ورودی رو ذخیره کردم به این صورت:
visibleinfo(btnback,true) حالا سوال که مطرح هست اینه که من با نام تابع از دیتابیس چطور تابع اصلی موجود در کلاس رو فراخوانی کنم؟؟؟
مرسی
دوست عزيز راهي که به ذهن بنده ميرسه نوشتن يک تابع ديگه هست که توي اون با يک Select Case چک کني که سمت چپ رشته تا پرانتز اول چه رشته اي هست و توي کيسات يکي يکي چک کني که اسم هر کدوم از توابعت بود اون رو با پارامترهاي ادامه رشته به تابع مورد نظر بفرستي و نهايتا جواب رو به عنوان جواب همين تابع بفرستي

اگه متوجه نشدي بگو که بيشتر توضيح بدم

yekta64
چهارشنبه 17 شهریور 1389, 09:46 صبح
دوست عزيز خوب معلومه که منظورشون چيه

فرض کنيد که يک تابع دارند به نام sumall با دو پارامتر و چند تابع ديگر با اسامي مختلف . حالا ميخوان اسم تابع رو توي ديتابيس به صورت رشته در ديتابيس ذخيره کنند مثلا توي ديتابيس توي يک فيلد جدولشون رشته زير رو ذخيره ميکنند

Sumall(a,b)
و هر جا که لازم داشتند اون فيلد رو فراخواني مي کنند و مي خوان برنامه خودش بتونه با دستوري اون تابع رو فراخوني کنه
Ok .........
--------------------

دوست عزيز راهي که به ذهن بنده ميرسه نوشتن يک تابع ديگه هست که توي اون با يک Select Case چک کني که سمت چپ رشته تا پرانتز اول چه رشته اي هست و توي کيسات يکي يکي چک کني که اسم هر کدوم از توابعت بود اون رو با پارامترهاي ادامه رشته به تابع مورد نظر بفرستي و نهايتا جواب رو به عنوان جواب همين تابع بفرستي

اگه متوجه نشدي بگو که بيشتر توضيح بدم

مرسی دوست عزیز
برای حالتی که من بالای 30 تا یا حتی بیشتر تابع داشته باشم استفاده از select case زیاد مفید به نظر نمی رسه درست می گم؟؟؟؟؟

alireza_s_84
چهارشنبه 17 شهریور 1389, 20:45 عصر
مرسی دوست عزیز
برای حالتی که من بالای 30 تا یا حتی بیشتر تابع داشته باشم استفاده از select case زیاد مفید به نظر نمی رسه درست می گم؟؟؟؟؟

سلام حق با شماست بهترین راه اینه که با استفاده از نام متد و نمونه سازی از شی اینکار انجام بشه. ولی بهتره آرگومانهای ارسالی به توابع و متدها جداگانه ذخیره بشن.
من یک نمونه برای شما ضمیمه می کنم و به جای نام متدهای کلاس من میتونید مقادیر استخراجی از دیتا بیس رو قرار بدین ولی قبل از اون سناریوی خودتون رو از انجام این روش در اینجا قرار بدین شاید راه حل بهتری ارائه بشه چون این سطح از برنامه نویسی کار آسونی نیست و مدیرت خطا در اون یه مقدار مشکله.
موفق باشید

yekta64
پنج شنبه 18 شهریور 1389, 08:56 صبح
سلام حق با شماست بهترین راه اینه که با استفاده از نام متد و نمونه سازی از شی اینکار انجام بشه. ولی بهتره آرگومانهای ارسالی به توابع و متدها جداگانه ذخیره بشن.
من یک نمونه برای شما ضمیمه می کنم و به جای نام متدهای کلاس من میتونید مقادیر استخراجی از دیتا بیس رو قرار بدین ولی قبل از اون سناریوی خودتون رو از انجام این روش در اینجا قرار بدین شاید راه حل بهتری ارائه بشه چون این سطح از برنامه نویسی کار آسونی نیست و مدیرت خطا در اون یه مقدار مشکله.
موفق باشید

مرسی دوست عزیز
ببینید من یه یه سری صفحه دارم که بر اساس یه ترتیب خاص لود میش که این ترتیب در دیتابیس ذخیره شده به عبارت بهتر در دیتابیس کد فرم و تابع مربوط به هر فرم رو نگه می دارم حالا کد فرم از دیتابیس خوانده می شه و به محض لود شدن فرم باید اون تابع که حالا بر اساس نوع فرم یه کار خاصی رو انجام میده فراخوانی بشه
امیدوارم توضیحات کامل باشن
مرسی