جوتی
پسر/دختر بابالنگدراز
My Favorites:
bbgoal
lamp
far-near
ashoob
miladkdz
rohmamiya
acetaminophen
debug
smartdevice
farstec
khak
aaab
nochagh
persiangirl
parsmedia
w3schoolsir
azemat
sargardoon
mahoordad
techopedia

My Programs:
BlogClient
MinsweeperRobot
Calculator
CalcWebSrvc
2unicode
HuffmanCode
FileValidator
ConvexHall2D
FSProject
IISLog

Options:
No CSS
CSS Layout
وب‌سرویس ماشین حساب فرمولی
یه برنامه ای میخواستم بنویسم که یکی از دوستام گفت اون برنامه درصورتی بدرد میخوره که رو وب هم کار کنه. منم برای اینکه ببینم میتونم همچی کاری بکنم یا نه برای آزمایش یه وب سرویس نوشتم. این وب سرویس خیلی خیلی ساده است و فقط یک تابع دارد.
تابع calculate که 2 پارامتر ورودی (عبارت ریاضی و لیست متغیرها) میگیرد و یک ساختمان داده شامل جواب عبارت ریاضی (ans) و شماره خطای احتمالی(er) برمیگرداند.
همه سورس کد وب سرویس (بجر 4 تا کلاسش که از vb6 تبدیل کردم!) در زیر آمده :
Structure InfixRetVal
Dim ans As Double
Dim er As Int16
End Structure
< WebMethod() > Public Function Calculate(ByVal infix As String, ByVal varlist As String) As InfixRetVal
Dim tmp As New CInFix()
tmp.InFix = infix
tmp.VariableList = varlist
Calculate.ans = tmp.Calculate
Calculate.er = tmp.GetLastError
End Function
اگر مایلید بدانید که اون چهارتا کلاس چجوری کار میکنند باید یه سری به اینجا بزنید و توضیحات مختصر آن بخش را بخوانید.
برای استفاده کردن از این وب سرویس در vs.net خود به منوی project\add web refrence... بروید و این آدرس را در آن وارد کنید http://www.ehsani.ir/calc/calculator.asmx و پس از اینکه وب سرویس را پیدا کرد add refrence را بزنید.
حالا برای اینکه از آن استفاده کنید میتوانید کد زیر را بنویسید :
Dim c As New org.ehsani.www.CalculatorService()
Dim ret As org.ehsani.www.InfixRetVal
ret = c.Calculate(TextBox1.Text, TextBox2.Text)
TextBox3.Text = ret.ans
نمونه کار برنامه را میتوانید در اینجا ببینید.
کد برنامه را میتوانید از اینجا بگیرید.
کد مثال برنامه را میتوانید از اینجا بگیرید.
حاشیه : تو این برنامه میتونید از sin ,cos ,tan ,atn ,ln ، فاکتوریل(!) و توان (^) استفاده کنید و هرتعداد متغیر که دوست داشته باشید تعریف کنید و هر اسمی که بخواهید به آنها بدهید مثلا jooti یا هر چیز دیگه! اصلا ناراحت غلط بودن عبارت ریاضی نباشید چون برنامه خیلی سریع مچتون رو میگیره! پرانتز هم به تعداد نا متناهی و تو در تو مجاز است.

جوتی

سیصد و شصت و پنج روز پیش :

آرشیو ماهیانه:
مهر 81
آبان 81
آذر 81
دی 81
بهمن 81
اسفند 81
فروردین 82
اردیبهشت 82
خرداد 82
تیر 82
امرداد 82
شهریور 82
مهر 82
آبان 82
آذر 82
دی 82
بهمن 82
اسفند 82
فروردین 83
اردیبهشت 83
خرداد 83
تیر 83
امرداد 83
شهریور 83
مهر 83
آبان 83
آذر 83
دی 83
بهمن 83
اسفند 83
فروردین 84
اردیبهشت 84
خرداد 84
تیر 84
امرداد 84
شهریور 84
مهر 84
آبان 84
آذر 84
دی 84
بهمن 84
اسفند 84
فروردین 85
اردیبهشت 85
خرداد 85
تیر 85
امرداد 85
شهریور 85
مهر 85
آبان 85
آذر 85
دی 85
بهمن 85
اسفند 85
فروردین 86
اردیبهشت 86
خرداد 86
تیر 86
امرداد 86
شهریور 86
مهر 86
آبان 86
آذر 86
دی 86
بهمن 86
اسفند 86
فروردین 87
اردیبهشت 87
خرداد 87
تیر 87
امرداد 87
شهریور 87
مهر 87
آبان 87
آذر 87
دی 87
بهمن 87
اسفند 87
فروردین 88
اردیبهشت 88
خرداد 88
تیر 88
امرداد 88
شهریور 88
مهر 88
آبان 88
آذر 88
دی 88
بهمن 88
اسفند 88
فروردین 89
اردیبهشت 89
خرداد 89
تیر 89
امرداد 89
شهریور 89

آرشیو سالیانه:
سال 1381
سال 1382
سال 1383
سال 1384
سال 1385
سال 1386
سال 1387
سال 1388
سال 1389

قصه‌های من:

گرگ قسمت اول
گرگ قسمت دوم
موش کور
باغبان
جزیره
آتشفشان
کرم ابریشم
توپ
قصه‌های کامپیوتری

کتاب VB.NET مقدماتی
جزوه ویژوال بیسیک
رمزگذاری-رمزگشایی
تمام حقوق این سایت متعلق به امیر احسانی است.
شما حق دارید از مطالب این سایت هرطور که مایل هستید استفاده کنید بشرط اینکه برای آنها هیچ گونه وجهی دریافت نکنید. اگر منبع را هم ذکر کنید ممنون میشم.
jooti [at] ehsani [dot] org