很久以前写的了 参考下 procedure Tfrm_cx.tolClick(Sender: TObject); var i,cz:integer;itemstr:string; begin if lb1.itemindex>-1 then begin cz:=0; itemstr:=lb1.Items.Strings[lb1.itemindex]; for i:=0 to lb2.Items.Count-1 do begin if lb2.Items.strings[i]=itemstr then begin cz:=1; break; end end; if cz=0 then begin lb2.items.add(itemstr); button1.enabled:=true; qysave.enabled:=true; table2.append; table2.FindField('字段名').asstring:=itemstr ; end else application.MessageBox('您所选择的字段已存在输出列表中,请不要重复。','错误',16); end else showmessage('请选择要输出的字段.'); end;
首先要将listbox1的MultiSelect属性设为true for I:=0 to listbox1.Count-1 do begin if listbox1.Selected[i] then listbox2.Items.Add(listbox1.Items[i]); end; 插入空表就不写了不就是从listbox2 中循环插入一遍嘛
参考下
procedure Tfrm_cx.tolClick(Sender: TObject);
var
i,cz:integer;itemstr:string;
begin
if lb1.itemindex>-1 then
begin
cz:=0;
itemstr:=lb1.Items.Strings[lb1.itemindex];
for i:=0 to lb2.Items.Count-1 do
begin
if lb2.Items.strings[i]=itemstr then
begin
cz:=1;
break;
end
end;
if cz=0 then
begin
lb2.items.add(itemstr);
button1.enabled:=true;
qysave.enabled:=true;
table2.append;
table2.FindField('字段名').asstring:=itemstr ;
end
else
application.MessageBox('您所选择的字段已存在输出列表中,请不要重复。','错误',16);
end
else
showmessage('请选择要输出的字段.');
end;
for I:=0 to listbox1.Count-1 do
begin
if listbox1.Selected[i] then
listbox2.Items.Add(listbox1.Items[i]);
end;
插入空表就不写了不就是从listbox2 中循环插入一遍嘛