نمایش نتایج 1 تا 27 از 27

نام تاپیک: مشکل ELSE IF

  1. #1

    مشکل ELSE IF

    سلام
    اولا من تازه کارم پس کسی نیاد به سوال من بخنده که من به مدیر انجمن شکایت خودمو ابلاع میکنم


    آقا من هر کاری میکنم نمیدونم چرا vb از دستورات زیر ایراد میگیره

    Dim n As Integer
    Private Sub Command1_Click()
    n = Val(Text1.Text)
    If n < 0 Then Label1.Caption = " Number Is Negative "
    ElseIf n > 0 Then Label1.Caption = " Number Is Positivve "
    ElseIf n = 0 Then Label1.Caption = " This Is ZERO "
    End If
    End If
    Text1.Text = ""
    End Sub



    Private Sub Form_Load()
    Text1.Text = ""
    Label1.Caption = ""
    Label1.AutoSize = True
    End Sub



    Private Sub Form_Load()
    Text1.Text = ""
    Label1.Caption = ""
    Label1.AutoSize = True
    End Sub

    همش میگه block دستور else if شما غلطه :sad2:
    کمک




  2. #2
    جناب پدرام خان تازه کار شما یکی از اون end if ها را پاک کن ببین درست میشه ؟

  3. #3
    کاربر دائمی آواتار R_BABAZADEH
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    654
    دوست عزیز مشگل شما از طریق برنامه زیر حل می شود
    Dim n As Integer
    Private Sub Command1_Click()
    n = Val(Text1.Text)
    If n < 0 Then Label1.Caption = " Number Is Negative "
    If Not n > 0 Then Label1.Caption = " Number Is Positivve "
    If Not n = 0 Then Label1.Caption = " This Is ZERO "

    Text1.Text = ""
    End Sub



    Private Sub Form_Load()
    Text1.Text = ""
    Label1.Caption = ""
    Label1.AutoSize = True
    End Sub


    در ضمن دستور if اگر در یک خط نوشته شود end if نیاز ندارد

  4. #4
    نقل قول نوشته شده توسط coral
    جناب پدرام خان تازه کار
    :kaf:

    بابا خوب شد گفتم متلک نپرونید وگرنه به جای این حرف بدوبیراه نصیبم میکردی


    بازم نشد
    این خطا رو میده


  5. #5
    نقل قول نوشته شده توسط R_BABAZADEH
    دوست عزیز مشگل شما از طریق برنامه زیر حل می شود
    Dim n As Integer
    Private Sub Command1_Click()
    n = Val(Text1.Text)
    If n < 0 Then Label1.Caption = " Number Is Negative "
    If Not n > 0 Then Label1.Caption = " Number Is Positivve "
    If Not n = 0 Then Label1.Caption = " This Is ZERO "

    Text1.Text = ""
    End Sub

    Private Sub Form_Load()
    Text1.Text = ""
    Label1.Caption = ""
    Label1.AutoSize = True
    End Sub


    در ضمن دستور if اگر در یک خط نوشته شود end if نیاز ندارد
    دوست عزیز سلام
    وقتیدستورات شما شما رو مینویسم هیچ خطایی گرفته نمیشه
    اما
    هر عددی وارد بشه
    چه مثبت و چه منفی
    مینویسه
    THIS IS ZERO

    پس در نتیجه
    1) کد شما هم متاسفانه غلطه ! :kaf:
    2) منظور از IF NOT چی هست ؟ :wink:

  6. #6
    کـــــــــــــــــــــــم کــــــــــــــــــــــــ م کنیــــــــــــــــــــــ ـــــــــــــــــــــــــ د ؟

  7. #7

  8. #8
    شما می‌تونید از select case هم استفاده کنید
    select case n
    n>0:کدمربوطه
    n<0:کد مربوطه
    0:کد مربوطه
    end select

  9. #9
    شما می‌تونید از select case هم استفاده کنید
    select case n
    n>0:کدمربوطه
    n<0:کد مربوطه
    0:کد مربوطه
    end select

  10. #10
    کاربر دائمی آواتار R_BABAZADEH
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    654
    Dim n As Integer
    Private Sub Command1_Click()
    n = Val(Text1.Text)
    If n < 0 Then Label1.Caption = " Number Is Negative "
    If n > 0 Then Label1.Caption = " Number Is Positivve "
    If n = 0 Then Label1.Caption = " This Is ZERO "

    Text1.Text = ""
    End Sub

    Private Sub Form_Load()
    Text1.Text = ""
    Label1.Caption = ""
    Label1.AutoSize = True
    End Sub

  11. #11
    کاربر دائمی آواتار R_BABAZADEH
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    654
    ببین دوست عزیز if یک دستور شرطی است و به طور معمول از اجزا زیر تشکیل شده
    1.کلمه if
    2. شرط مورد نظر
    3.کلمه then
    4. دستوراتی که باید در صورت درست بودن شرط اجراشود
    5.نقیض شرط در صورت نیاز که با کلمه else مشخص می شود
    6.دستوراتی که باید در صورت درست نبودن شرط اجراشود
    7.کلمه پایانی شرط end if


    if a=1 then
    a=a+10
    b=b+20
    else
    a=a-10
    b=b-10
    end if


    قسمت else تا end if اختیاری است و می توانید استفاده نکنید

    حالا اگر دستورات اجرایی شما تک دستوره است می توانید همه شرط را در یک خط بنویسید و دیگر نیازی به end if نیست
    if a=1 then b=b+10 else c=c+10
    در این حالت نیز else به بعد اختیاری است

    امید وارم کمکی کرده باشم :D

  12. #12
    کاربر دائمی آواتار R_BABAZADEH
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    654
    در ضمن if not در مواقعی استفاده می شود که نقیض شرط مورد نظر باشد نه صحت ان

  13. #13
    نقل قول نوشته شده توسط R_BABAZADEH
    Dim n As Integer
    Private Sub Command1_Click()
    n = Val(Text1.Text)
    If n < 0 Then Label1.Caption = " Number Is Negative "
    If n > 0 Then Label1.Caption = " Number Is Positivve "
    If n = 0 Then Label1.Caption = " This Is ZERO "

    Text1.Text = ""
    End Sub

    Private Sub Form_Load()
    Text1.Text = ""
    Label1.Caption = ""
    Label1.AutoSize = True
    End Sub
    سلام
    عزیز من اینو قبلا انجام دادم و درسته
    اما من میخوام بدونم چرا از ELSE IF ایراد میگیره

  14. #14
    نقل قول نوشته شده توسط R_BABAZADEH
    در ضمن if not در مواقعی استفاده می شود که نقیض شرط مورد نظر باشد نه صحت ان
    میشه در این رایطه مثالی بزنید
    خیلی ممنون از توجهتون :موفق:

  15. #15

    سلام

    Dim n As Integer
    Private Sub Command1_Click()
    n = Val(Text1.Text)
    If n < 0 Then Label1.Caption = " Number Is Negative "
    ElseIf n > 0 Then Label1.Caption = " Number Is Positivve "
    ElseIf n = 0 Then Label1.Caption = " This Is ZERO "
    End If
    End If
    Text1.Text = ""
    End Sub
    عزیز شما از دو تا end if استفاده کردین
    یکی از اونها رو پاک کنین درست میشه

  16. #16
    Dim n As Integer
    Private Sub Command1_Click()
    n = Val(Text1.Text)
    If n < 0 Then Label1.Caption = " Number Is Negative "
    ElseIf n > 0 Then Label1.Caption = " Number Is Positivve "
    Else n = 0 Then Label1.Caption = " This Is ZERO
    End If
    Text1.Text = ""
    End Sub



    Private Sub Form_Load()
    Text1.Text = ""
    Label1.Caption = ""
    Label1.AutoSize = True
    End Sub
    :flower: فکر کنم اینجوری درست میشه

  17. #17
    نقل قول نوشته شده توسط Morteza Manafpour
    شما می‌تونید از select case هم استفاده کنید
    select case n
    n>0:کدمربوطه
    n<0:کد مربوطه
    0:کد مربوطه
    end select
    سلام

    دوستان مشکل من در else if حل شد
    حالا بتون بگم مشکل چی بود خنده تون میگیره

    من بعد از then دکمه enter رو نمیزدم و به سطر بعدی نمیرفتم
    واسه همین ایراد میگیرفت
    نمیدونستم vb اینقدر سیریش و گیر هست . ( حیف که میخوام یادش بگیرم وگرنه میگفتم vb حالم ازت به هم میخوره :sorry: )

    و اما مشکــــــــــــــــــــــ ل دوم :
    امیدوارم از دست سوالات من خسته نشده باشید

    من میخوام طبق گفته دوستمون از ساختار select case استفاده کنم اما ایراد زیر رو میگیره



    حالا خواهش من اینه که توی این مورد کمکم کنید
    thX a lot

  18. #18
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    مشهد مقدس
    پست
    416
    از دستور سلکت کیس به این شکل استفاده کن :

    Select case n
    case n<0
    Lable1.capton="Neg."
    case n>0
    lable1.caption="Pos."
    case else
    lable1.caption="Zero"
    end select

    :wink: :موفق:

  19. #19
    دوستان مشکل من در else if حل شد
    حالا بتون بگم مشکل چی بود خنده تون میگیره

    من بعد از then دکمه enter رو نمیزدم و به سطر بعدی نمیرفتم
    واسه همین ایراد میگیرفت
    :موفق:


    من که همون اول اینو گفتم
    گه تصمیم دارین از ساختار بلوکی استفاده کنین بعد از Then دستورات رو ننویسین

  20. #20
    Private Sub Command1_Click()
    n = Val(Text1.Text)
    Select Case n
    Case n > 0
    Label1.Caption = " positive"
    Case n < 0
    Label1.Caption = "negative"
    Case Else
    Label1.Caption = "Zero"
    End Select
    End Sub

    Private Sub Form_Load()
    Text1.Text = ""
    Label1.Caption = ""
    Label1.AutoSize = True
    End Sub


    دوست عزیز من از حلقه شما که به نظر میاد درسته مثل بالا کدنویسی کردم
    اما وقتی برنامه رو اجرا میکنم هیچ پیغامی در label نوشته نمیشه
    میدونید مشکل از کجاست ؟

  21. #21
    این شاید بهتر باشه

    Private Sub Command1_Click()
    n = Val(Text1)
    Select Case n
    Case Is > 0:
    Label1 = " positive"
    Case Is < 0:
    Label1 = "negative"
    Case Else:
    Label1 = "Zero"
    End Select
    End Sub

    Private Sub Form_Load()
    Text1.Text = ""
    Label1.Caption = ""
    Label1.AutoSize = True
    End Sub


  22. #22
    ببین پدرام جان چرا اینقدر بچه های بخش رو اذیت می کنی.
    آقا جون چرا پاسکال رو با VB قاطی کردی.
    1 ساعت پای تلفن بهت توضیح دادم بازم متوجه نشدی. ای بابااااااااااااا.
    شما همون فلش رو با Action Script کار کنی به جون خودم و کامران کمایی (دوست جون جونیه مهدی کرامتی) موفق تری هاااااااااااااااا.
    :wise1:

  23. #23
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    مشهد مقدس
    پست
    416
    این نمونه کدو ببین :oops:

  24. #24
    نقل قول نوشته شده توسط Behrouz_Rad
    ببین پدرام جان چرا اینقدر بچه های بخش رو اذیت می کنی.
    آقا جون چرا پاسکال رو با VB قاطی کردی.
    1 ساعت پای تلفن بهت توضیح دادم بازم متوجه نشدی. ای بابااااااااااااا.
    شما همون فلش رو با Action Script کار کنی به جون خودم و کامران کمایی (دوست جون جونیه مهدی کرامتی) موفق تری هاااااااااااااااا.
    :wise1:
    به به آقا بهروز
    بالاخرو اومدی قربوت بشم
    میبینم که کولاک کردی تو انجمن
    فقط جواب دوستتو نمیدی :(
    باشه نده من ناراحت نمیشم :( :kaf:
    اتفاقا کامران دیشب پیشم بود
    شکایت وحید نصیری هم پیشش کردم :kaf:
    ( شوحی کردم اقای نصیری )
    actin هم کار میکنم
    ولی میخوام اینم یاد بگیرم

  25. #25
    سلام BlackDal
    ساختار شما درست و کاملا جواب داد

    حالا میخوام بدونم چه فرقی با ساختار قبلی داشت که اون ساختار درست نبود ???

    جوابمو بدی ها
    من به کمک شما ها نیازمندم :wise1:

    راستی افت هم به خاطر کدی که upload کرده بود تشکر میکنم
    چون جواب داد :oops:

  26. #26
    سلام پدرام خان

    در ساختار Case شرط مقابل در Case با متغیر اعلام شده به Select مقایسه میشه ؛ یعنی در مثالی که شما نوشته بودین وی بی این Case زیر رو

    Select Case n
    Case n > 0:

    این طور تفسیر می کرد

    If n = n < 0 Then


    که مطابق خواسته شما نبود . احتمالاً شما فکر کردین شروط جلوی Case شرط های مستقل هستند در هنگام نوشتن Case می تونین با سه روش شرط جلوی هر Case رو اعلام کنین
    اول:
    یک مقدار مطلق بنویسید مثل

    Case 2:

    روش دوم:
    یک شرط بنویسید . توجه کنید که به جای آرگومان Select Case باید از Is استفاده کنین ( مثل همون کدی که من نوشتم ) مثال :


    Case Is < 100 :

    و روش سوم :
    یک محدوده اعلام کنید . مثال

    Case 1 to 10:

    در مثال بالایی اکه مقدار متغیر اعلام شده به Select Caseُ بین 1 و 10 باشه دستورات این Case اجرا میشه

  27. #27
    سیاه دل از آموزشت ممنون
    دوستان من به جواب هام در این تاپیک رسیدم ( به لطف همه دوستان )
    برای کمک به من
    http://www.barnamenevis.org/vi...=107267#107267
    ممنون

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •