for I:=listbox1.items.count downto 0 do begin
   if ListBox1.selected[i] then 
      ListBox1.Delete[i];
end;

解决方案 »

  1.   

    应该是
    for I:= (listbox1.items.count - 1) downto 0 do begin
       if ListBox1.selected[i] then 
          ListBox1.Items.Delete(i);
    end;
      

  2.   

    procedure TForm1.ListBox1DblClick(Sender: TObject);
    var
    i:integer;
    str:string;
    begin
    for i:=0 to listbox1.items.count-1 do
    if listbox1.Selected[i] then
    begin
    str:=listbox1.items.strings[i];
    listbox2.items.add(str);
    end;
    for I := (listbox1.items.count - 1) downto 0 do begin
       if ListBox1.selected[i] then
          ListBox1.items.Delete(i);
    end;
    end;
      

  3.   

    把listbox2中的n 个选择项剪切入 Listbox1
        Listbox1.CopySelection(Listbox2);
        Listbox2.DeleteSelected;
      

  4.   

    对FORM1的DBGRID中的第一列(药品代码)进行选择,要求是当在第一列输入一个代码时,双击该项,如果该代码存在,则在DBGRID的其他列显示出其相应信息。如果该代码不存在,则调出FORM2增加需要的药品代码。这时该怎么办?