PDA

View Full Version : قابلیت فرمول سازی در برنامه



dehghanimeh
یک شنبه 10 خرداد 1388, 14:36 عصر
سلام
تصویر زیر قسمتی از یک برنامه هست که قابلیت فرمول سازی بسیار قوی داره
به نظر شما این امکان با چه کمپوننتی ایجاد شده.
فکر کنم componnentone باشه.
دوستان اگر با این موضوع کار کردن ما رو هم بی خبر نزارن.

ASKaffash
یک شنبه 10 خرداد 1388, 15:24 عصر
سلام
به نظر من Component نیست و خود برنامه نویس به شکل تفسیر شده و احتمالا ارسال آن به یک Dynamic SQL اینکار را انجام میدهد

NewFoxStudent
یک شنبه 10 خرداد 1388, 17:34 عصر
من قبلا این کار رو با فاکس پرو انجام دادم


31468
اگه نیاز به راهنمایی دارید بفرمایید
من از کامپوننت استفاده نکردم

happy65_sh
دوشنبه 11 خرداد 1388, 07:42 صبح
میشه یه راهنمایی در موردش بکنید.مدت هاست دنبال فرمول نویسی با کمک فیلدهای جداولم می گردم اما یکم سخته...:عصبانی++:

mpmsoft
دوشنبه 11 خرداد 1388, 08:49 صبح
دوست عزیز خیلی ساده هست

شما می تونید از ابزار Microsoft Script Control استفاده کنید به ان شکل که ایم Activex رو به برنامتون اضافه می کنید و بعد بوسیله این کنترل می تونید یک خط کد و یا یک ماژول رو اجرا کنید.
با این کنترل می تونید براحتی شرطهای تودرتو هم بنویسید و ....

من نمونه کد دارم ولی به زبان وی بی 6 نوشتم
در این مورد در C# نمونه کد ندارم اگر می تونید روش تحقیق کنید حتما موفق می شید

happy65_sh
دوشنبه 11 خرداد 1388, 13:41 عصر
سلام
دوست عزیز mpmsoft

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

ایم Activex رو به برنامتون اضافه می کنید
چطوری؟

من نمونه کد دارم ولی به زبان وی بی 6 نوشتم
نمونه vb هم خوبه اگه لطف کنید بذاریدش.

و اما NewFoxStudent

اگه نیاز به راهنمایی دارید بفرمایید
اگه از یه جایی شروع کنید ممنون می شم.
با تشکر

NewFoxStudent
دوشنبه 11 خرداد 1388, 13:51 عصر
توی فاکس قابلیتی هست که باهاش میشه یک رشته رو به صورت دستور اجرا کرد و این قابلیت توی C# تو کلاس Reflection وجود داره
کاری که من کردم این بود که یه جدول از عملگرها درست کردم ، یه جدول هم از نام فیلدهای مورد نظر که میخواستم به کاربر نشون بدم (همون عوامل حکمی توی برنامه ای که عکسش رو گذاشتم)
توی جدول دوم معادل فارسی هر فیلد رو هم ذخیره کردم
باتوجه به انتخاب کاربر توی TextBox بالایی فرمول رو ایجاد میکنم و تو TextBox پایینی معادل فارسیشو به کاربر نشون میدم
وقتی کار ساخت فرمول تموم شد ازش به جای فیلدهای فارسی که کاربر انتخاب کرده نام فیلدهای اصلی رو میزارم و به صورت یه کوئری اجراش میکنم

dehghanimeh
دوشنبه 11 خرداد 1388, 14:12 عصر
یک حالت ممکن دیگه اینه که
هرکدام از عناصری که به کاربر قابلیت انتخاب میده
خودشون یک storedprocedure هستند
هنگامی که عبارت توسط کاربر ساخته شد
درخت ترتیب منطقی عملگرها ایجاد میشه و حاصل
هر رویه ذخیره شده به جای نام اون قرار می گیره

نظرتون چیه