اذهب الي المحتوي
أوفيسنا

Foksh

الخبراء
  • Posts

    5046
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    246

Foksh last won the day on سبتمبر 6

Foksh had the most liked content!

السمعه بالموقع

2925 Excellent

عن العضو Foksh

  • تاريخ الميلاد 07/02/1982

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    فني صيانة موبايل وكمبيوتر
  • البلد
    الأردن ♥
  • الإهتمامات
    برمجة وصيانة الموبايل والكمبيوتر

اخر الزوار

13153 زياره للملف الشخصي
  1. وعليكم السلام ورحمة الله وبركاته .. شرح جميل ، شكراً لك أستاذ مجدي .. وحبذا لو كنت أرفقت ملف العمل في المشاركة ، ليتمكن من يريد التطبيق من أن يرى الفكرة أمامه ليتوضح له العمل بشكل ملموس أكثر 🤗
  2. أهلا بك أخي أبو الحسن ولمرورك الكريم لموضوعي المتواضع . دعني أوضح لك - ولمن يمر بهذا الرد - كيف نستخدم القاعدة المقسمة في أداة التثبيت هذه . لديك ملفين ( الواجهة الأمامية ، وقاعدة البيانات الخلفية للجداول ) . في التبويب الأول ستختار واجهتك الأمامية ولنفترض ( MyApp.accdb ، التي ستحولها إلى ACCDE ) . في التبويب الثاني :- * ستختار ملف قاعدة البيانات الخلفية ( إن وُجد ) . * في زر تحديد المسار لديك خيارين . إما التحديد لمجلد مخصص يتم تثبيت ملف القاعدة الخلفية فيه . أو تتركه فارغاً فيتم اعتماد ملف تلقائي باسم Data ويكون بجانب قاعدة البيانات الأمامية ليتم تثبيت ملف قاعدة البيانات الخلفية فيه . أو تختار مسار مخصصاً على الشبكة عندما يكون لديك أكثر مستخدم على الشبكة يستخدمون ملف قاعدة البيانات الخلفية هذا . الهدف الأسمى هنا هو تثبيت ملف البيانات في أول مرة فقط ، وعدم الكتابة عليه أو مسحه أبداً في أي تثبيت لاحق أو تحديث أو إلغاء تثبيت . طبعاً في مشروعك وعندما قمت بتصميمه ، كانت الجداول مرتبطة بالمسار الإفتراضي لك كمصمم ، وسيختلف المسار عند الجهاز الذي تم التثبيت عليه . وهنا يمكن ان نجعل المسار الإفتراضي لدالة الربط بأن يكون محدداً مثلاً Data/Tbl.Accde . وهذا يعني أنك لن تحتاج أن تحدد المسار عند اختيارك مسار تثبيت قاعدة البيانات الخلفية ( كجهاز منفرد ، بينما على الشبكة سيلزمك تحديد المكان بشكل يدوي بلا شك ) وسيكون قريباً تحديث جديد لإتاحة الفرصة باختيار البانر الجانبي والهيدر لملف التثبيت عند انشاءه بإذن الله . هل توضحت لك الفكرة بشكل جيد
  3. في ويندوز لديك :- انقر مفتاح الويندوز + R .. ألصق المسار التالي ، ثم انتر :- %LocalAppData%\Foksh Setup\ أرفق صورة للملفات الموجودة أو أي نتيجة تظهر لك أخي جو .
  4. صار عندي فضول أجرب على ملفك هذا حتى أتعرف على الخطأ فعلاً .. لأنني وبكل أمانة قمت بالتجربة على أكثر من 35 ملف قاعدة بيانات مختلفة الإصدار والبيئات والأكواد ، ولم أصدف هذا الخلل . على العموم تم ترقية مستوى العروسة للإصدار 1.2 الجديد . ونأمل أن ينال إعجابكم لما فيه من تحديثات . وهذه لمحة عن ما تم إضافته .
  5. وعليكم السلام ورحمة الله وبركاته ,, أخي أبا المعتصم ، شكراً لك على مرورك العطر .. وأهلاً بتلك الملاحظات ، التي سألخص لك ردي على مجملها :- هنا فعلياً لاحظت أن الخيار يأتي مضمناً فعلاً بمعالج التثبيت ، ويبدو أن السبب في تمرير الأوامر دون تعديل القيمة الافتراضية . إلا أنه فعلياً لا يضيف التطبيق في قائمة ابدأ .. وتمت ملاحقة المجرم في هذا الإنذار الكاذب وهو سطر بسيط إن شاء الله . يبدو من الصورة انك اخترت التجربة هنا على ملف قاعدة بياناتي نفسها 😁 ، ولكن حتى مع تجربتي عليها على إصدار آكسيس 2010 - 32 ، لم تظهر لدي هذه الرسالة ولا بأي مرحلة من مراحل التجارب .. ولكن على العموم سأقوم بالتحقق منها . خيار تضمين مشغل أكسس رن تايم مع الحزمة ، هذا الخيار مخصص فقط في حال كنت تريد دمج حزمة تثبيت أوفيس رن تايم دون اتصال ( Offline Installer مثل AccessRuntime_x86.exe بحجم تقريب من 50 إلى 200 ميجابايت ) ليقوم ملف التنصيب بتثبيتها تلقائياً على الأجهزة التي لا تحتوي على أوفيس . وإذا لم تكن تملك هذا الملف ، يقوم بإلغاء تحديده ببساطة ، وقد أحاول أيضاً إضافة خيار مستقل بتحميل المشغل من خلال روابط موثوقة من مايكروسوفت - في إصدار وتعديل آخر - إن شا ءالله . أيضاً خيار تشغيل التطبيق في وضع الرن تايم (/runtime) ، هذا الخيار مستقل تماماً ولا يتطلب تحميل أي ملف ! فعند تفعيله ، يتم تمرير المعامل /runtime لأكسس العميل المثبت أصلاً في جهازه ، مما يجبر أكسس الكامل على العمل ببيئة الرن تايم المقيدة ( إخفاء أشرطة الأدوات ، منع فتح التصميم ، وعرض النماذج فقط ) . وسأوضح أين نجد نتيجة هذه الميزة عند تفعيلها .. في اختصار سطح المكتب الذي يتم انشاؤه بعد التثبيت ، ادخل على خصائص هذا الاختصار ، وانظر لمسار الملف 😁 ونهايته .. ستلاحظ انه ينتهي كمثال بـ :- .accde" /runtime أو حسب نوع المعامل الذي تم تمريره .. وقد قمت بضبط تعطيل المفاتيح الخاصة كاملة في الإصدار المحدّث إن شاء الله ، فقد كنت في تجاربي قد أوقفت بعض الوظائف ، وتاهت بي التجارب بعدم إعادة تفعيلها . فيما يخص هذه الإضافة ، والتي فعلاً قد سبق لي التفكير بها + مجموعة من الأفكار الكثيرة التي قمت بالتوقف عندها وعدم إضافتها 😅 .. فبإذن الله تعالى سيكون لها تطبيق وتنفيذ مناسب ومحكم ..
  6. تم التعامل مع هذه النقطة ، واعتماد السماح بإنشاء المجلدات الفارغة أثناء عملية التنصيب .. مع أن لي وجهة نظر محايدة بخصوص هذه النقطة تحديداً ، وهي أن تجعل مشروع قاعدة البيانات نفسه هو من ينشئ المجلدات الخدمية التي يحتاجها المشروع ، ولكن تم الحل بإذن الله . أيضاً تم التعامل مع نقاط أخرى تمت ملاحظتها أثناء تجارب بشكل موسع أكثر ... شكراً لملاحظتك أخي @منتصر الانسي
  7. شكراً لك أخي منتصر 😇 ، إعجابك الجميل نعم تماماً وقد ذكرت هذه النقطة فعلاً في الموضوع .. فيما يتعلق بالخطأ ، فلا حاجة لتثبيت نسخة البرنامج لديك في كمبيوترك .. ولكن هل المجلد F:\Wondershare\Mont_IDCards\CurrentPhotos يحتوي على ملفات😁 ؟؟ الواضح أنه فارغ أخي منتصر ، لذا جرب إضافة مجلد يحتوي ملفات وليس فارغاً ..
  8. اعرض الملف ⭐ هدية ~ الحل المتكامل لتحزيم وتوزيع تطبيقات أكسس كملف تنفيذي احترافي 2026 ⭐ أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. كثيراً ما يقضي مطور ومبرمج قواعد بيانات أكسس أياماً وليالي في تصميم وبرمجة نظامه بأعلى درجات الإتقان والإحترافية ، ولكن عند وصول لحظة تسليم البرنامج للعميل تبدأ التحديات الحقيقية 😵 ، والتي ألخصها بما يلي :- كيف أمنع العميل من العبث بالتصميم وكود الـ VBA ؟ كيف أتخلص من رسائل الأمان المزعجة ؟ كيف أقوم بتثبيت الخطوط الخاصة وتجهيز المرفقات وملفات الـ Back-End بسلاسة ؟ كيف أُقدّم البرنامج للعميل في صورة ملف تثبيت احترافي ( Setup.exe ) وبأيقونة مخصصة ؟ من هذا المنطلق ، وخدمة لإخواني المطورين وصانعي تطبيقات الآكسيس ، يسعدني أن أضع بين أيديكم اليوم أداة :- معالج ومنشئ حزم تثبيت أكسيس الذكي - Access Smart Packager & Setup Builder وهي أداة متطورة تم بناؤها من داخل أكسس نفسه باستخدام نسخة محمولة من Inno ، لتتولى أتمتة عملية التحزيم والتوزيع بالكامل بنقرة زر واحدة ودون أي تعقيد . 🛠️ الميزات والوظائف الرئيسية للأداة :- 1️⃣ التحويل التلقائي الذكي إلى ( ACCDE / MDE ) ، وهنا يلعب الدور إصدار آكسيس الذي تم تشغيل الأداة من خلاله . تحويل فوري ومحمي لقاعدة البيانات بنقرة واحدة لحماية أكواد الـ VBA . فحص وتشخيص ذكي للأخطاء . الأداة لا تكتفي بإظهار رسائل خطأ غامضة ؛ بل تفحص تلقائياً ( صيغة الملف ، القفل والتزامن ، المراجع البرمجية المفقودة بالاسم ، وأخطاء التجميع ... إلخ ) لتخبرك بالسبب الدقيق وحله فوراً . 2️⃣ الأمان وحماية البرنامج :- تعطيل المفتاح الخاصة وخصوصاً مفتاح الـ Shift . حيث تقوم بقفل تشغيل البرنامج بزر Shift وأي مفاتيح خاصة ، لمنع الدخول للنوافذ الخلفية أو نافذة التنقل أو محرر الأكواد . إضافة المواقع الموثوقة ( Trusted Locations ) ؛ فتقوم بتسجيل مسار البرنامج تلقائياً في سجل الويندوز (داخل الـ Registry ) لتعمل الماكرو وأكواد VBA بدون أي تحذيرات أمان. حماية التثبيت بكلمة مرور . وهذه تتيح إمكانية تشفير ملف التثبيت وحمايته بكلمة سر تمنع غير المصرح لهم من تنصيبه . 3️⃣ المعمارية المزدوجة وفصل البيانات ( Front-End و Back-End ) :- دعم كامل للأنظمة المقسمة ؛ بحيث يمكنك تحديد مسار تثبيت مختلف ومستقل لملف البيانات (Back-End) عن ملف الواجهة . دعم تضمين مجلدات وملفات إضافية غير محدودة (مستندات ، صور ، أدلة تشغيل ... إلخ ) . 4️⃣ دعم الأجهزة غير المزودة بأوفيس ( Access Runtime ) :- إمكانية تضمين حزمة التثبيت الخاصة بـ Microsoft Access Runtime ليعمل برنامجك على أي جهاز عميل لا يملك نسخة أوفيس مثبته داخل الويندوز . 5️⃣ التثبيت التلقائي للخطوط واتفاقية الاستخدام :- خيار لتثبيت خطوط البرنامج الخاصة في نظام ويندوز العميل تلقائياً . إظهار شاشة اتفاقية الترخيص ( License Agreement ) قبل بدء التثبيت . 6️⃣ واجهة تثبيت تفاعلية ومخصصة :- تمكنك الأداة من إنشاء إختصارات سطح المكتب وقائمة ابدأ بأيقونة التطبيق المخصصة . دعم واجهات التثبيت باللغة ( العربية / الإنجليزية / أو كلاهما ) ليختار العميل لغته المفضلة لواجهة التثبيت . 7️⃣ نافذة تيرمنال عصرية وملونة ( Live Log Terminal ) :- شاشة سجل تفاعلية حديثة ، تعرض خطوات البناء لحظة بلحظة بنظام ألوان متناسق وواضح ومخصص لسهولة المتابعة . 📥 كيفية الاستخدام :- اختر مشروعك أو أنشئ مشروعاً جديداً . حدد ملف قاعدة البيانات الرئيسي ( وملف قاعدة البيانات الخلفية - الجداول - إن وجد ) والأيقونة . قم بتفعيل الخيارات التي تناسبك من لوحة التحكم ، مثل ( Shift , Trusted Location , Fonts , Runtime ... إلخ ) . اضغط على زر إنشاء حزمة التثبيت ، وسيتكفل البرنامج بالباقي لتجد ملف الـ EXE جاهزاً للتسليم 😁 . 📸 صورة لواجهة الأداة وتبويباتها :- فيديو توضيحي لطريقة الاستخدام بشكل سريع .. أتمنى أن تكون هذه الأداة عوناً وإضافة نافعة لجميع المطورين والمبرمجين في مشاريعهم القادمة ونسألكم خالص الدعاء بظهر الغيب .. صاحب الملف Foksh تمت الاضافه 09/05/26 الاقسام قسم الأكسيس  
  9. Version 1.2

    51 تنزيل

    أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. كثيراً ما يقضي مطور ومبرمج قواعد بيانات أكسس أياماً وليالي في تصميم وبرمجة نظامه بأعلى درجات الإتقان والإحترافية ، ولكن عند وصول لحظة تسليم البرنامج للعميل تبدأ التحديات الحقيقية 😵 ، والتي ألخصها بما يلي :- كيف أمنع العميل من العبث بالتصميم وكود الـ VBA ؟ كيف أتخلص من رسائل الأمان المزعجة ؟ كيف أقوم بتثبيت الخطوط الخاصة وتجهيز المرفقات وملفات الـ Back-End بسلاسة ؟ كيف أُقدّم البرنامج للعميل في صورة ملف تثبيت احترافي ( Setup.exe ) وبأيقونة مخصصة ؟ من هذا المنطلق ، وخدمة لإخواني المطورين وصانعي تطبيقات الآكسيس ، يسعدني أن أضع بين أيديكم اليوم أداة :- معالج ومنشئ حزم تثبيت أكسيس الذكي - Access Smart Packager & Setup Builder وهي أداة متطورة تم بناؤها من داخل أكسس نفسه باستخدام نسخة محمولة من Inno ، لتتولى أتمتة عملية التحزيم والتوزيع بالكامل بنقرة زر واحدة ودون أي تعقيد . 🛠️ الميزات والوظائف الرئيسية للأداة :- 1️⃣ التحويل التلقائي الذكي إلى ( ACCDE / MDE ) ، وهنا يلعب الدور إصدار آكسيس الذي تم تشغيل الأداة من خلاله . تحويل فوري ومحمي لقاعدة البيانات بنقرة واحدة لحماية أكواد الـ VBA . فحص وتشخيص ذكي للأخطاء . الأداة لا تكتفي بإظهار رسائل خطأ غامضة ؛ بل تفحص تلقائياً ( صيغة الملف ، القفل والتزامن ، المراجع البرمجية المفقودة بالاسم ، وأخطاء التجميع ... إلخ ) لتخبرك بالسبب الدقيق وحله فوراً . 2️⃣ الأمان وحماية البرنامج :- تعطيل المفتاح الخاصة وخصوصاً مفتاح الـ Shift . حيث تقوم بقفل تشغيل البرنامج بزر Shift وأي مفاتيح خاصة ، لمنع الدخول للنوافذ الخلفية أو نافذة التنقل أو محرر الأكواد . إضافة المواقع الموثوقة ( Trusted Locations ) ؛ فتقوم بتسجيل مسار البرنامج تلقائياً في سجل الويندوز (داخل الـ Registry ) لتعمل الماكرو وأكواد VBA بدون أي تحذيرات أمان. حماية التثبيت بكلمة مرور . وهذه تتيح إمكانية تشفير ملف التثبيت وحمايته بكلمة سر تمنع غير المصرح لهم من تنصيبه . 3️⃣ المعمارية المزدوجة وفصل البيانات ( Front-End و Back-End ) :- دعم كامل للأنظمة المقسمة ؛ بحيث يمكنك تحديد مسار تثبيت مختلف ومستقل لملف البيانات (Back-End) عن ملف الواجهة . دعم تضمين مجلدات وملفات إضافية غير محدودة (مستندات ، صور ، أدلة تشغيل ... إلخ ) . 4️⃣ دعم الأجهزة غير المزودة بأوفيس ( Access Runtime ) :- إمكانية تضمين حزمة التثبيت الخاصة بـ Microsoft Access Runtime ليعمل برنامجك على أي جهاز عميل لا يملك نسخة أوفيس مثبته داخل الويندوز . 5️⃣ التثبيت التلقائي للخطوط واتفاقية الاستخدام :- خيار لتثبيت خطوط البرنامج الخاصة في نظام ويندوز العميل تلقائياً . إظهار شاشة اتفاقية الترخيص ( License Agreement ) قبل بدء التثبيت . 6️⃣ واجهة تثبيت تفاعلية ومخصصة :- تمكنك الأداة من إنشاء إختصارات سطح المكتب وقائمة ابدأ بأيقونة التطبيق المخصصة . دعم واجهات التثبيت باللغة ( العربية / الإنجليزية / أو كلاهما ) ليختار العميل لغته المفضلة لواجهة التثبيت . 7️⃣ نافذة تيرمنال عصرية وملونة ( Live Log Terminal ) :- شاشة سجل تفاعلية حديثة ، تعرض خطوات البناء لحظة بلحظة بنظام ألوان متناسق وواضح ومخصص لسهولة المتابعة . 📥 كيفية الاستخدام :- اختر مشروعك أو أنشئ مشروعاً جديداً . حدد ملف قاعدة البيانات الرئيسي ( وملف قاعدة البيانات الخلفية - الجداول - إن وجد ) والأيقونة . قم بتفعيل الخيارات التي تناسبك من لوحة التحكم ، مثل ( Shift , Trusted Location , Fonts , Runtime ... إلخ ) . اضغط على زر إنشاء حزمة التثبيت ، وسيتكفل البرنامج بالباقي لتجد ملف الـ EXE جاهزاً للتسليم 😁 . 📸 صورة لواجهة الأداة وتبويباتها :- فيديو توضيحي لطريقة الاستخدام بشكل سريع .. أتمنى أن تكون هذه الأداة عوناً وإضافة نافعة لجميع المطورين والمبرمجين في مشاريعهم القادمة ونسألكم خالص الدعاء بظهر الغيب ..
  10. بدايةً ، ما شاء الله على الأفكار الجميلات النيرات هذه أخي @منتصر الانسي عمل جميل ومفيد جداً ما تقدمت به ، ودائماً تتحفني بأفكارك التي أعتبرها هي الكون خارج الصندوق . خطر ببالي نقطة قد تكون ذات وضوح أكثر إن تمت . وهي :- في القالب والذي سيعتبر كأداة Adds-in مدمج ، عند انشاء الأكواد ونسخها ، تنتج بهذا الشكل كمثال :- Call OpenCustomOptions("خيارات المستخدم" _ , "الخيار الأول" _ , "الخيار الثاني" _ , "الخيار الثالث" _ , "الخيار الرابع") والمستخدم العادي - مع احترامي للجميع طبعاً - قد يضطر للرجوع الى أمثلة كي يتعرف على آلية ربط الحدث مع كل خيار تم انشاؤه . وهنا سيلاحظ أن الأحداث هي - كمثال مقتبس من ملفات المشروع :- Select Case intResult Case Is = 1 DoCmd.OpenForm "frm01" Case Is = 2 DoCmd.OpenForm "frm02" Case Is = 3 DoCmd.OpenForm "frm03" Case Is = 4 DoCmd.OpenForm "frm04" End Select فكانت فكرتي لك إن كانت ممكنة هي بإضافة التوضيح لكيفية الإستدعاء إلى الكود الذي يتم انشاؤه من الزر cmdCopy . أرجوأن أكون قد وُفقت في توضيح الفكرة التي تدور في رأسي .
  11. نعم أخي الكريم .. يمكن تنفيذ الجزء الأكبر من هذا الحدث باستخدام استعلامات إلحاق ، وأعتقد أنه سيكون الحل الأسرع والأنظف من المرور على السجلات باستخدام Recordset .. لكن توجد نقطة مهمة جداً جداً في حالتك الحالية :- هنا لديك عمليتان منفصلتان :- إنشاء سجل جديد في جدول buy وذلك للحصول على buy_id جديد نسخ تفاصيل الفاتورة من جدول details وربطها بـ buy_id الجديد الذي تم انشاؤه لذلك يمكن تنفيذ العملية بثلاث خطوات. إولاً إنشاء سجل فاتورة جديدة ، ثم الحصول على رقم فاتورة الشراء الجديدة (buy_id) ، وأخيراً إلحاق تفاصيل فاتورة البيع إلى تفاصيل فاتورة الشراء الجديدة . ولكم من خلال الكود ستكون العملية أسهل مرة واحدة .
  12. حالياً في الوقت الحالي ، ليس هناك طريقة للأسف .. ولكن قد يكون هناك مستقبلاً طريقة لكسر هذه اللعنة 😈 . ولكن تستطيع كما أشاد أستاذنا منتصر باستعمال أداة الأستاذ موسى ..
  13. وعليكم السلام ورحمة الله وبركاته .. أخي أبو سلمى ، هذه المواضيع كثيرة هي المواضيع التي تحدثت عنها ، وتجد في نهاية المطاف أنه اذا تم حفظ المشروع بصيغة Accde أو Mde فإن الحل الوحيد حالياً هو تثبيت إصدار أوفيس 32 أو 64 حسب إصدار الأوفيس الذي تم حفظ المشروع عليه ... أما إذا كانت القاعدة ما زالت Mdb أو Accdb ، فمواضيع تحويل الدوال للعمل على الإصدارين ، أرشح منها للإطلاع عليه :-
  14. حتماً لن ينفعل ولا حل لأننا نجهل أسماء الحقول ولا بنية الاستعلامات أصلاً .. وبعد أن توضحت المشاكل التي في أساس عدم نجاح الفكرة .. الاستعلام Qry_All_Year ، يعتمد أساساً على الاستعلام MY_Bouns ، يعني لو استخدمنا الدالة Dlookup داخل الاستعلام فإنك ستدوووووووور في دوامة لها بداية ما لها نهاية حسب عدد السجلات 😁 وبالتالي التعديل الصحيح برأيي سيكون على استعلامك MY_Bouns سيكون :- SELECT Tbl_Days_Months.Months_Number, Tbl_Days_Months.Months_English, Qry_New_Request.Mon_Year, Count(Qry_New_Request.TCode) AS T_Count, [T_Count]*2 AS Projects, DLookUp("[S_Youssef]","Qry_All_Year", "[Code_Month]=" & [Months_Number]) AS يوسف FROM Tbl_Days_Months LEFT JOIN Qry_New_Request ON Tbl_Days_Months.Months_Number = Qry_New_Request.Code_Month GROUP BY Tbl_Days_Months.Months_Number, Tbl_Days_Months.Months_English, Qry_New_Request.Mon_Year ORDER BY Tbl_Days_Months.Months_Number; يعني بس اللي عملناه هو إعادة ترتيب الحسابات مرة أخرى ، بحيث لا يعتمد الاستعلام على نفسه بشكل غير مباشر .
  15. مشاركة مع أستاذنا @منتصر الانسي .. على الأقل أخي @jo_2010 لو ارفقت الجداول والاستعلامين 😅 .. على العموم لدي سؤال ، هل الحقل Mon_Year في كلا الاستعلامين تاريخ ؟؟ إذا كان حقل تاريخ ، فجرب اضافة الجملة التالية في الاستعلام المطلوب الإضافة له :- يوسف: DLookUp("[يوسف]";"Qry_All_Year";"Month([Mon_Year])=" & [No_Month] & " AND Year([Mon_Year])=" & Year([Mon_Year])) أو كـ حل أبسط باستعمال رقم الشهر :- يوسف: DLookUp("[يوسف]";"Qry_All_Year";"[No_Month]=" & [No_Month]) جرب ، وتابع بالنتيجة معنا ..
×
×
  • اضف...

Important Information