الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل يمكن ضغط ملف خارجي ( باستخدام Winrar) بامر من قاعدة بيانات اكسس

بدأه مسترعربي في 14 نوفمبر 2009 · 8 رد · 2,058 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

هل يمكن باستخدام احد برامج الضغط او بطريقة اخرى بدون برامج الضغط ...

ضغط فايل نصي خارجي بمسار محدد و خزن الملف المضغوط في فولدر اخر..

يتم ذلك من خلال كبسة زر امر واحد من داخل قاعدة البانات .. ( يعني بالعربي بالكود ...)

فهل من يدلني على ذلك ..

تحياتي

post-157080-12622582839684.jpg

#2

وعليكم السلام ورحمة الله وبركاته...

يمكنك أخي استخدام الدالة Shell لتنفيذ الضغط باستخدام winrar مع المعاملات المناسبة...

قمت بضغط ملف نصي اسمه test.txt في الـ d: إلى ملف test.rar في الـ d: كذلك باستخدام الكود التالي:

Shell "C:\Program Files\WinRAR\WinRAR.exe a d:\tets.rar d:\test.txt"

والله أعلم.

#3

اخي الخبير احمد مبارك

الف شكر لك و لشخصك الكريم

لم اجرب الكود بعد .. و لكن سوف يعمل بعد التجربه ان شاء الله

مشروعي توقف بعد ان رايت ان الملف النصي كبير و اريد ان اضغطه و لا سبيل لي غير الضغط و ها هو تمت الاجابة ان شاء الله

شكرا جزيلا و ان شاء الله لي عوده لاشكرك اذا عمل معي الكود

تحياتي

post-157080-12622582839684.jpg

#4

اخي احمد مبارك

ما هي المعاملات الاخرى للدالة ..

و الى ما ذا تشير المعاملة a المبينه في الكود ..

و كيف يمكن فك الضغط عن الملف بالكود طبعا عن طريق قاعدة البيانات نفسها او اخرى مشابهه

شكرا لك

post-157080-12622582839684.jpg

#5

أخي الكريم،

أبدأ بالإجابة على الجزء الأخير من السؤال، إذ يمكن فك الضغط بنفس الطريقة لكن مع الأمر المناسب. أقصد بالطريقة أي استخدام نفس الدالة Shell من أي حدث مناسب في نموذج مثلاً:

Shell "C:\Program Files\WinRAR\WinRAR.exe x d:\tets.rar test.txt d:\"

الأمر المستخدم هنا هو x، وليس a، والملف المضغوط هو دائماً الأول كما في السابق، والثاني هو الملف بدون ضغط. الجديد هنا أن مكان فك الضغط كتبناه في النهاية d: ثم backward slash \، ولم نكتب الملف بدون ضغط مع مساره.

السؤال الثاني، وهو عن الأمر a، فأظنك قد بدأت تستنتج أنه المسؤول عن الضغط، كما أن x مسؤول عن فك الضغط. هذين مجرد مثالين للأوامر الممكن استخدامها مع البرنامج winrar، لكن أظنهما الأهم، وربما لن تحتاج لسواهما.

الشكل العام لاستخدام هذا البرنامج مع المعاملات هو كتابة اسم البرنامج (مع مساره كاملاً)، ثم أمر command ثم switch ثم الملف المضغوط ثم الملف بدون ضغط ثم معاملات أخرى.

استخدمنا فيما سبق اسم البرنامج مع أمر (a أو x) مع أسماء الملفات فقط بدون أي مفاتيح switches. من أجل التفاصيل الأخرى التي قد تأخذ الكثير من الوقت، أحيلك إلى ملفات مساعدة help البرنامج winrar، ففيه تفصيل لكل المعاملات الممكن استخدامها من أوامر ومفاتيح وطرق استخدام: صداع حقيقي، لكن المهم من أجل غرضك هو ما نقلته لك، على أني أحثك على استكشاف الباقي من أجل التحكم الكافي، والاطلاع على أي إمكانات تنفعك.

أرجو ان يكون هذا مفيداً لك، واعذرني على التقصير...

1
#6

مشكورين اخواننا على الافادة منكما فنحن نتابع معكم طبعا ، و لكن للاسف لا تعليق لعدم الدراية

اخى الفاضل السيد/ احمد مبارك

بداية انا مبتدئ فى الاكسيس ،فكيف لى ان اكون خبرة فيه كافية ، لانى اريد فى القريب العاجل بناء قاعدة بيانات مدرسة ابتدائية و اعدادية

لك جزيل الشكر

#7

اسف على التاخير .. فقد كنت مشغولا كثيرا

