如何用 case 来对字符串进行判断??
如何用 case 来对字符串进行判断??
我习惯了VB里的
select text1.text case
case "yagas"
aa.caption="a"
case "song"
aa.caption="b"
end select
了,不知道DELPHI里如何实现这个功能??
问题点数:50、回复次数:6Top
1 楼miky(miky)回复于 2004-05-01 22:45:04 得分 50
var
SelectStrings: TStringList;
...
{ Initialization }
SelectStrings := TStringList.Create;
SelectStrings.Add('First'); (*1*)
SelectStrings.Add('Second'); (*2*)
SelectStrings.Add('Third'); (*3*)
...
{ Use it }
case SelectStrings.IndexOf(sPassedString) of (*4*)
0: //First
begin
<do something>
end;
1: //Second
begin
<do something>
end;
2: //Third
begin
<do something>
end;
end;
...
{ Finalization }
SelectStrings.Free;
上面是大小写敏感的比较,如果要对大小写不敏感则改用下面的比较方法:
SelectStrings.Add(AnsiUpperCase('First')); (*1*)
SelectStrings.Add(AnsiUpperCase('Second')); (*2*)
SelectStrings.Add(AnsiUpperCase('Third')); (*3*)
case SelectStrings.IndexOf(AnsiUpperCase(sPassedString)) of (*4*)
Top
2 楼outer2000(天外流星)回复于 2004-05-02 08:40:51 得分 0
同意楼上,PASCAL不支持对STRING的CASETop
3 楼hnhb(不死鸟)回复于 2004-05-02 09:52:55 得分 0
同意一楼的哥们....Top
4 楼kxn(棋德)回复于 2004-05-02 09:57:31 得分 0
学习Top
5 楼kxn(棋德)回复于 2004-05-02 10:16:47 得分 0
mkiy
请问sPassedString是什么意思Top
6 楼miky(miky)回复于 2004-05-02 10:21:10 得分 0
sPassedString 就是你要Case 的那个字符串Top




