PDA

View Full Version : حرفه ای: امکان نوشتن عملیات ریاضی توسط کاربر



maktab
شنبه 09 شهریور 1392, 22:04 عصر
سلام
من میخوام در برنامم امکان نوشتن عملیات ریاضی و ثبت آنها در بانک را قرار بدم. در برنامم این امکان وجود داره که کاربر یک داده ثبت کنه و نوع آن را مشخص کنه و بعدش در بانک ذخیره کنه. مثلا: پرداخت شده / نوعش: پولی (decimal) و...
حالا میخوام یک قسمت برای نوشتن عملیات ریاضی باشه مثلا: باقی مانده: /نوعش: پولی / نوع محاسبه: پرداخت شده - 20 * 500
یه چیزی تو این مایه ها :لبخندساده:
نمیدونم منظورم را درست رسوندم یا نه. اگر متوجه نشدید بگید دوباره توضیح بدم.

FastCode
شنبه 09 شهریور 1392, 22:52 عصر
http://stackoverflow.com/questions/4876945/c-sharp-formula-123-21522-evaluation
فقط مراقب باش.چون خیلی از روشهای معرفی شده به کاربر اجازه میدن هر کاری بکنه.(نگی نگفتی;هر کاری)

maktab
شنبه 09 شهریور 1392, 22:55 عصر
ممنون. مثلا چه مشکلاتی؟ نفوذ به بانک و...؟ خب برای نرم افزارهای ریاضی باید چکار کرد؟ روشی برای مقابله وجود نداره؟
مثلا من بیام تک تک عملیات را خودم تعریف کنم و تو بانک قرار بدم مثلا + برای جمع و... بعد کاربر فقط انتخاب کنه اینطوری خودش اجازه نداره تعریف کنه

aliagamon
شنبه 09 شهریور 1392, 23:05 عصر
فکر کنم یه چیزی تو مایه های این پروژه کارتو راه بندازه
http://barnamenevis.org/showthread.php?64210-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%AF%D8%B1-%D8%B3%D9%8A-%D8%B4%D8%A7%D8%B1%D9%BE&p=1788913&viewfull=1#post1788913

maktab
شنبه 09 شهریور 1392, 23:12 عصر
فکر کنم یه چیزی تو مایه های این پروژه کارتو راه بندازه
http://barnamenevis.org/showthread.php?64210-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%AF%D8%B1-%D8%B3%D9%8A-%D8%B4%D8%A7%D8%B1%D9%BE&p=1788913&viewfull=1#post1788913

میشه یجوری ازش استفاده کرد.
ولی این را فراموش نکنید که من میخوام از داده هایی که قبلا در بانک قرار داده شده هم در عملیات جدیدم استفاده کنم. مثلا:
یبار 2+1 را کاربر تو بانک ثبت میکنه و اسمش را x میذاره حالا بار دوم میخواد این را ثبت کنه x+8*9

برای این چکار کنم؟

aliagamon
شنبه 09 شهریور 1392, 23:25 عصر
والا میتونی x رو مثل یه پوینتر تعریف کنی(منظورم از پوینتر خوده پوینتر نیست منظورم اینه که کارش مثل پوینتر باشه یعنی x بشه اون سلول از دیتاگرید(یا دیتابیس).....که هر جا x رو استفاده کنی بره مقدارشو از اونجا در بیاره ...البته من کلیت پروژه شما رو نمیدونم ولی فکر کنم بتونید یه همچین چیزی در بیارین...

FastCode
شنبه 09 شهریور 1392, 23:36 عصر
من نگفتم همشون.گفتم بیشترشون.انتخاب با خودتونه.

maktab
شنبه 09 شهریور 1392, 23:38 عصر
والا میتونی x رو مثل یه پوینتر تعریف کنی(منظورم از پوینتر خوده پوینتر نیست منظورم اینه که کارش مثل پوینتر باشه یعنی x بشه اون سلول از دیتاگرید(یا دیتابیس).....که هر جا x رو استفاده کنی بره مقدارشو از اونجا در بیاره ...البته من کلیت پروژه شما رو نمیدونم ولی فکر کنم بتونید یه همچین چیزی در بیارین...

منم چنین چیزی به ذهنم رسیده بود.

maktab
شنبه 09 شهریور 1392, 23:39 عصر
من نگفتم همشون.گفتم بیشترشون.انتخاب با خودتونه.

خب منم دنبال یک روش امن و اصولی میگردم برای همین نظر بقیه را پرسیدم

FastCode
شنبه 09 شهریور 1392, 23:43 عصر
این یک نمونه که البته توی اون لینک اول بهش اشاره شده بود:
http://www.codeproject.com/Articles/7335/An-extensible-math-expression-parser-with-plug-ins