منتدى تعليمي متعلق بالاتوبلاي ميديا ستوديو
 
الرئيسيةالتسجيلدخول

شاطر | 
 

  ( مجابة ) استفسار بخصوص فك ضغط وتسطيب برنامج

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
عابر سبيل



المساهمات : 83
تاريخ التسجيل : 14/03/2013

مُساهمةموضوع: ( مجابة ) استفسار بخصوص فك ضغط وتسطيب برنامج   الإثنين مارس 25, 2013 11:42 am


التساؤل لأيمن 107

السلام عليكم ورحمة الله وبركاتة
******
اسعد الله اوقاتكم بكل خير اخواني في الله
مشكلتي تتلخص في الاتي:
- عندي برنامج تسطيب صامت مضغوط بصيغة zip وبباسوورد
- والمطلوب عند الضغط علي زر التثبيت يقوم بفك الضغط وتثبيت البرنامج
فما الكود المطلوب لذلك
وشكرا
الرد لهيثم
الأمر بسيط ان شاء الله ..

اولا استخدم امر فك الضغط وليكن المسار الذي سوف يفك الضغط إلية مجلد Temp
الكود:
كود:
Zip.Extract("AutoPlay\\Docs\\MyZip.zip", {"*.*"}, _TempFolder, true, true, "", ZIP_OVERWRITE_NEVER, nil);

ثم بعد ذلك أمر التشغيل
الكود:
كود:
File.Open(_TempFolder.."\\filename.exe", "", SW_SHOWNORMAL);
بالتوفيق
بارك الله فيك استاذ هيثم
وزادك الله من علمة
ممكن اسفسار اخر اخي العزيز
هل يمكن ان اضع كود اخر لحذف الملف من التمب بعد عملية التسطيب؟
وقمت بكتابة هذا الكود ولكن دون جدوي
الكود:
كود:
File.Delete(_TempFolder.."\\filename.exe", false, false, false, nil);

فما الحل
وهل يوجد حل ؟
وشكرا لك واسف علي الازعاج
خالد علي يجيب
حسنا أخى أيمن فلنراجع الأكواد
الكود:
كود:
Zip.Extract("AutoPlay\\Docs\\ccsetup138.zip", {"*.*"}, _TempFolder, true, true, "", ZIP_OVERWRITE_NEVER, nil);
File.Open(_TempFolder.."\\ccsetup138.exe", "", SW_SHOWNORMAL);
File.Delete(_TempFolder.."\\ccsetup138.exe", false, false, false, nil);
ول سطر يقوم بفك الملف ...... لا مشكلة
السطر الثانى يقوم بتشغيل الملف ....... لا مشكلة
السطر الثالث يحاول مسح الملف و هو قيد التشغيل فلا يستطيع ... هنا المشكلة ...... فهمت أين الخطأ ؟؟

أخى هيثم أعطاك الأكواد الصحيحة 100%
أنت فقط لم توفق فى ترتيبها بالشكل الصحيح
أمامك حلان
الحل الأول
ضع السطر الثالث الخاص بالمسح فى حدث الخروج on leave للزر
أو حدث خروج الصفحة أو المشروع حسب الظروف

الحل الثانى
إستخدم هذا الكود و فيه تم إستبدال السطر الثانى بسطران
الكود:
كود:
Zip.Extract("AutoPlay\\Docs\\ccsetup138.zip", {"*.*"}, _TempFolder, true, true, "", ZIP_OVERWRITE_NEVER, nil);
File.Run(_TempFolder.."\\ccsetup138.exe", "", "", SW_SHOWNORMAL, true);
Application.Sleep(100);
File.Delete(_TempFolder.."\\ccsetup138.exe", false, false, false, nil);
لأن الأمر run يتيح خاصية الإنتظار wait for return و التى يجب ضبطها على true فى تلك الحالة
عندها سيتم إنتظار خروج الملف قبل محاولة مسحه
و الأمر sleep يمكن الإستغناء عنه و أنا وضعته للإحتياط فقط و لتأكيد الإنتظار

بارك الله فيك استاذ خالد
تم الحل بنجاح جزاك الله خير الجزاء
وزادك الله من العلم ونفع الله بك استاذي واخي في الله
والشكر موصول أيضا للاستاذ هيثم بارك الله فيه
موفقين بإذن الله
لكم مني اجمل تحية
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
( مجابة ) استفسار بخصوص فك ضغط وتسطيب برنامج
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
ams 4 arab :: منتدى الطلبات والاستفسارات-
انتقل الى: