delphi中可以用IN来判断一个数是否在一个集合中,
比如
for j:=0 to chklistbox.Items.Count-1 do
begin
if j in [1,3,7] then
chklistbox.Checked[j]:=true;
end;
可以为chklistbox打勾,但是如果[1,3,7]不是这样直接指定的,而是储存在数据库中又该如何操作呢?我打算是把它储存在一个text字段中。也用1,3,7的形式。
但是读出来后怎么写呢?
是
if j in [adotable1.fieldbyname('aaa').asstring]这样可以吗?
比如
for j:=0 to chklistbox.Items.Count-1 do
begin
if j in [1,3,7] then
chklistbox.Checked[j]:=true;
end;
可以为chklistbox打勾,但是如果[1,3,7]不是这样直接指定的,而是储存在数据库中又该如何操作呢?我打算是把它储存在一个text字段中。也用1,3,7的形式。
但是读出来后怎么写呢?
是
if j in [adotable1.fieldbyname('aaa').asstring]这样可以吗?
for j:=0 to chklistbox.Items.Count-1 do
begin
if pos(','+inttostr(j)+',',adotable1.fieldbyname('aaa').asstring)<>0
or (inttostr(j)+','=copy(adotable1.fieldbyname('aaa').asstring,1,length(inttostr(j))+1) then
chklistbox.Checked[j]:=true;
end;
sList : TStringList;
i , index: integer;
begin
sList := TStringList.Create();
sList.Delimiter = ',';
sList.DelimiterText := text; if(sList.Find('1',index)) then //-------------查询
ShowMessage(IntToStr(index));
end;