Case AA Of 中的AA是不能为String类型吗?但要是为string类型应该怎么样完成这功能? 要求完成如下功能:希望能执行语句3.AA:='ABC';case AA of 'AAA':语句1; 'AAB':语句2; 'ABC':语句3; end; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不可以的,C#可以支持这样,Delphi只允许Ordinal类型。 不能为STRING,但是可以用IF语句来解决 Delphi又不是VB啊,不同的语言又不同的规定! 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*) (注意:不要使用 UpperCase, 应使用 AnsiUpperCase, 否则你的程序将在国际化中工作不正常。) case 只能用与那些有序类型,字符串是不能用case的,比如数字123456,或abcdef二十六个字母,或者枚举类型。你这种情况只能用if AA='AAA' then 语句1else if AA='AAB' then 语句2else if AA='ABC' then 语句3; CXGRID用法问题 关于DBGrideh下拉列表的问题 (急)Tidhttp下载回来的繁体网页,显示为乱码,请问如何解码??? 下载的源码怎么不能用? 一个初级问题想请教 如何更改(或重新设置)Delphi中Ctrl+Space的快捷键? 如何将TDATABASE/TTABLE/TDBCHART这样的控件做成ACTIVEX控件? 怎么样将DBGRID的内容输出excel表格 如何实现将word的表格和文本存入数据库中? 给出tlbpas 求调用 都在散分 我也凑个热闹 怎么样取DBCombobox返回的是它的类似index(也就是第几行),而不是Text(第几行值)。
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*)
(注意:不要使用 UpperCase, 应使用 AnsiUpperCase, 否则你的程序将在国际化中工作不正常。)
或abcdef二十六个字母,或者枚举类型。
你这种情况只能用
if AA='AAA' then
语句1
else if AA='AAB' then
语句2
else if AA='ABC' then
语句3;