Explorar el Código

使用Zip进行压缩时,不使用临时文件做中转

MaiXinRong hace 9 años
padre
commit
255ec671e9
Se han modificado 1 ficheros con 17 adiciones y 0 borrados
  1. 17 0
      Units/UtilMethods.pas

+ 17 - 0
Units/UtilMethods.pas

@@ -887,6 +887,22 @@ var
   vZip: TVCLZip;
   vZip: TVCLZip;
   iCount: Integer;
   iCount: Integer;
 begin
 begin
+  vZip := TVCLZip.Create(nil);
+  iCount := 0;
+  try
+    vZip.FilesList.Clear;
+    vzip.RootDir := AFileFolder;
+    vZip.ZipName := AFileName;
+    vZip.OverwriteMode := Always;
+    //vZip.AddDirEntriesOnRecurse:=True;
+    vZip.RelativePaths := True;
+    //vZip.RecreateDirs := True;
+    vZip.FilesList.Add(AFileFolder + '\*.*');
+    vZip.Zip;
+  finally
+    vZip.Free;
+  end;
+  (*
   sTempFile := GetTempFileName;
   sTempFile := GetTempFileName;
   vZip := TVCLZip.Create(nil);
   vZip := TVCLZip.Create(nil);
   iCount := 0;
   iCount := 0;
@@ -911,6 +927,7 @@ begin
     if FileExists(sTempFile) then
     if FileExists(sTempFile) then
       DeleteFile(sTempFile);
       DeleteFile(sTempFile);
   end;
   end;
+  *)
 end;
 end;
 
 
 function UnZipFile(AFileName, AFileFolder: string): Boolean;
 function UnZipFile(AFileName, AFileFolder: string): Boolean;