تم عمل الكود و تم الضغط و بنجاح

و ما عساي ان اقول الا ان يوفقك الله اخ احمد مبارك و يبارك لك في ايامك و نحن في العشرة الاوائل من ذي الحجه

لقد بصرتنا بوجود هذه الدالة التي من خلالها تمكنت من اجتياز مرحلة جميلة في المشروع

و هنا اود ان ابين تفاصيل الدالة

الدالة Shell

تكون الدالة أو الوظيفة أو الكائن أو الخاصية الموصوفة في هذا الموضوع معطلة إذا كان Microsoft Jet Expression Service

يعمل في وضع الحماية، الذي يمنع تقييم التعبيرات التي من المحتمل أن تكون غير آمنة. لمزيد من المعلومات حول وضع الحماية، ابحث عن "وضع الحماية" في "التعليمات".

تقوم بتشغيل برنامج قابل للتنفيذ وإرجاع متغير (مزدوج) يمثل معرف مهمة البرنامج في حالة النجاح، وتقوم بإرجاع صفر خلاف ذلك.

بناء الجملة

Shell(pathname, [windowstyle])]

يحتوي بناء الدالة Shell على الوسائط المسماة التالية:

pathname مطلوب؛ متغير (سلسلة أحرف). اسم البرنامج المراد تنفيذه وأي وسائط مطلوبة أو بدائل لأسطر الأوامر؛

وقد يتضمن دليل أو مجلد ومحرك أقراص.

windowstyle اختياري. متغير (عدد صحيح) يناظر نمط الإطار الذي سيتم تشغيل البرنامج فيه. في حالة حذف windowstyle،

يتم تشغيل البرنامج في وضع التصغير مع وضع التركيز عليه.

تتضمن الوسيطة المسماة windowstyle هذه القيم:

vbHide ===== ======= 0 ====== يتم إخفاء الإطار وتمرير التركيز إلى الإطار المخفي. لا يمكن تطبيق الثابت vbHide على الأنظمة الأساسية لماكنتوش.

vbNormalFocus ====== 1 ====== يكون التركيز على الإطار ويستعيد حجمه وموضعه الأصلي.

vbMinimizedFocus =====2 ====== يتم عرض الإطار كرمز يتم وضع التركيز عليه.

vbMaximizedFocus =====3 ====== يتم تكبير الإطار مع وضع التركيز عليه.

vbNormalNoFocus =====4 ====== يتم استرداد أحدث حجم وموضع للإطار. ويظل الإطار النشط حالياً نشطاً.

vbMinimizedNoFocus =====6 ====== يتم عرض الإطار كرمز. ويظل الإطار النشط حالياً نشطاً.

تنويهات

إذا قامت الدالة Shell بتنفيذ الملف المحدد بنجاح، فإنها تقوم بإرجاع معرف المهمة للبرنامج الذي تم بدأ تشغيله.

يعتبر معرف المهمة رقم فريد يقوم بتعريف البرنامج الذي يتم تشغيله. إذا تعذر على الدالة Shell تشغيل البرنامج المحدد، يحدث خطأ.

ملاحظة افتراضياً، تقوم دالة Shell بتشغيل البرامج الأخرى بشكل غير متزامن.

مما يعني أن البرنامج الذي يتم بدء تشغيله بواسطة Shell قد لا ينتهي تنفيذه قبل تنفيذ العبارات التي تلي الدالة Shell.

تحياتي

تم تعديل هذه المشاركة بواسطة مسترعربي في 19 نوفمبر 2009 في 13:29

post-157080-12622582839684.jpg

#8

:wink: :wink:حسب معلوماتي المتواضعة يمكنك ذالك أخي الكريم

إليك المرفق التالي لأستاذنا الكبير أكسير الحياة وهو مفتوح المصدر بالتوفيق. :wink:

OMAR MZABI كتب:

:wink: :wink:حسب معلوماتي المتواضعة يمكنك ذالك أخي الكريم

إليك المرفق التالي لأستاذنا الكبير أكسير الحياة وهو مفتوح المصدر بالتوفيق. :wink:

نسخ وضغط للبرامج-اغسطس--اكتوبر.rar

1

الناجح يبحث عن الحلول و الفاشل يبحث عن الأعذار

#9

اخواني الكرام هذا المثال جيد الموجود بالمشاركه رقم 8 وهو ما اريد لكنه لايدعم اكسس 2007 ومابعد

 

فهلا تم تطويره ؟

تم تعديل هذه المشاركة بواسطة كوماندير في 26 أغسطس 2014 في 18:02

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…