盖世神功的盖的意思:请问:关于select case的一个问题?

来源:百度文库 编辑:中科新闻网 时间:2024/05/03 20:31:55
Select Case LCase(SenFe)
Case "":SenFe_Head:SenFe_Main:SenFe_Foot
Case "listbook":SenFe_Head:SenFe_ListBook:SenFe_Foot
Case "showbook":SenFe_Head:SenFe_ShowBook:SenFe_Foot
Case "searchbook":SenFe_Head:SenFe_SearchBook:SenFe_Foot
Case "upsearch":SenFe_Head:SenFe_UpSearch:SenFe_Foot
Case "topten":SenFe_Head:SenFe_TopTen:SenFe_Foot
Case "showauthor":SenFe_Head:SenFe_ShowAuthor:SenFe_Foot
Case "readbook":SenFe_Head:SenFe_ReadBook:SenFe_Foot
Case "bookall":SenFe_Head:SenFe_BookAll:SenFe_Foot
Case Else:Response.Redirect "Book.Asp"
End Select

请问是怎样执行的?当lcase(senfe)=""时,执行SenFe_Head:SenFe_Main:SenFe_Foot????为什么case后面那么多‘:’,请知道的解释一下。
Case "":SenFe_Head:SenFe_Main:SenFe_Foot
Case "listbook":SenFe_Head:SenFe_ListBook:SenFe_Foot
这其中没有‘;’(分号),都是‘:’(冒号),是否就是从第一个分号隔开的,另外后面的几个是过程语句SenFe_Head:SenFe_Main:SenFe_Foot
也是用‘:’连接,是否是依次执行这三个过程的?

后面的“:”号是Asp语句不换行写的意思,如:

if a>b then
c=12
d=13
end if

可以写成
if a>b then
c=12:d=13
end if

Case "":SenFe_Head:SenFe_Main:SenFe_Foot
这句的意思是当LCase(SenFe) 为空时,执行上面三个函数!清楚了吗?它那样写只是为了代码简洁易看。

;后边代表执行
写成if 的话就是
if LCase(SenFe)="" then
SenFe_Head:SenFe_Main:SenFe_Foot
elseif LCase(SenFe)="listbook" then
SenFe_Head:SenFe_ListBook:SenFe_Foot
....
end if
类推

这是开关语句呀,也就等价于刚才楼上说的else if语句,不过建议你如果程序里有很多条件时,还是用开关语句比较好,当Select Case LCase(SenFe) 的括号里是什么的话,就去执行哪个Case后边的语句,你说的冒号是连续执行的意思~~~~