Модуль "P2KFileManager" (часть 10) - DeleteFile

Рубрика: Исходники
Среда, 21 апреля 2010 г.
Просмотров: 201
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
procedure TfrmP2KFileManager.DeleteFile;
var
  n: TTreeNode;
  p,s, tmp: string;
  i, h, j, curSize: integer;
  frmProgress:  TfrmProgress;
  xItem: TListItem;
begin
  if not Form1.IsP2KConnected then exit;
  if AdvListView1.SelCount < 1 then exit;
  if RzTreeView1.Selected = nil then exit;

  n:= RzTreeView1.Selected;
  while n <> nil do
    begin
      Insert('/' + n.Text, p, 1);
      n:= n.Parent;
    end;
  p:= p + '/';
  frmProgress:= TfrmProgress.Create(Self);
  frmProgress.GradientLabel1.Visible:= true;
  frmProgress.GradientLabel2.Visible:= true;
  frmProgress.GradientLabel1.Caption:= '';
  frmProgress.GradientLabel2.Caption:= '';
  frmProgress.AdvProgressBar1.Value:= 0;
  frmProgress.AdvProgressBar1.Visible:= true;
  frmProgress.AdvProgressBar2.Value:= 0;
  frmProgress.AdvProgressBar2.Visible:= false;
  curSize:= 0;
  h:= AdvListView1.SelCount;
  frmProgress.AdvProgressBar1.Value:= 0;
  frmProgress.AdvProgressBar1.MaxValue:= h;
  frmProgress.GradientLabel2.Caption:= Format(p2k_fm_pw_text06, [p]);
  Form1.Enabled:= false;
  frmProgress.Show;
  //##Application.ProcessMessages;
  frmProgress.Update;
  try
  xItem:= AdvListView1.Selected;
  while xItem <> nil do
    begin
     s:= xItem.Caption;
     curSize:= integer(xItem.Data);
     frmProgress.GradientLabel1.Caption:= Format(p2k_fm_pw_text07, [s]);
     //##Application.ProcessMessages;
     frmProgress.Update;
     try
       P2K.DeleteFile(p + s);
       //DelFileFromList(p + s, 0, xMotoFiles);
       DelFileFromList(p + s, 0);
        tmp:= Copy(p, 1, 2);
        for j:= 0 to High(arrDrives) do
          begin
            if tmp = arrDrives[j].Name then begin
                                              arrDrives[i].CntFiles:= arrDrives[j].CntFiles-1;
                                              arrDrives[i].Size:= arrDrives[j].Size + curSize;
                                              break;
                                            end;
          end;
     finally
     end;
     xItem:= AdvListView1.GetNextItem(xItem, sdAll, [isSelected]);
    end;
    RzTreeView1.OnChange(RzTreeView1, RzTreeView1.Selected);
  finally
    frmProgress.Free;
    Form1.Enabled:= true;
  end;
end;
Rambler's Top100