PDA

View Full Version : مشکل در فشرده سازی اطلاعات با Rar



فریدی
شنبه 18 مهر 1383, 21:50 عصر
من برای فشرده کردن دایرکتوری اطلاعات از دستور زیر استفاده میکنم
WinExec(Pchar(' Rar a -o+ "Path and Name of BackupFile With Rar Extention" "Path of Data Directory"'),SW_Show);
حال اگر مسیر فایلهای اطلاعات و یا مسیر قراردادن فایل فشرده شده دارای یک Space باشد ، در انجام فشرده سازی ایراد پیش می آید و Error میگیرد.
برای حل کردن این مشکل چه راهی وجود دارد؟
:roll:

فریدی
سه شنبه 28 مهر 1383, 21:12 عصر
رفتم از ZipTVاستفاده کردم ولی اون هم مورد داره.
با کومپوننت ZipTV چرا اگر مسیر را فلاپی یا سیدی درایو انتخاب کنیم.عمل فشرده سازی رو انجام نمیده :sad2:

MiRHaDi
پنج شنبه 30 مهر 1383, 22:51 عصر
سلام
ببین اگه به جای Space,"%20" بزنی درست نمیشه ؟
بای

فرزاد دلفی باز
جمعه 01 آبان 1383, 04:10 صبح
دوستان عزیز اگه برای شما امکان داره در رابطه با Zip کردن اطلاعات یا در رابطه با BackUP گیری. اگه مطلبی دارید خواهشمندم من رو مطلع کنید . متشکر

مهدی کرامتی
جمعه 01 آبان 1383, 04:58 صبح
TurboPower Abbrevia رو هم امتحان کنید.

نپرسید از کجا بیارمش؟! تو گوگل بگردید پیداش میکنید (رایگان است).

فرزاد دلفی باز
جمعه 01 آبان 1383, 14:49 عصر
دوست عزیز DelphiAssistant:
اگه امکان داره در این مورد بیشتر توضیح بدهید متشکر می شوم

mkalone
جمعه 01 آبان 1383, 17:41 عصر
function TBackupRestoreForm.ZipFiles():Boolean;
var
CDir:string;
begin
GetDir(0,CDir);
ChDir(DM.DBPath);
Result:=True;
try
if FileExists(FileNameEdit.Text) then DeleteFile(FileNameEdit.Text);
if WinExecAndWait32(DM.ProjectPath+'\zip.exe '+FileNameEdit.Text+' *.*',1) < 0 then begin
ShowMessage('خطا در عمل فشرده سازی');
Result:=false;
end;
except
ShowMessage('خطا در عمل فشرده سازی');
Result:=False;
end;
ChDir(CDir);
end;

function TBackupRestoreForm.UnZipFiles: boolean;
var
CDir:string;
App:String;
begin
GetDir(0,CDir);
ChDir(DM.DBPath);
Result:=True;
CopyFile(PChar(DM.ProjectPath+'\Unzip.exe'),PChar( DM.DBPath+'\Unzip.exe'),False);
App:='Unzip.exe -o '+FileListBox.Items.Strings[FileListBox.ItemIndex] ;
try
if WinExecAndWait32(App,1) < 0 then begin
ShowMessage('خطا در عمل فشرده سازی');
Result:=false;
end;
except
ShowMessage('خطا در بازیابی اطلاعات');
Result:=False;
end;
ChDir(CDir);
end;
FileNameEdit نام فابل ای است که قراراست زیپ یا آنزیپ شود
من با این تابعی که برای یکی از برنامه هام نوشته ام مشکلم حل شده است.
اگر سئوالی داشتید بپرسید
امیدوارم به دردتان بخورد

فرزاد دلفی باز
شنبه 02 آبان 1383, 00:35 صبح
دوست عزیز mkalone
از راهنمایی شما متشکرم :)

فریدی
شنبه 02 آبان 1383, 22:46 عصر
WinExecAndWait32
دلفی این دستور رو نمی شناسه. میشه تعریفش رو هم مرقوم بفرمایید؟ :P