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

sandanet

الخبراء
  • Posts

    1,366
  • تاريخ الانضمام

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

  • Days Won

    19

كل منشورات العضو sandanet

  1. @qathi اخي الكريم هل جربت التعديل الاخير؟ فقد قمت بتغيير الكود الذي يتسبب بظهور تلك الرسالة حسب اعتقادي .. ارجو الاطلاع على النسخة المعدلة بالنسبة لشرح الاكواد فاتمنى منك تحديد الكود الغير مفهوم ليتم شرحه لاني للأسف لا أملك الوقت الكافي لشرحها جميعها .. اعتذر منك بشدة
  2. اخي الكريم محمد عند تجربتك للمرفق الجديد ارجو ان تخبرني هل تم حل مشكلة الرسالة التي تظهر ام لا
  3. بفضل الله قمت بعمل هذا الامر في الملف المرفق .. ستجد ان رقم النسخة سيتغير كل يوم count-sec(with date).mdb
  4. ارجو من الإدارة تعديل المرفق count-sec.mdb الموجود في المشاركة الاولى ووضع مكانه المرفق المعدل الموجود في المشاركة السابقة
  5. اخي الكريم اسم العميل والتاريخ هي فقط خاصة بصاحب البرنامج اي للتوضيح في حال كان لديك مجموعة مستخدمين فانك تستطيع اضافتهم كلاً باسمه ورقم التسجيل الخاص به وتاريخ التسجيل .. طبعاً تاريخ التسجيل يضاف تلقائياً وهو بالطبع ليس له علاقة في عمل البرنامج فقط لمعرفة متى تم توليد سيريال التفعيل للمستخدم البرنامج لم يتم تصميمه لكي يقرأ تاريخ الجهاز مع رقم المعالج فالحماية المتبعة هي كما اشرت إليها في الشرح هنا https://www.officena.net/ib/topic/86775-دمج-برنامج-الحماية-مع-برنامج-الفترة-التجريبية/ اي باختصار الحماية المتبعة هي عن طريق ادخال المستخدم رقمه السري الخاص به لغرض توليد سيريال للبرنامج فريد لان سيريال البرنامج مكون من الرقم السري للعميل + رقم المعالج المستخلص من اسم المعالج والذي لايتغير بعد الفورمات .. لكي تتضح لك الصورة قم بمراجعة الشرح الموجود في الرابط الرسالة التي ظهرت لك لاتظهر عندي .. لكني اعتقد ان هذه الرسالة لها علاقة بكود الـ update المستعمل .. سوف اقوم بالتعديل عليه ان شاء الله زر التهيئة يعمل على تهيئة البرنامج لعميل جديد يرغب في تجربته اي بمعنى انه يعيد المدة الزمنية لاستخدام البرنامج الى 0 كما يلغي مفتاح في الريجستري "كأنك تقوم بتشغيل البرنامج أول مرة".. الغرض من وضع هذا الزر هو عندما تريد اعطاء العميل برنامجك لتجربته فانت لاتريد تصفير المدة التجريبية يدوياً وانما عن طريق زر الامر تستطيع عمل ذلك.. طبعاً انت يجب عليك إزالته هذا الزر عندما تريد ارسال برنامجك للعميل وانا وضعته لكي تتم التجربة فقط "يمكنك تصفير المدة الزمنية في اي وقت تشاء وتفعيل البرنامج في وقت تشاء وما الى ذلك لمعرفة آلية عمل البرنامج" .. اكرر مرة اخرى "يجب عليك إزالة زر الامر هذا عندما تود ارسال برنامجك للعميل" اي تحذير تقصد؟؟ اذا كان قصدك على عدد ساعات المدة الزمنية المتبقية فانظر الى عدد الساعات وكما هو واضح من الصورة عندك 20 ساعة وهي القيمة الافتراضية التي وضعتها .. انت عندما تقوم بتفعيل البرنامج سيختفي هذا التحذير لان البرنامج مفعل ولن يحسب لك المدة الزمنية المتبقية اخي العزيز الفكرة كلها مشروحة هنا https://www.officena.net/ib/topic/86775-دمج-برنامج-الحماية-مع-برنامج-الفترة-التجريبية/ نعم اخي الرسالة الوحيدة التي ظهرت لك هي تلك الخاصة بالنسخ الى الحافظة او حفظ السجل او افلات التغييرات وهي لاتظهر لدي واعتقد ان تلك الرسالة لها علاقة بخصائص الاكسس نفسه لديك ارجو منك تجربة البرنامج على جهاز آخر للتأكد من ذلك الفترة التجريبية تستطيع تغييرها من جدول tbl حيث تم وضع قيمة افتراضية وهي 20 ساعة .. بامكانك تغييرها لأي عدد من الساعات السيريال يتم توليده كالتالي : عندما يرغب العميل في تفعيل البرنامج يضغط على تسجيل البرنامج وعندما يتم فتح نموذج التسجيل يقوم العميل بإدخال رقمه السري لكي يتم اخذه ودمجه مع رقم المعالج وتوليد سيريال خاص اسميناه رقم النسخة يقوم العميل بارسال هذا الرقم إليك فتضع الرقم في ملف التسجيل او الكراك تقوم بتسجيل اسم العميل ورقم النسخة الخاص به فيعطيك الكراك رقم التفعيل لهذا المستخدم فتقوم انت بارسال رقم التفعيل هذا للعميل وهو بدوره يقوم بادخاله في خانة رقم التسجيل كما اشرت فان البرنامج بالكامل ليس له علاقة بأي تاريخ .. وما هو موجود في ملف الكراك هو لمعرفة متى تم توليد رقم التفعيل للعميل فقط لاغير اخي الكريم اقرأ الشرح هنا https://www.officena.net/ib/topic/86775-دمج-برنامج-الحماية-مع-برنامج-الفترة-التجريبية/ وستفهم الفكرة ان شاء الله هل ظهرت لك نفس الرسالة التي تقول نسخ الى الحافظة او حفظ السجل او افلات التغييرات؟ لم اقم بتشفير الارقام في الجداول وذلك لكي تتضح الصورة للأخوة وهنالك ملف تم ارفاقه تشفير باسورد المستخدم عند الادراج وفك تشفيره عند تسجيل الدخول.accdb يوضح كيفية استعمال التشفير في الجداول يمكنك استعماله لتشفير القيم في الجداول .. هنالك ملاحظة مهمة وهي ان رقم النسخة ورقم التفعيل حتى وان كانا غير مشفرين فلا مشكلة من ظهورهما على الاطلاق فلايمكن استخدامهما الا على نفس جهاز العميل المصرح له تم ارفاق مثال تشفير باسورد المستخدم عند الادراج وفك تشفيره عند تسجيل الدخول.accdb هنالك جدولين فقط جدول خاص بالمدة الزمنية لعمل البرنامج ويحتوي على حقلين حقل خاص باجمالي المدة الزمنية التي يرغب بوضعها صاحب البرنامج لعملائه وحق آخر خاص بالمدة الزمنية التي عمل بها العميل على البرنامج اما الجدول الآخر فيحتوي على حقل خاص بالرقم السري للمستخدم وهذا يجب ان يكون مشفر .. والحقل الآخر خاص برقم تفعيل البرنامج وهو غير مهم ولاداعي لتشفيره لان هذا الرقم لايعمل الا على نفس جهاز العميل فلاخوف من تسريبه لعميل اخر "لن يعمل معه" اي كود بالضبط .. هنالك اكود كثيرة اخي الكريم وانا بالحقيقة لا أملك الوقت الكافي لشرحها فأعتذر عن ذلك كل ماعلى العميل فعله هو ادخال رقمه السري الخاص به في اول خانة وذلك لتوليد سيريال خاص به يرسله لك للحصول على رقم التفعيل اتمنى من الأخوة الأفاضل قراءة الشرح لكي يتسنى لهم فهم آلية عمل البرنامج كما ارجو ان اكون قد وفقت في الإجابة على اسئلتكم وللمزيد من الاستفسارات أنا متواجد معكم ان شاء الله ملاحظة: بعد الاطلاع على المشاكل التي واجهت الاخوة تم بحمد الله إجراء بعض التعديلات على ملف البرنامج وهذه هي النسخة المعدلة في المرفقات .. اما ملف الكراك فلم يتم عليه اي تعديل تحياتي count-sec.mdb
  6. اخي الفاضل هذا مثال بسيط كنت قد عملته سابقاً لكيفية تشفير القيم في الجدول اشكرك جزيل الشكر على المرور الكريم لكن هل من ملاحظات حول فكرة البرنامج؟ تشفير باسورد المستخدم عند الادراج وفك تشفيره عند تسجيل الدخول.accdb
  7. السلام عليكم ورحمة اله تعالى وبركاته أما بعد .. استكمالاً لمشاركتي في الموضوع السابق اضع بين ايديكم البرنامج + ملف توليد السيريال .. واعتذر على التأخير ملاحظة : جميع البيانات في الجدول يمكن تشفيرها كلاً حسب طريقته لذلك تركتها بدون تشفير لكي تتضح طريقة عمل البرنامج اتمنى ان ينال اعجابكم تحياتي count-sec.mdb registration_key.mdb
  8. حاضر ان شاء الله قريباً .. احببت ان اجزء الموضوع لكي يسهل فهم الاكواد
  9. بناءاً على ماتقدم اعتقد ان الاستاذ شفان يعمل على ذلك في موضوع قام بفتحه مؤخراً
  10. أخي الكريم محمد سلامة بإمكانك اختصار الموضوع والاعتماد على كود تفعيل البرنامج بدل عمل نسختين لا أجد مايمنعك من عمل ذلك فأنت قادر على فعلها نظراً لخبرتك الطويلة في هذا المجال بالنسبة للغة الـ php فهي لغة سهلة بحد ذاتها ولا ابالغ ان قلت انها اسهل من الأكسس بكثير حيث انك تتعامل مع دوال جاهزة محددة الوظائف كما انك تتعامل مع عبارات الـ sql التي نستعملها بكثرة في الأكسس ومنها insert و update و select و delete لانك بالتأكيد ستعمل على تخزين بياناتك في جداول التي هي طبعاً mysql database .. لكن هنالك امر مهم وهو ان لغة الـ php خاصة بالسيرفرات اي بمعنى انك تعمل على برنامج يستطيع الاشخاص الدخول اليه من اي مكان بالعالم او على شبكة داخلية يدخلون اليه من اي جهاز مربوط على الشبكة او كلاهما من الانترنت والشبكة الداخلية لذلك في الغالب ستجد نفسك في حاجة الى لغات اخرى مكملة للـ php مثل الجافا سكربت والاجاكس و html و css لاتخاف فإنك لن تستعملها كلها الا في حالات معينة كما ان اكثرها متوفر في الانترنت وجاهز للإستخدام .. لقد عملت برنامج احترافي في فترة قصير وهو لجهة حكومية ومربوط على الانترنت وعلى شبكة داخلية ايضاً وهو بالطبع امر مطلوب بكثرة في الاسواق الفرق الجوهري الذي يجب اخذه بعين الاعتبار بين الأكسس والـ php هو ان الاكسس من خلاله تصمم برنامج يعمل على جهاز واحد في الغالب واي مستخدم اخر يريد العمل على نفس البرنامج يجب عليه تثبيت نسخة من البرنامج على جهازه لكن الـ php من خلاله تصمم برنامج يتم وضعه في جهاز واحد حيث يدخل عليه المستخدمين من اي مكان من خلال المتصفح فقط . اخي محمد فهمت وجهة نظرك الان لكننا في الحقيقة عندما نبيع البرنامج لجهة ما فإننا بالعادة نعطيها حقوق البرنامج كاملة وليست لمدة سنة لان تحديد المدة يندرج تحت بند الفترة التجريبية عادةً .. صحيح هنالك برامج مثل الكاسبر وغيرها تنتهج مبدأ شراء الحقوق لمدة سنة او ستة أشهر لكني لم اعمل على هذه الفكرة من قبل لكن بالطبع يمكن اضافة التاريخ الى المعادلة ايضاً لكن ماذا لو قام المستخدم بإرجاع التاريخ الى السنة السابقة التي اشترى فيها التفعيل واستخدم نفس كود التفعيل؟؟ طبعا المعادلة سوف تقرأ الرقم السري للمستخدم + اسم المعالج + سنة التفعيل وتولد كود نسميه رمز التسجيل والذي من خلاله يعمل الكراك لدينا على توليد كود التفعيل للعميل .. بما ان العميل لديه كود التفعيل للسنة الماضية فيمكنه ارجاع تاريخ الجهاز واستخدام نفس الكود .. واذا ادخلنا اليوم والشهر ايضاً في المعادلة فلن يتغير شيء مادام العميل يستطيع ارجاع تاريخ الجهاز الى نفس اليوم والشهر للعام السابق ايضاً.
  11. اخي الكريم محمد لم نتطرق بالشرح اعلاه الى ان نجعل التاريخ يدخل في عملية التفعيل على الإطلاق .. فلسنا بحاجه اليه وماتفضلت به ان لا يكون رقم التفعيل ثابت عند العميل حيث يقوم بتفعيل به البرنامج كل مرة تنتهي الفترة التجريبية فالكلام هذا غريب نوعاً ما !! ماقصدك في كلمة كل مرة تنتهي الفترة التجريبية؟؟ الذي اعرفه هو ان الفترة التجريببية تبدأ منذ بداية تشغيل البرنامج الى مدة معينة والعميل يمكنه شراء التفعيل وتفعيل البرنامج في اي وقت يشاء سواء كان اثناء المدة التجريبية او بعد انتهاء المدة التجريبية وإغلاق البرنامج "مثل البرامج العالمية بالضبط" اما ان يتغير كود التفعيل فهذا كلام غير منطقي على الإطلاق تحياتي
  12. اخي الكريم للأسف لا استطيع ان اعد احد بشيء لا أملك له الوقت الكافي فالوفاء بالوعد في ظل الانشغال الشديد صعب "فوعد الحر دين" لكنني ان شاء الله بقدر استطاعتي سوف احاول ان ابدأ معكم خطوة بخطوة على فترات
  13. اشكرك اخي شفان على روح المساعدة فقد انتهيت من عمل البرنامج وبالفعل استخدمت دالة الـ explode في ذلك
  14. اعتذر منكم اخواني الأعزاء على غيابي الطويل عن الأكسس وذلك لأني كنت اعمل على لغة برمجة المواقع php + js الأخوة الافاضل الذين يريدون عمل برنامج يعمل على جهاز معين مدمج معه الفترة التجريبية انصحكم بالاتي اولاً انا كنت افكر بنفس طريقتكم وهي دمج "الطريقة الثلاثية لحماية البرنامج + عمل فترة تجريبية محددة عن طريق مقارنة التاريخ" وبعد تعمقي في تلك الطريقة خلصت الى نتيجة وهي ان افضل طريقة على الاطلاق هي طريقة جعل البرنامج يعمل لمدة معينة مثلاً 30 يوم وبعدها يغلق ولا يعمل مالم يتم تفعيله "سأفصل هذه الفكرة بعد قليل" اما طريقة حماية البرنامج وجعله لايعمل الا على جهاز واحد فهي فكرة لابأس بها لكنها غير ضرورية لانك ببساطة لايهمك لو تم نسخ البرنامج على جهاز اخر حتى لو تم نسخه على 100 جهاز فانت برمجته ليعمل بشكل كامل على جهاز واحد فقط الذي قام بتفعيل البرنامج اما الذين قاموا بنسخه على اجهزة اخرى فسوف يبدأ يحسب معهم الفترة التجريبية وهي 30 يوم كما اسلفنا بدون امكانية عمل جميع وظائف البرنامج قد يسأل سائل ويقول لا اريد ان اجعل الاشخاص الذين ليست لهم علاقة بعمل البرنامج ان يشتغلوا عليه حتى ولو كان بالفترة التجريبية .. نعم لابأس بأمكانك منح تصاريح معينة للأشخاص الذين تود ان يجربوا البرنامج ومن ليس لديه التصريح لايستطيع تجربة البرنامج وبذلك انت تخلصت من المشكلة "تابع الموضوع لمعرفة كيف يتم ذلك" نأتي الى فكرة عمل البرنامج لفترة تجريبية معينة وهي 30 يوم مثلاً فكرت فيها طويلاً جداً وقارنت عدة طرق منها من اقترح ان يتم مقارنة تاريخ اول تشغيل للبرنامج مع التاريخ الحالي وهي ليست عملية من وجهة نظري لكون ان المجرب للبرنامج قد يعمل عليه مرة او مرتين خلال الشهر لذلك ليس من المنطقي ان يقفل البرنامج بعد العمل عليه مرة او مرتين ..ومنهم من اقترح قراءة تاريخ الجهاز وهذا الامر يمكن التلاعب به طبعاً ومنهم من اقترح تشغيل البرنامج لعدد محدد من المرات وهو امر ليس منطقي ايضاً لان هنالك اشخاص يجربون البرنامج 100 مرة في اول يوم وهنالك اقتراحات اخرى كثيرة فوجدت انسب طريقة وافضلها بلا منازع هو تسجيل الوقت الذي يستغرقه البرنامج في العمل فما ان يصل مجموع الاوقات 30 يوم حينها يقفل البرنامج ويطالب بالتفعيل .. ذلك يتم كالتالي: في بداية تشغيل البرنامج لاول مرة سيكون هنالك قيمة مخزنة في "جدول مخفي" ومشفرة وهذه القيمة هي الفترة التي تريد ان يعمل بها البرنامج ستكون مقاسة بالثواني كالتالي اضرب 30 يوم × 24 ساعة × 60 دقيقة × 60 ثانية = 2592000 ثانية القيمة هذه ستخزنها في جدول بعد تشفيرها وتعمل على اخفاء الجدول لاحقاً الان بعد تشغيل البرنامج على اي جهاز يبدأ البرنامج بفحص قيمة في الريجستري ولتكن القيمة 1 فإذا وجدها فذلك يعني ان البرنامج مفعل على هذا الجهاز والا فان البرنامج سيقوم بعد الثواني وتخزين العدد في نفس الجدول المخفي السابق ذكره ... القيمة المخزنة طبعاً يجب ان يتم تحديثها كل دقيقة مثلاً .. فالنفرض ان المستخدم قام بتشغيل البرنامج لمدة نصف ساعة خلال المدة التجريبية فسيقوم البرنامج بتخزين القيمة 0 في الجدول عند اول ثانية من التشغيل ومن ثم بعد مرور دقيقة واحدة يصبح العدد 0 + 60ثانية وبعد مرور دقيقتين يصبح العدد 60ثانية + 60 ثانية اخرى وهكذا الى ان يصبح لديك مامجموعه نصف ساعة .. اليوم الاخر الذي يشتغل فيه البرنامج سيكمل العد بنفس الطريقة الى ان يصل الى الرقم الذي خزناه في الاول وهو 30 يوم اي 2592000 ثانية عندها سيتم غلق البرنامج ومطالبة المستخدم بتفعيل البرنامج هذه انسب طريقة من حيث انها لاتعتمد على وقت الجهاز في حال قام المستخدم بالتلاعب في التوقيت او التاريخ بشكل عام كما ان المستخدم لايستطيع التلاعب في الجدول لكون الثواني التي يتم تخزينها ستكون مشفرة بدالة الهاش مثلاً كما ان تفعيل البرنامج سيعتمد على تخزين رقم في الريجستري الذي يخص جهاز واحد فقط هنا اتوقف عند نقطة مهمة وهي ان الكود الذي يتم تفعيل البرنامج به يكون ناتج عن ماذا؟ هل اقوم بتوليد كود التفعيل بناءاً على سيريال الهارد ام بناءاً على سيريال اللوحة الأم ام غير ذلك طبعاً بما ان السيريال الذي يتم تفعيل البرنامج عن طريقه متولد من معادلة حسابية مثلاً سيريال الهارد × 2 + 5 مثلاً فهذا يعني ان السيريال حتى وان تسرب لشخص آخر وحاول ذلك الشخص ان يشغل البرنامج على جهازه فلن يتم التفعيل لان رقم الهارد ليس واحد طبعاً كلنا يعلم ان رقم الهارد يمكن تغييره كما انه يتغير تلقائياً بعد الفورمات لذلك فان الاعتماد على رقم الهارد لتوليد كود التفعيل ليس عملياً لان الشخص الذي اشترى منك كود التفعيل قد يقوم بتغيير الويندوز وعندما يثبت ويندوز اخر فان البرنامج لن يتفعل لديه عندما يستعمل كود التفعيل الذي اشراه منك وهذا امر غير جيد هل انستبدل المعادلة السابقة ونضع سيريال اللوحة الام مكانها؟ الاجابة لا لانك ستواجه نفس المشكلة فجميع سيريلات الجهاز تتغير بتغيير نظام التشغيل بلا استثناء "اقولها بعد التجربة" اذن ماهو الحل البديل؟ الحل البديل من رأيي هو ان تضع مكان سيريال الهارد في المعادلة السابقة باسوورد خاص بالعميل لايعرفه احد الا هو كيف ذلك: عندما يذهب العميل الى زر امر تفعيل البرنامج تظهر له نافذة تطالبه بادخال كلمة السر الخاصة به .. عندما يدخل مثلاً 54321 يقوم البرنامج باخذ تلك القيمة وادخالها في المعادلة السابقة 54321 × 2 + 5 ويظهر له الناتج وهو 108647 فتقوم انت بطلب منه رمز البرنامج هذا فيرسله لك وانت تدخله في معادلة اخرى على سبيل المثال 108647 × 7 وتعطيه الناتج الذي سيكون هو رقم التفعيل 760529 .. سيقوم العميل بادخال الرقم الجديد في خانة التفعيل ويضغط على زر التفعيل .. سيقوم البرنامج بعمل نفس المعادلة التي اجريتها انت 108647 × 7 ومقارنة النتيجة برقم التفعيل الذي ارسلته له فإن كان نفسه فهذا يعني ان البرنامج يعمل عليه نفس الشخص الذي اشترى حقوقه بتلك الطريقة فانت لاتجعل العميل لديك مقيد بالعمل على جهاز واحد فهو لديه حقوق البرنامج ويستطيع تشغيله على اكثر من جهاز اما اذا اردت اجبار المستخدم على العمل على جهاز واحد حينها يمكنك ادخال اسم المعالج في المعادلة "اسم المعالج لايتغير بتغيير نظام التشغيل" .. اسم المعالج يحتوي على ارقام بالعادة لذلك انت ستأخذ الارقام الموجودة مع اسم المعالج وتدخلها في المعادلة وبذلك فلن يستطيع العميل ان يفعل البرنامج على اكثر من جهاز اتمنى ان تكون الفكرة واضحة وآسف عالاطالة .. واي استفسار حاضر ان شاء الله تحياتي
  15. السلام عليكم ورحمة الله وبركاته المشكلة التي اواجهها تتلخص بالتالي: عندي قاعدة بيانات files فيها حقل نصي اسمه myfiles خاص بأسماء الملفات المرفوعة حيث يتم تخزين مجموعة الاسماء في (خانة واحدة) تفصل بين كل اسم والاخر فاصلة يعني file1.jpg, file2.pdf, file3.png وهكذا نفس الطريقة في كل صف في الجدول وعندي الكود التالي $q="SELECT * FROM files ORDER BY id DESC"; $ros=mysqli_query($link,$q); $row=(mysqli_fetch_array($ros)); ابحث عن دالة او كود ما يوصلني الى اسم كل ملف في الـ row$ على حده لاني اريد تطبيق الكود التالي على كل اسم لوحده while($row=mysqli_fetch_array($ros)) { echo '<tr>'; echo "<td align=center><a title='Click here to download in file.' href='download.php?id={$row['profile_image']}'>{$row['profile_image']} </a>"; echo '</tr>'; } اتمنى ان يكون سؤالي بسيط
  16. اخي الكريم خالد بناءاً على توجيهات استاذنا الكبير رمهان.. إليك المرفق بعد التعديل test.accdb
  17. اخي الكريم خالد مفتاح او زر البحث يعمل لديك بدون مشاكل لكني انصحك بالستعمال طريقة الاكواد بدل طريقة تضمين مايكرو عند انشاء الحدث .. على العموم جرب المرفق فقد وضعت فيه كود البحث test.accdb
  18. اعمل قاعدة بيانات جديدة وقم باستيراد جميع الكائنات من القاعدة القديمة .. او قم بعمل ضغط واصلاح للقاعدة القديمة
  19. جميل جدا تصميم رائع استمر على بركة الله
  20. اخي الكريم انا لم امنع احد من ان يساعدك ولكن يبدو ان الجميع غير مقتنع بمبرراتك لذلك لا تعليقات من احد على الموضوع مع انه موضوعك مطروح من اسبوع تقريباً .. على العموم انا اوضحت لك سياسة المبرمجين هنا وانت لم تقتنع بعد فأنت حر تحياتي
  21. الحمد لله ان مشكلتك انحلت لكني اخشى ان تجد مشاكل اعقد من تلك في المستقبل ان استمريت مع اكسس 2017 على العموم مرحبتين فيك في اي وقت تحياتي
×
×
  • اضف...

Important Information