PDA

View Full Version : آموزش: توضيح كد



zohreh_zo
یک شنبه 24 اردیبهشت 1391, 14:46 عصر
با سلام
اگر امكان دارد اين چند خط را توضيح بدهيد
number = ((Button)sender).Text;
-------------------------------
input = textBox2.Text;
var result = new DataTable().Compute(input, null);

headshoter
یک شنبه 24 اردیبهشت 1391, 16:36 عصر
اگه اشتبها نکنم خط اول مقدار خاصیت تکست اون باتن که این متود رو صدا میزنه ریخته میشه توی Number
بعدی رو هم بذار بقیه اساتید ببینن بهت میگن چی کار میکنه !

فرید نجفلو
یک شنبه 24 اردیبهشت 1391, 18:08 عصر
با سلام
اگر امكان دارد اين چند خط را توضيح بدهيد
number = ((Button)sender).Text;
-------------------------------
input = textBox2.Text;
var result = new DataTable().Compute(input, null);


سلام دوست عزیر
خط اول :
به احتمال زیاد این خط در روال رویداد های دکمه استفاده شده و به این صورت عمل میکنه که ابتدا Sender که همون دکمه ارسال کننده رویداد هست رو به نوع (Type) دکمه (Button) تبدیل (Cast) می کنه بعد مقدار Text اون رو در متغیر number می ذاره

خطوط دوم و سوم:
ابتدا مقدار موجود در تکست باکس رو که یک فرمول هست در داخل متغیر input وارد
بعد با استفاده از فرمول گرفته شده اقدام به محاسبه اون روی سطر های DataTable (که با یک فیلتر انتخاب شدن) می کنه
البته چون تو خط سوم شما یک DataTable جدید ساختید این کد هیچ کاری انجام نمی ده که هیچ شما در ران تایم خطا نیز دریافت می کنید چون این DataTabe هنوز هیچ ستون و سطری نداره!

این فرمول مثلا ممکنه به این صورت باشه:
Sum(Column1)
Avg(Column1)
Count (Column1)
etc ...


البته فرمول های دیگه هم وجود دارن که می تونید استفاده کنید مثل جمع دو ستون ولی در این محل نمی تونید استفاده کنید
چون فرمول های بالا در نهایت یک جواب برای شما می دن مثلا Sum یک عدد که مجموع رو نشون می ده بر می گردونه
ولی در مورد جمع ستون ها چون برای هر سطر یک جواب جدا وجود داره شما برای استفاده از اون باید در یک ستون موجود یا یک ستون جدید ایجاد ، مقدار Expression اون رو با فرمول ست کنید

myDataTable.Columns("RowSum").Expression = "Column1 + Column2")