{-------------------------------------------------------------------------------
    当移入键被按下时,将源Word文档列表中被选中的文件复制一份到目标Word文档列表。
-------------------------------------------------------------------------------}
procedure TWordDocChange.bbtnMoveInClick(Sender: TObject);
var
  SrcFileName, DesFileName: string;
  i: Smallint;
begin
  if flbWordDocForSel.SelCount <= 0 then
  begin
    Application.MessageBox('请首先选择一个或多个文件', '提示', MB_OK + MB_ICONINFORMATION);
    Exit;
  end;
  for i := 0 to flbWordDocForSel.Items.Count - 1 do                  //对每一个文件进行处理
  begin
    if flbWordDocForSel.Selected[i] then                             //确认文件是否被选中
    begin
      SrcFileName := flbWordDocForSel.Directory + '\'
        + GetFileName(flbWordDocForSel.Items.Strings[i]);            //获得源文件名
      DesFileName := flbWaitForChange.Directory + '\'
        + GetFileName(flbWordDocForSel.Items.Strings[i]);            //形成目标文件名
      if FileExists(DesFileName) then
      begin
        if Application.MessageBox(PChar('目标文件列表中已存在'
          + GetFileName(flbWordDocForSel.Items.Strings[i]) + '文件!'
          + '单击确定覆盖,单击取消停止该操作。'),
          '提示', MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
        begin
          CopyFile(PChar(SrcFileName), PChar(DesFileName), False);   //复制源文件到目标文件
        end
        else begin
          flbWaitForChange.Update;                                   //更新目标文件列表
          Exit;
        end;
      end
      else begin
        CopyFile(PChar(SrcFileName), PChar(DesFileName), False);     //复制源文件到目标文件
      end;
    end;
  flbWaitForChange.Update;                                           //更新目标文件列表
  end;
  flbWordDocForSel.Update;                                           //更新源文件列表
end;{-------------------------------------------------------------------------------
    当移出键被按下时,删除目标文件列表中被选中的文件。
-------------------------------------------------------------------------------}
procedure TWordDocChange.bbtnMoveOutClick(Sender: TObject);
var
  i: Smallint;
  DesFileName: string;
begin
  if flbWaitForChange.SelCount <= 0 then
  begin
    Application.MessageBox('请首先选择一个或多个文件', '提示',
      MB_OK + MB_ICONINFORMATION);
    Exit;
  end;
  for i := 0 to flbWaitForChange.Items.Count -1 do                   //对每一个文件进行处理
  begin
    if flbWaitForChange.Selected[i] then                             //确认文件是否被选中
    begin
      DesFileName := flbWaitForChange.Directory + '\'
        + GetFileName(flbWaitForChange.Items.Strings[i]);            //获得被选中的文件名
      DeleteFile(DesFileName);                                       //删除被选中的文件
    end;
  end;
  flbWaitForChange.Update;
end;