select case

rah

Member
سلام به همگی

چجوری میشه از جایی از صفحه به جایی دیگر پرید:
تو visualbasic اینطوری بود دیگه:

Go to aa
...

aa: somethings


من دستور سلکت کیس در کدهایم گذاشتم و بعد از گفتن مثلاً :

case "01"

میخوام با یه دستوری بپرم به چند خط بعد
نمی دونم تونستم بفهمونمتون یا نه !!!!
دیرم شد
منتظزتونم

در ضمن دستور سلکت کیس، else هم داره ؟؟؟؟؟
اگه داره چجوریه؟
چون مثلاً عین EsleIf که نیست.
به هرحال توی سلکت کیس بخاهیم بگیم اگر اینطوری نبود، اینطوری بود، فلان شه چجوریه؟ :D
 
اگه vb بخوای اینجوری میشه: ( برا asp مثلا )
دستور شرطی select case به این صورت هست که در صورت برابری هر پارامتر جلوی case با اونچه که از اول مشخص کردیم ( جلوی select case نوشته ایم ) آن قسمت را اجرا میکند - در غیر این صورت عبارت جلوی case else اجرا میشه ( همونی که شاید میخواستید )

مثال خود مایکروسافت :
HTML:
Dim number As Integer = 8
Select Case number
    Case 1 To 5
        Debug.WriteLine("Between 1 and 5, inclusive")
        ' The following is the only Case clause that evaluates to True.
    Case 6, 7, 8
        Debug.WriteLine("Between 6 and 8, inclusive")
    Case 9 To 10
        Debug.WriteLine("Equal to 9 or 10")
    Case Else
        Debug.WriteLine("Not between 1 and 10, inclusive")
End Select

شاد باشید.
 

rah

Member
حرف شما متین،
مثلا ما برای یه کیس خاص یه مقداری تعریف می کنیم، بعد تو خط بعدیش می گیم مثلاً فلان شه.
شما فقط اگه به من بگید به جای فلان شه چی بنویسم که مثلا به خط معینی بپرم، مشکلم حله.
همین - منتظرم :d
 
1) نمیگم! ( باید کدی بنویسی که نیاز به پرش نداشته باشه - اگه حس میکنی اشتباه میکنم بگو!!! )
 

rah

Member
شما این روش رو به من بگو حله
پرش از جای معینی به جای معینی دیگر در صفحه :d
بی زحمت
 
عزیز - من یه چیزی نمیگم که فقط کار طرف راه بیوفته! - اگه یه چیزی هم یاد گرفتیم اون درسته!
حالا هر جور صلاح بدونی - بگو میخوای چیکار کنی؟
ساختارت اشتباست !!!
 
اشکال نداره - بهت میگم :

اما سعی کن استفاده نکنی ( Top-down کد بودنت زیر سوال میره )

label:

dastoorat

goto label

یادت باشه که label باید بالاتر از صدا زدنش باشه ! (مثل همین قالب که نوشتم )
 
آخرین ویرایش:

rah

Member
من دستور سلکت کیسم بالاتر از دستوراته، ببین:
کد:
Select Case Request.QueryString("ali")
case "01"
Goto:aa
case else "02"
Goto:bb
.
.
.
-->a
.
.
.
-->b
End Select

متوجه شدی؟
اونجا که نوشتم goto aa یا bb بعد aa و bb رو مشخص کردم اصلا کجا هستن.
حالا ببین درست هست یانه. :D - بعدش هم با این کار نداشته باش که کجا ببندمش که پایینتر یعنی مثلا تو bb نره. اون حله. کل دستور فوق درسته یانه. ممنونم از اینکه کمکم کردی :)
 
1) درست یا غلط بودنش رو میتوی با اجرا کردنش بفهمی!
2) گمونم این درست باشه! ( تست کن خودت )

کد:
Select Case Request.QueryString("ali")
case "01"
Goto aa
case "02"
Goto bb
case else
Goto bb
End Select
aa: CODE 1
bb: CODE 2
 
آخرین ویرایش:
اشتباهی به جای
Goto bb
نوشته بودم Goto:bb - درستش کردی؟ نشد ؟ ( اگه نشد - من میگم بیخیال شو - یه کدی بنویس که نیاز به برگشت به عقب یاجلو یا پرش نداشته باشه )
 

rah

Member
درستش کردم اما نمی شه

ببین، من یه کد ثابتی دارم
قبلش با دستور selcet Case می گم که اگر کوئری استرینک مثلاً فلان بود بره سر اون کده
دوباره اگه فلان بود، بره سر همون کده
اما اینی که می گم لازم دارم. ممکنه خندت بگیره ! :shock:
 
بله درسته ! :D
VB اپلیکیشن این امکان را دارد - اما VBScript خیر! ( فقط On Error Goto کار میکنه - که اونم دستور پرش نیست - ظاهرش اینجوریه! )

صفحه یک را نگاه کنید! ( من گفته بودم ساختار برنامه اشتباست که نیاز به goto پیدا کردند ایشون ) :wink:
به هر حال ایشون اصرار داشتند - من هم گفتم شکل استفادش اینجوریه - درستم هست ( اما توی VB 6 مثلا ) :lol:

راستی خود شما مشکلتون با include حل شد ؟
 

m1pfard

Member
مشکل که نبود، می خواستم بدونم راه دیگه ای وجود داره یا نه، که متاسفانه نشد!
 

mazoolagh

Active Member
درستش کردم اما نمی شه

ببین، من یه کد ثابتی دارم
قبلش با دستور selcet Case می گم که اگر کوئری استرینک مثلاً فلان بود بره سر اون کده
دوباره اگه فلان بود، بره سر همون کده
اما اینی که می گم لازم دارم. ممکنه خندت بگیره ! :shock:

همین نشون میده ساختار کد اشکال اساسی داره - اون رو اصلاح کنین یا خواسته تون رو بگین تا راه درست رو به شما نشون بدن
 

جدیدترین ارسال ها

بالا