PDA

View Full Version : سوال: مشکل در ارسال پارامتر به winrar



Samsam2010
شنبه 06 شهریور 1389, 01:36 صبح
با سلام

دوستان من در ارسال پارامتر به winrar مشکل دارم لطفا کمکم کنید

من طبق این فرمولی که پیدا کردم می خواستم یک تکس باکس و یه لیست اضافه کنم .

Dim ret As Long
ret = Shell("c:\program files\winrar\rar a -ap c:\test.rar -ptest c:\answer.txt c:\test.xml")

کد بالا همین طور که می دونید فایل های answer.txt و test.xm رو در درایو C به فایل test.rar
در همون درایو تبدیل می کنه حالا من می خوام تکس باکس آدرس و اسم test.rar باشه
جای فایل ها هم یک لیست باکس

خوب با کمی تغییر به این شکل درآوردمش که کار نمی کنه :

ret = Shell("c:\program files\winrar\rar a -ap " & Text1.Text & " -ptest " & List1.List(0))


لطفا راهنمایی ام کنید

vbhamed
شنبه 06 شهریور 1389, 04:58 صبح
سلام

اين دو حالت رو هم تست كنيد

ret = Shell("'c:\program files\winrar\rar' a -ap " & Text1.Text & " -ptest " & List1.List(0))
ret = Shell("'c:\program files\winrar\rar' a -ap '" & Text1.Text & "' -ptest '" & List1.List(0) & "'")

xxxxx_xxxxx
شنبه 06 شهریور 1389, 07:44 صبح
سلام،
معادل سازیتون صحیح هست. فقط احتمالاً توی TextBox از کاراکتر Space استفاده کردید که باعث تداخل در پارامترها میشه. برای رفع این مشکل باید دو طرف متن TextBox رو با علامت " پر کنید.
این رو امتحان کنید:


Shell "c:\program files\winrar\rar a -ap " & Chr(34) & Text1.Text & Chr(34) & " -ptest " & List1.List(0)

Samsam2010
شنبه 06 شهریور 1389, 08:55 صبح
دوستان درست نشد
ظاهر و باطن ؛ یه نگاهی لطفا به این سورس بندازید ببینید مشکل از کجاست ! :لبخند: 54871

vbhamed
یک شنبه 07 شهریور 1389, 22:12 عصر
سلام

اينم صحيحش
البته مسير winrar خودتون رو اصلاح كنيد


Shell "e:\Program Files\WinRAR\WinRAR.exe a -ap " & Chr$(34) & Text1.Text & Chr$(34) & " -ptest " & Chr$(34) & List1.List(0) & Chr$(34)

Samsam2010
سه شنبه 09 شهریور 1389, 06:00 صبح
دوست من خیلی از لطف شما ممنونم کارم راه افتاد خیلی دعات کردم، اما به نظر شما میشه پسورد را هم از طریق شل برای برنامه فرستاد آیا دستوری داره ممنونم

vbhamed
یک شنبه 14 شهریور 1389, 02:49 صبح
سلام

ممنون شما لطف دارين

ضمنا همون دستور بالا پسورد test رو مي فرسته ديگه