请教关于动态取值判断in的使用问题(50分)

  • 主题发起人 主题发起人 pxzst
  • 开始时间 开始时间
P

pxzst

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中需要动态判断输入的值是否在我规定的范围内,如
if ADOQuery1.fieldbyname('A1').asinteger in (1,2,3) then .....
现我需要动态生成值域:1,2,3,即改为
if ADOQuery1.fieldbyname('A1').asinteger in (ADOQuery1.FieldByName('值域').asstring) then ....
但这样改提示出错

请问上面这句应怎样修改才能满足动态判断值域的问题?
 
你可能需要动态的生产set,给你一段delphi帮助里面的代码,简单改造过。
type TIntSet=set of 1..250;
var Set1:TIntSet;
{$R *.dfm}

procedure TForm1.Button1Click(Sender:TObject);
var k,t:Integer;
begin
Set1:= [k,k*10,k*30];//你把数据库的值域数据取出来生成在这里。
if t in set1 then
ShowMessage('OK');
end;
 
你可以把值域读取出来,放在TStrings中。在对输入的值进行判断就OK了三。。。。。
 
我在字段是输入的值域格式是:1,2,3,要一个一个值的读很麻烦。程序有些类似于
var
A:X //不知X应定为什么类型;
T:integer;
begin
A:='1,2,3'
if T in Y(A) then //Y不是应是什么函数
showmessage('OK')
else
showmesage('No');
end;

需要求解的就是X应使用什么变量类型,Y应使用什么函数进行转换,希望能给出例子!谢谢!
 
后退
顶部