PDA

View Full Version : سوال: مشکل با دستور if



morteza1376
جمعه 31 خرداد 1392, 21:21 عصر
سلام خدمت دوستان
من یه مشکلی داشتم می خواستم توی وی بی دستور if رو استفاده کنم اما به مشکل بر خوردم.

Private Sub Command1_Click()
Cls
If (Text1.Text < 10) Then
Print "kamtar az dah"
ElseIf (100 > Text1.Text > 10) Then
Print "bein dah va sad"
ElseIf (Text1.Text > 100) Then
Print "bishtar az dah"
End If
End Sub


خب توی کد بالا اگر عدد کمتر از ده باشه یا بیشتر از 100 باشه درست کار می کنه اما اگه بین 100 و 10 باشه هیچ پیامی نمیده و کد کار نمی کنه ممنون میشم جواب بدین.:لبخند:

AbbasVB
جمعه 31 خرداد 1392, 22:20 عصر
از این کد استفاده کن
Private Sub cmdCommand1_Click()

Cls

If (Text1.Text < 10) Then
Print "kamtar az dah"

ElseIf (10 < Val(Text1.Text)) And (Val(Text1.Text < 100)) Then
Print "bein dah va sad"

ElseIf (Text1.Text > 100) Then
Print "bishtar az dah"

End If

End Sub

javaweb341
شنبه 01 تیر 1392, 07:48 صبح
با سلام دوست عزیز اینجا AND باید باشه نه OR (میگه اگر بین 10 تا 100 بود یعنی هم بزرگتر از 10 و هم کوچکتر از 100)
پس
Cls
If (Text1.Text < 10) Then
Print "kamtar az dah"
ElseIf (100 > Text1.Text And Text1.Text > 10) Then
Print "bein dah va sad"
ElseIf (Text1.Text > 100) Then
Print "bishtar az dah"
End If
حال اگر می خواهی اعداد 10 و 100 هم مورد استفاده قرار گیرند چون در کد بالا با وارد کردن 10 هیچ یک از شرط ها اجرا نمی شود باید از <= و یا >= استفاده نمایید مانند زیر
Cls
If (Text1.Text < 10) Then
Print "kamtar az dah"
ElseIf (100 >= Text1.Text And Text1.Text >= 10) Then
Print "bein dah va sad"
ElseIf (Text1.Text > 100) Then
Print "bishtar az dah"
End If
:چشمک:

aleas2
شنبه 01 تیر 1392, 10:18 صبح
البته دوست عزیز از دستور select هم میتونی استفاده کنی

روش 1

Cls
Select Case Val(Text1.Text)
Case Is < 10: Print "kamtar az dah"
Case 10 To 100: Print "bein dah va sad"
Case Is > 100: Print "bishtar az sad"
End Select
روش2

Cls
Select Case Val(Text1.Text)
Case Is < 10: Print "kamtar az dah"
Case Is > 100: Print "bishtar az sad"
Case Else: Print "bein dah va sad"
End Select
و تو دستور if هم به اینصورت و نیاز به شرط سوم هم نیست

Cls
If Val(Text1.Text) < 10 Then
Print "kamtar az dah"
ElseIf Val(Text1.Text) > 100 Then
Print "bishtar az dah"
Else
Print "bein dah va sad"
End If
البته بدون شرط سوم هم همه جا بکار نمی یاد ولی اکثرا جاها بدرد میخوره برای کوتاه کردن کد برنامه پردازش های بی مورد !