برگزیده های پرشین تولز

توابع و Msgbox

james007

کاربر تازه وارد
تاریخ عضویت
27 ژانویه 2006
نوشته‌ها
37
لایک‌ها
2
محل سکونت
جزیره خضرا
سلام
کی میتونه این دو خط کد رو با با توابع IIF و Switch و Choose بنویسه.
(کاربر Yes رو کلیک کرده است)
کد:
intResponse = MsgBox("Are you sure you want to quit", vbYesNo + 32 + vbDefaultButton1, "Exit")
If intRespone = 6 Then
End
End If
 

james007

کاربر تازه وارد
تاریخ عضویت
27 ژانویه 2006
نوشته‌ها
37
لایک‌ها
2
محل سکونت
جزیره خضرا
بابا یکی جواب بده.
چه طور میشه تو کد بالا به جای IF از IIF و Switch و Choose استفاده کرد
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
به نقل از james007 :
بابا یکی جواب بده.
چه طور میشه تو کد بالا به جای IF از IIF و Switch و Choose استفاده کرد
اون کد شما چه ارتباطی به این توابع داره؟!!
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
یه چیزی شبیه این؟ ولی برای چی لقمه رو بپیچونیم؟

کد:
Select Case IIf(MsgBox("Are you sure you want to quit", vbYesNo + 32 + vbDefaultButton1, "Exit") = vbYes, True, False) 
Case True
End
End Select
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
یا راحت تر و منطقی ترش:

کد:
Select Case MsgBox("Are you sure you want to quit", vbYesNo + 32 + vbDefaultButton1, "Exit") 
Case vbYes
End
End Select
 

james007

کاربر تازه وارد
تاریخ عضویت
27 ژانویه 2006
نوشته‌ها
37
لایک‌ها
2
محل سکونت
جزیره خضرا
این کد رو نگاه کنید
کد:
Private Sub Command1_Click()
Dim intResponse As Single
intResponse = MsgBox("Are you sure you want to quit", vbYesNo + 32 + vbDefaultButton1, "Exit")
Select Case intResponse
    Case Is = 6
        End
End Select
End Sub
این یکی رو هم نگاه کنید
کد:
Private Sub Command1_Click()
Dim intResponse As Single
intResponse = MsgBox("Are you sure you want to quit", vbYesNo + 32 + vbDefaultButton1, "Exit")
If intRespone = 6 Then
End
End If
End Sub
اگه دستور IF چندان پیچیده نباشد میتوانیم به جای آن از IFF استفاده کنیم
همانطور که IF یک نوع ساده شده دارد تابع Choose هم نوع ساده شده دستور Select Case میباشد.
من فقط میخواهم با کاربرد این دو سه دستور آشنا بشم. با توجه به این تعریف ها, چه طور میشه که بگی اگر کاربر Yes را کلیک کرد(همون شماره 6) از برنامه خارج بشه. با تابع IIF یا Choose
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از james007 :
این کد رو نگاه کنید
کد:
Private Sub Command1_Click()
Dim intResponse As Single
intResponse = MsgBox("Are you sure you want to quit", vbYesNo + 32 + vbDefaultButton1, "Exit")
Select Case intResponse
    Case Is = 6
        End
End Select
End Sub
این یکی رو هم نگاه کنید
کد:
Private Sub Command1_Click()
Dim intResponse As Single
intResponse = MsgBox("Are you sure you want to quit", vbYesNo + 32 + vbDefaultButton1, "Exit")
If intRespone = 6 Then
End
End If
End Sub
اگه دستور IF چندان پیچیده نباشد میتوانیم به جای آن از IFF استفاده کنیم
همانطور که IF یک نوع ساده شده دارد تابع Choose هم نوع ساده شده دستور Select Case میباشد.
من فقط میخواهم با کاربرد این دو سه دستور آشنا بشم. با توجه به این تعریف ها, چه طور میشه که بگی اگر کاربر Yes را کلیک کرد(همون شماره 6) از برنامه خارج بشه. با تابع IIF یا Choose
IIF سه ورودی داره اولیش شرط، و اگر برقرار بود مقدار دوم رو برمیگردونه ، اگر برقرار نبود مقدار سوم.

به IIF نمیشه یه تابع یا روال یا دستور رو فرستاد (البته منظورم ورودیهای 2 و 3 هست و ورودی اول حتما باید بولین باشه. یعنی باید شرط رو با یک = در اون ذکر کرد که بصورت بولین به فانکشن بره). یعنی شما نمیتونید بگید:
کد:
Iff(msgbox("ok", vbYesNo)=vbYes, [B][COLOR=red]End[/COLOR][/B], False)
یعنی نمیشه گفت در صورت درست بودن دستور End رو اجرا کن. درواقع به تنهایی نمیشه این کار رو کرد از یک دستور یا شرط دیگه هم باید استفاده کرد.

تنها کار IIF اینکه در صورت صحیح بودن یک شرط بجای برگرداندن مقادر True و False میشه ازش درخواست مقادیر متفاوتی رو اون هم در یک دستور کرد.
 
بالا