unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    ListBox2: TListBox;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
   
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
  if edit1.Text<>'' then
  begin
     listbox1.Items.Add(edit1.Text);
     listbox1.Items.SaveToFile('listfile.dat');
     edit1.Text:='';
     edit1.SetFocus;
  end;   
end;procedure TForm1.FormCreate(Sender: TObject);
begin
  edit1.Text:='';
  if fileexists('listfile.dat') then
    listbox1.Items.LoadFromFile('listfile.dat');
  if fileexists('selfile.dat') then
    listbox2.Items.LoadFromFile('selfile.dat');
end;procedure TForm1.Button2Click(Sender: TObject);
begin
  close;
end;procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
liststr:string;
begin
  for i:=0 to listbox1.Items.Count-1  do
  begin
    liststr:=listbox1.Items.Strings[i];
    listbox2.Items.Add(liststr);
  end;
  listbox1.Clear;
  listbox1.Items.SaveToFile('listfile.dat');
  listbox2.Items.SaveToFile('selfile.dat');end;procedure TForm1.Button6Click(Sender: TObject);
var
i:integer;
liststr:string;
begin
  for i:=0 to listbox2.Items.Count-1  do
  begin
    liststr:=listbox2.Items.Strings[i];
    listbox1.Items.Add(liststr);
  end;
  listbox2.Clear;
  listbox1.Items.SaveToFile('listfile.dat');
  listbox2.Items.SaveToFile('selfile.dat');
end;procedure TForm1.Button4Click(Sender: TObject);
var
  i,listcount:integer;
  liststr:string;
begin
   listcount:=listbox1.Items.Count-1;
   for i:=1 to listcount do
      if listbox1.Selected[i] then
      begin
        liststr:=listbox1.Items.Strings[i];
        listbox2.Items.Add(liststr);
      end;
   for i:=listcount downto 1 do
      if listbox1.Selected[i] then
        listbox1.Items.delete(i);
        listbox1.items.savetofile('listfile.dat');
        listbox2.items.savetofile('selfile.dat');
end;procedure TForm1.Button5Click(Sender: TObject);
var
  i,listcount:integer;
  liststr:string;
begin
   listcount:=listbox2.Items.Count-1;
   for i:=1 to listcount do
      if listbox2.Selected[i] then
      begin
        liststr:=listbox2.Items.Strings[i];
        listbox1.Items.Add(liststr);
      end;
   for i:=listcount downto 1 do
      if listbox2.Selected[i] then
        listbox2.Items.delete(i);
        listbox1.items.savetofile('listfile.dat');
        listbox2.items.savetofile('selfile.dat');end;procedure TForm1.Button7Click(Sender: TObject);
var
  k,b:integer;
begin
    for k:=1 to listbox1.Items.Count-1  do
      if listbox1.Selected[k]  then
         listbox1.Items.Delete(k) ;
    for b:=1 to listbox2.Items.Count-1  do
      if  listbox2.Selected[b]  then
         listbox2.Items.Delete(b);
         listbox2.Items.SaveToFile('selfile.dat');
         listbox1.Items.SaveToFile('listfile.dat');
end;end.
问题应该是在
procedure TForm1.Button7Click(Sender: TObject);
var
  k,b:integer;
begin
    for k:=1 to listbox1.Items.Count-1  do
      if listbox1.Selected[k]  then
         listbox1.Items.Delete(k) ;
    for b:=1 to listbox2.Items.Count-1  do
      if  listbox2.Selected[b]  then
         listbox2.Items.Delete(b);
         listbox2.Items.SaveToFile('selfile.dat');
         listbox1.Items.SaveToFile('listfile.dat');
end;
但我不知道怎么修改
请教高手!!!
急急急急!!!

解决方案 »

  1.   

    反过来,即可
    procedure   TForm1.Button7Click(Sender:   TObject); 
    var 
        k,b:integer; 
    begin 
            for k:=listbox1.Items.Count-1 downto 1    do 
                if   listbox1.Selected[k]     then 
                      listbox1.Items.Delete(k)   ; 
            for b:=listbox2.Items.Count-1 downto 1    do 
                if     listbox2.Selected[b]     then 
                      listbox2.Items.Delete(b); 
                      listbox2.Items.SaveToFile( 'selfile.dat '); 
                      listbox1.Items.SaveToFile( 'listfile.dat '); 
    end;