ورود

View Full Version : مبتدی: مشکل با if و iif



ali-software
پنج شنبه 05 فروردین 1389, 13:10 عصر
سلام.من یک مشکل در مورد تابع ایف داشتم.لطفا یک label و دو textbox و یک button بگذارید.
سپس در button این کد را تایپ کنید.

Dim a As String
Dim b As String
a = TextBox1.Text
b = TextBox2.Text
Label1.Text = IIf(Val(a) > Val(b), a, b)

با این کد برنامه جواب میده ولی با if جواب نمیده:

Dim a As String
Dim b As String
a = TextBox1.Text
b = TextBox2.Text
If a > b Then
Label1.Text = a
Else
Label1.Text = b
End If

لطفا کمک کنید.ممنون

pouyansaraf
پنج شنبه 05 فروردین 1389, 13:16 عصر
من با if مشکلی ندارم
و جواب میده
می خوای سورسش را بگذارم

ali-software
پنج شنبه 05 فروردین 1389, 13:28 عصر
سلام.لطفا سورسشو بگذارید.ممنون

pouyansaraf
پنج شنبه 05 فروردین 1389, 13:31 عصر
اینم سورسش

ali-software
پنج شنبه 05 فروردین 1389, 14:38 عصر
سلام.ولی این برنامه هم کار نمیکنه.اگه تو تکست اولی مثلا عدد 12121111111 را تایپ کنیم و در تکست دوم عدد 33333333 را تایپ کنیم عددی که در تکست دوم هست رو در لیبل نشون میده.لطفا کمک کنید.

pouyansaraf
پنج شنبه 05 فروردین 1389, 15:18 عصر
مشکل در سرریز بافر است
باید نوع متغیر مورد استفاده خود را عوض کنید
کد زیر را در button بگذارید


Dim a As Decimal
Dim b As Decimal
a = Convert.ToDecimal(TextBox1.Text)
b = Convert.ToDecimal(TextBox2.Text)
If a > b Then
Label1.Text = a
Else
Label1.Text = b
End If
من در اینجا نوع متغیر را decimal انتخاب کرده ام که 16 بایت استفاده میکند که فکر کنم بزرگترین نوع متغیر است
انواع متغیر ها در MSDN هست ولی یه عکس از توضیحات متغیر ها رو پیوست کرده ام

Ghaisard
پنج شنبه 05 فروردین 1389, 16:09 عصر
سلام

مقدار رشته اي a و b رو بايد به مقدار عددي تبديل كني، با تابع Val
توي قسمت IIf اين كارو كردي ولي توي قسمت If يادت رفته

قسمت if و else رو اين طور بنويس :


If Val(a) > Val(b) Then


اگه باز هم نشد مشكل از برنامه نويسيته، من تست كردم جواب داد

ali-software
جمعه 06 فروردین 1389, 10:21 صبح
بله.ممنون جواب داد.