case 语句 case str of 'test1' : showmessage('test1') ; 'test2' : showmessage('test2') ; 'test3' : showmessage('test3') ; end;还是有错急 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Delphi的Case语句中的变量必须是有序的类型。 Delphi的Case语句中的变量必须是有序的类型。所以你若要对无序的类型进行变换的话,就必须进行一系列的变换。如下:function Str2Ac(SourceStrs:String):string;var SelectStrings: TStringList;begin SelectStrings := TStringList.Create; SelectStrings.Add('等于'); SelectStrings.Add('并且'); SelectStrings.Add('或者'); SelectStrings.Add('小于等于'); SelectStrings.Add('大于等于'); SelectStrings.Add('小于'); SelectStrings.Add('大于'); SelectStrings.Add('不等于'); SelectStrings.Add('类似'); case SelectStrings.IndexOf(SourceStrs) of 0:Result :=' = '; 1:Result :=' AND '; 2:Result :=' or '; 3:Result :=' <= '; 4:Result :=' >= '; 5:Result :=' < '; 6:Result :=' > '; 7:Result :=' <> '; 8:Result :=' like '; end; SelectStrings.Free;end; 什么都能Case那就不是小Case了。整数、枚举、字符(不是字符串)可以Case,其他,免谈! Hongyan_OK(梦里人) 已经完全谈过了,很精辟,请仔细分析一下后再发言。当然 CASE 里的内容自已一定要首先定义好。例子如下var SelectStrings: TStringList;begin SelectStrings := TStringList.Create; SelectStrings.Add('test1'); SelectStrings.Add('test2'); SelectStrings.Add('test3'); case SelectStrings.IndexOf(SourceStrs) of 0:showmessage('test1') ; 1:showmessage('test2') ; 2:showmessage('test3') ; end; SelectStrings.Free;//注意一定要FREEend; CASE中的必需是有序类型的,如果你非得要使一个字符串类型可以用枚举先定义一下。或是字符串数组。另外str是函数名,不能乱用。typeTstr1=(test1,test2,test3);var a:Tstr1;这样你可以引用了。 天敏卡vc4000开发问题 大家用delphi 都用什么数据访问技术 怎么样用installshield8.0把安装文件做成一个EXE啊? 请问,如何在一条字符串中把网址提出来,请指教. 关于DBChart的打印输出问题(在线等)? 高级控件的开发技术,过来show一下吧!up有分! 服务程序怎么样自动安装 请教,如何方便的使用Qreport. 竖线图表显示 CSDN网管,你们是不是在放假,服务器的密码都让人知道了,还在休闲那! delphi新手提问,谢谢! 98下用D5写的程序在2000下运行为何有些字体的位置走样?
如下:
function Str2Ac(SourceStrs:String):string;
var SelectStrings: TStringList;
begin
SelectStrings := TStringList.Create;
SelectStrings.Add('等于');
SelectStrings.Add('并且');
SelectStrings.Add('或者');
SelectStrings.Add('小于等于');
SelectStrings.Add('大于等于');
SelectStrings.Add('小于');
SelectStrings.Add('大于');
SelectStrings.Add('不等于');
SelectStrings.Add('类似');
case SelectStrings.IndexOf(SourceStrs) of
0:Result :=' = ';
1:Result :=' AND ';
2:Result :=' or ';
3:Result :=' <= ';
4:Result :=' >= ';
5:Result :=' < ';
6:Result :=' > ';
7:Result :=' <> ';
8:Result :=' like ';
end;
SelectStrings.Free;
end;
整数、枚举、字符(不是字符串)可以Case,其他,免谈!
当然 CASE 里的内容自已一定要首先定义好。例子如下
var SelectStrings: TStringList;
begin
SelectStrings := TStringList.Create;
SelectStrings.Add('test1');
SelectStrings.Add('test2');
SelectStrings.Add('test3');
case SelectStrings.IndexOf(SourceStrs) of
0:showmessage('test1') ;
1:showmessage('test2') ;
2:showmessage('test3') ;
end;
SelectStrings.Free;//注意一定要FREE
end;
type
Tstr1=(test1,test2,test3);
var
a:Tstr1;
这样你可以引用了。