اذهب إلى المحتوى

محمد عاطف17

الأعضاء
  • المساهمات

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

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    65

كل منشورات العضو محمد عاطف17

  1. هل يمكنكي توضيح أين المسار الذي يتم إنشاء الملفات به ؟ يبدوا أنني قد فهمت المشكلة بشكل خاطئ . هل يتم حفظهم في المجلد public الخارجي الموجود في جذر المشروع أم ماذا ؟
  2. يجب عليكي تحديد مكان المجلد الذي تريدن حفظ الصور فيه . أولا يجب عليكي البحث في ملف config\filesystems.php بداخل المصفوفة disks والبحث عن المكان المناسب لكي أو حتي إنشاء مكان جديد : 'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), 'throw' => false, ], 'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', 'throw' => false, ], فمثلا في الكود السابق يوجد disk يسمى local وستجدين أن المسار الموجود في الخاصية root هو مجلد app الذي بداخل storage. وال disk الذي يسمى public يتم تخزين الملفات بداخل المجلد app/public الموجود بداخل stroage . لهذا يجب عليكى البحث عن نفس ال root الذي هو storage_path('app/public') . وإذا لم يوجد يمكنكي إنشاء كائن جديد بداخل disks . بعد ذلك في ملف الموديل في الدالة registerMediaCollections يجب وضع useDisk مع إسم ال disk المناسب في config\filesystems.php لتصبح الدالة كالتالي : public function registerMediaCollections(): void { $this->addMediaCollection('categories') // تحديد اسم المجموعة 'categories' ->singleFile() ->useDisk('public'); // لضمان حفظ صورة واحدة فقط }
  3. وعليكم السلام ورحمة الله وبركاته. إذا قمت باستبدال OrdinalEncoder بـ One-Hot Encoding في الكود المرفق فستواجه مشكلة مع القيم المفقودة حيث الكود الحالي سقوم بتحديد الأعمدة الفئوية (categorical) في البيانات. ومن ثم يقوم بملئ القيم المفقودة في تلك الأعمدة بالقيمة 'missing' لكي لا تحدث مشكلة أثناء إستخدام OrdinalEncoder . بعد ذلك يقوم بإستعادة القيم المفقودة الأصلية مرة أخرى بعد إتمام ال OrdinalEncoder. أما عند إستخدام One-Hot Encoding فإنه يقوم بتحول كل فئة إلى عمود منفصل يحتوي على 1 أو 0 بحسب وجود الفئة. وإليك الفرق بين One-Hot Encoding و OrdinalEncoder : OrdinalEncoder: يقوم بتحويل القيم الفئوية إلى أرقام صحيحة فمثلا لو لدينا ["cat", "dog", "bird"] # سيتم تحويلها إلى [0,1,2] وهنا يمكنك بسهوله إمكانية إستبدال القيم المفقودة وإسترجاعها One-Hot Encoding: يحول القيم الفئوية إلى أعمدة منفصلة لكل فئة. فمثلا إذا كانت لدنيا فئة animal مثل المثال السابق : ["cat", "dog", "bird"] فسيتم تحويلها إلى ثلاثة أعمدة animal_cat و animal_dog و animal_bird حيث ستكون قيمة العمود ب1 إذا كانت الفئة موجودة و ب 0 إذا لم تكن موجودة. ولذلك فإنه إذا كانت هناك قيم مفقودة (NaN) في البيانات الأصلية فإن One-Hot Encoding سيحولها إلى عمود جديد مما قد يؤدي إلى زيادة كببيرة في عدد الأعمدة. ولذلك يوجد لديك بعض الحلول وهو إما إهمال البيانات المفقودة وعدم تضمينها أو يمكنك إضافة عمود خاص بالقيم المفقودة حيث يحتوي على 1 إذا كانت القيمة مفقودة و0 إذا لم تكن كذللك.
  4. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  5. وعليكم السلام ورحمة الله وبركاته. ليس تماما حيث لا يجب أن تكون جميع البيانات من نوع float عند استخدام PyTorch لبناء النماذج. ولكن بالغعل بعض النماذج تتوقع أن تكون بيانات الإدخال من نوع float وذلك لأنه بسبب العمليات الحسابية التي تجريها الطبقات المختلفة في النموذج تعمل بشكل أفضل مع الأعداد الحقيقية مما تعطيك دقة أفضل في الأداء. ولكن يمكنك إستخدم int في الأعمدة التي لا تتطلب حسابات رياضية مثل التسميات (labels) في مهام التصنيف.
  6. لا بئس يرجى الإنتظار قليلا لحين الرد عليك . وسيتم الرد عليك قريبا إن شاء الله.
  7. وعليكم السلام ورحمة الله وبركاته. نعتذر لك عن أية مشكلة قد حدثت لك .إذا أردت أى مساعدة بخصوص دروس الدورات أو أردت شرح جزء معين غير واضح فيمكنك دائما وضع سؤالك وسيتم مساعدتك من قبل المدربين المتاحين في الأكاديمية. وإذا واجهتك أى مشكلة أخرى سببت لك إزعاج مما جعلك تريد إسترجاع الدورة يمكنك إخباري وسأعمل على مساعدتك وحلها لك . أما بخصوص مركز المساعدة فحاليا يوجد ضغط على مركز المساعدة وهذا الذي سبب التأخير في الرد عليك . لهذا نعتذر على ذلك ويرجى الإنتظار قليلا لحين الرد عليك.
  8. هل تقد ما سيتم شرحه في الدورة ؟ يمكنك بالطبع معرفة كل هذا من خلال الدخول على صفحة الدورة نفسها لترى ما الذي سوف تتعمله : وعند الدخول على رابط الدورة نفسه استجد رابط يسمى شاهد صفحة الدورة وهنا ستشاهد تفصيل كامل لما يوجد في الدورة هكذا : https://academy.hsoub.com/learn/computer-science/
  9. للأسف لا يوجد حاليا أى كوبونات للدعم ولكن يوجد عرض بداية العام وهو شراء دورتين بسعر دورة واحدة. وإذا لم يكن لديك بطاقة فيزا أو بطاقة لدفع رسوم الدورة. يمكنك أن تجعل شخص ما يشتري لك بطاقة هدية بقيمة الدورة التي تريدها ثم استخدامها وسيتم إضافة الرصيد الخاص بقيمة البطاقة لحسابك وستجد تفاصيل عن ذلك هنا: شراء بطاقة هدية استخدام بطاقة الهدية وبعد شحن البطاقة يمكنك محادثة الدعم للحصول على العرض من خلال الرابط التالي : https://support.academy.hsoub.com/conversations
  10. يمكنكي إرفاق سؤالك مباشرة وسيتم مساعدتك من قبل المدربين والمبرمجين والأشخاص الأخرين المتاحين.
  11. مرحبا عزيزي . لا تقلق منصة حسوب هي منصة عالمية ومشهورة ومشترك بها الآلاف من الأشخاص ويوجد تحتها مواقع مشهورة كثيرة مثل موقع خمسات و مستقل وغيرها ولهذا هي لن تنصب على أحد ولا تقلق من أى شئ . من الواضح أنك إشتركت من مدة 24 ساعة وإلى الآن لم تظهر . يرجى من فضلك أولا التأكد من وجود قسم دوراتي في شريط القوائم في أعلى الموقع حيث من خلاله يمكنك الذهاب إلى الدورات التي أنت مشترك بها: إذا لم تظهر يرجى محادثة الدعم كما وضح المدربون في الإجابة السابقة وإخبارهم بالمشكلة ولا تقلق سيتم الرد عليك ولكن من الممكن أن يتأخر قليلا. إن إعطاء صلاحية الوصول إلى الدورة يتم يدويا وذلك منعا للإحتيال وللتأكد من عدم وجود أى مشاكل تواجه الطلاب . لذلك من الممكن التأخر قليلا في وصول الدورة إليك . ولكن تاكد بما أنك قد قمت بالدفع فستظهر لك الدورة لذلك لا داعي لأى قلق . https://support.academy.hsoub.com/conversations والرابط السابق هنا لمحادثة قسم الدعم إذا لم تكن قد قمت بمحادثتهم. ولقد تم رفع مشكلتك مباشرة إلى إدارة الأكاديمية وسيتم حلها قريبا إن شاء الله. نعتذر لك عن أى تأخير قد تم وشكرا لتفهمك.
  12. أسهل طريقة لرفع المشروع هي ضغط ملف المشروع ومن ثم رفع الملف المضغوط مباشرة إلى الإستضافة لديك ومن ثم فك الضغط في الإستضافة لديك لإخراج الملفات. وتأكد من إخراج الملفات في مجلد public_html . ولكن لو لديك خبرة في github فمن الأفضل لك رفع المشروع عن طريق GitHub وربطه مع Hostinger وهكذا في كل مرة تقوم بتحديث المشروع عن طريق رفع التغييرات إلى GitHub سيتم رفع تلك التغييرات تلقائيا إلى المستودع وسيتم إعادة نشر المشروع مرة أخرى على الاستضافة . ويمكنك قراءة تفاصيل ونصائح حول تفعيل github في Hostinger من خلال الإجابة التالية : ويمكنك قراءة كيفية رفع المشروع من خلال الإجابة التالية المفصلة لكل شئ : ويمكنك الإطلاع على المقال المفيد من hostinger على كيفية رفع مشروع لارافيل : https://support.hostinger.com/en/articles/6152127-how-to-deploy-laravel-8-at-hostinger?q=deploy+laravel
  13. نعم صحيح . لاحظ أنك قمت بتمرير ثلاث مجاميع وهي x و y_event و y_time وسيتم تقسيم كل منهم إلى مجموعة للتدريب ومجموعة للإختبار. وستلاحظ في التوثيق الرسمي الذي أرفقته لك أنك تستطيع تمرير ما تشاء في المعامل الأول وسيتم إعتبار تلك المعاملات كمجاميع تريد تقسيمها.
  14. هل قمت بحذف ملفات js أو لم تقم بإستدعائها بعد تعديل الصفحات؟ تأكد من أنك قمت بإستدعاء جميع الملفات js التي كانت تعمل سابقا. ويرجى إرفاق رابط الموقع أو إرسال صفحة ال html الموجود بها ال header
  15. وعليكم السلام ورحمة الله وبركاته. هل تقصد جميع الخلايا معا أم تقصد وضع الكود بأكمله في خلية واحده ؟ إذا كنت تقصد وضع الكود في خلية واحدة فنعم يمكنك ذلك و عدم وضعه في عدة خلايا. أما إذا كنت تقصد تشغيل جميع الخلايا معا في وقت واحد يمكنك الضغط على زر Run All
  16. وعليكم السلام ورحمة الله وبركاته. المشكلة لديك في ملف lms\settings.py في سطر 122حيث أنك قمت بكتابة STATICFILES_DIR ولكن الخاصية الخاصة بتعريف مجلدات static تسمى STATICFILES_DIRS لاحظ كيف أنك نسيت حرف ال S. لذلك يرجى إستبدال السطر 122 بالتالي : STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), ] والآن قم بحذف الملفات المؤقته في المتصفح من خلال الضغط على CTRL + F5.
  17. وعليكم السلام ورحمة الله وبركاته. GPU T4 * 2 : هو وحدة معالجة رسومية (GPU) تأتي من شركة NVIDIA و مصممة لتسريع مهام الذكاء الاصطناعي والتعلم العميق وخصوصا في ال cloud . يستخدم في تدريب النماذج متوسطة الحجم ومعاجلة الصور والفيديوهات . يعتمد على معمارية Turing ويتميز بتقنيات تسريع التعلم العميق مثل Tensor Cores. Tensor Cores في T4 مصممة مخصوص للتعلم العميق مما يساعدك في تسريع العمليات الخاصة بـ التعلم العميق . GPU P100 : هو وحدة معالجة رسومية (GPU) تأتي من شركة NVIDIA. وهو أقوى من المعالج السابق T4 في مهام التدريب الكثيفة خاصة في التعلم العميق ولهذا هو مناسب لتدريب النماذج الكبيرة والمعقدة و الحوسبة العلمية عالية الأداء و تحليل البيانات الضخمة. يعتمد على معمارية Pascal TPU VM v3-8 : هو معالج مخصص يأتي من شركة Google لتسريع تطبيقات التعلم العميق وهو أسرع بكثير في تدريب النماذج الكبيرة جدا مثل الشبكات العصبية العميقة، مقارنة بال GPU و يوفر أداء محسن بشكل كبير في التدريب على النماذج الضخمة والمعقدة يعتمد على معمارية خاصة (TPU) مع وحدة Tensor لتمكين تسريع العمليات الحسابية مثل ضرب المصفوفات. يتميز بدعم كبير للبحث العميق وتحسين النماذج الكبيرة
  18. وعليكم السلام ورحمة الله وبركاته. لا . لا تحتاج إلى تحويل efs_time إلى فئات. حيث يعتمد النموذج على البيانات الزمنية المستمرة للتنبؤ باحتمالية حدوث الحدث في أوقات مختلفة. مثل بيانات وقت وقوع الحدث ( وفاة مريض أو فشل جهاز معين). حيث يستخدم النوذج الوقت كمتغير مستمر ويعتمد على شبكة عصبية لتوقع الحدث بناء على تسلسل زمني. وهكذا يمكن للنموذج التعامل مع البيانات الزمنية بشكل مباشر. دون الحاجة لتحويلها إلى فئات. أما بخصوص السؤال الثاني فأيضا لا . حيث أن النموذج ليس نموذج تصنيف بل هو يتحل مشكلة البقاء (Survival Analysis)، وهي نوع من المشاكل التي تتضمن التنبؤ بوقت حدوث حدث معين (مثل الوفاة أو الفشل) وليس مجرد تصنيف بين حدث أو لم يحدث.
  19. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  20. لا داعي للشكر . اعتقد أنه يوجد بالفعل المشكلة حيث يبدوا أني لم أقم بإرفاق الكود الصحيح إليكي الكود التالي : <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Rolling Text</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <span class="rolling-text" data-text="PORTFOLIO"></span> <span class="rolling-text" data-text="ABOUT US"></span> <span class="rolling-text" data-text="RENTAL"></span> </div> <script> document.addEventListener("DOMContentLoaded", function () { // تحديد جميع العناصر التي تحتوي على النص const rollingTexts = document.querySelectorAll(".rolling-text"); rollingTexts.forEach((rollingText) => { // الحصول على النص من السمة data-text const text = rollingText.getAttribute("data-text"); // تقسيم النص إلى أحرف const letters = text.split(""); const div1 = document.createElement("div"); div1.classList.add("block"); // إنشاء عناصر لكل حرف وإضافتها إلى DOM letters.forEach((letter, index) => { const span = document.createElement("span"); span.classList.add("letter"); span.innerText = letter; div1.appendChild(span); div1.appendChild(document.createTextNode(" ")); }); // تكرار النص مرة أخرى لإنشاء التأثير const div2 = div1.cloneNode(true); rollingText.appendChild(div1); rollingText.appendChild(div2); }); }); </script> </body> </html> أما بخصوص التنسيقات فإنه لا يجب أن يوجد أى تعارض ولكن من الممكن أن السبب بسبب class الذي يسمى container حيث أنه يستخدم بكثرة في المكتبات . يمكنكي حذف هذا ال class من ملف style.css ليصبح كود التنسيقات كالتالي : .rolling-text { display: inline-block; overflow: hidden; height: 30px; line-height: 30px; cursor: pointer; } .rolling-text:hover .letter, .rolling-text.play .letter { transform: translateY(-100%); } .rolling-text .letter { display: inline-block; transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1), -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1); } .letter:nth-child(1) { transition-delay: 0s; } .letter:nth-child(2) { transition-delay: 0.015s; } .letter:nth-child(3) { transition-delay: 0.03s; } .letter:nth-child(4) { transition-delay: 0.045s; } .letter:nth-child(5) { transition-delay: 0.06s; } .letter:nth-child(6) { transition-delay: 0.075s; } .letter:nth-child(7) { transition-delay: 0.09s; } .letter:nth-child(8) { transition-delay: 0.105s; } .letter:nth-child(9) { transition-delay: 0.12s; }
  21. وعليكم السلام ورحمة الله وبركاته. لا من الممكن أن تأخذ معاملات أكثر حيث يمكن أن تأخذا x و y و 5 معاملات أخرى وهي : X هي المميزات (features). y هو الهدف (target). test_size: هو الحجم المخصص للبيانات الخاصة بالاختبار . train_size: لتحديد حجم بيانات التدريب بشكل محدد. random_state: هو الرقم الذي يتم تحديده لتوليد نتائج عشوائية قابلة لإعادة التكرار. shuffle: لتحديد ما إذا كان يجب خلط البيانات قبل التقسيم. stratify: لتقسيم البيانات بشكل متوازن حسب فئات الهدف . وإليك التوثيق الرسمي لتوضيح أكثر حول جميع المعاملات السابقة وأيضا أمثلة لها : https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html
  22. للأسف إذا أردتي نفس التنسيقات حيث كما يظهر أن كل حرف يتحرك بشكل منفصل فلن يتم فعل ذلك دون فصل الأحرف معا . وإلا ستجدين أن الكلمة بأكملها تتحرك معا وليس كما يظهر في الفيديوا أن كل حرف منفصل عن الأخر في الحركة . ولكن إذا كنتي تقصدين عدم فصل الأحرف في HTML فمن الممكن تنفيذ ذلك بالطبع من خلال js ولكن سيتم فصل الأحرف . وإليكي كود HTML مع JS الذي سيفعل ذلك ويمكنكي إستخدام كود css السابق كما هو : <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Rolling Text</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <span class="rolling-text" data-text="PORTFOLIO"></span> <span class="rolling-text" data-text="ABOUT US"></span> <span class="rolling-text" data-text="RENTAL"></span> </div> <script> document.addEventListener("DOMContentLoaded", function () { const rollingTexts = document.querySelectorAll(".rolling-text"); rollingTexts.forEach((rollingText) => { const text = rollingText.getAttribute("data-text"); const letters = text.split(""); const div1 = document.createElement("div"); div1.classList.add("block"); letters.forEach((letter, index) => { const span = document.createElement("span"); span.classList.add("letter"); span.innerText = letter; div1.appendChild(span); }); const div2 = div1.cloneNode(); rollingText.appendChild(div1); rollingText.appendChild(div2); }); }); </script> </body> </html>
  23. هذه الأمر من الممكن أن يتم إنشاءه بأكثر من طريقة في css من خلال ال transition و إستخدام الخاصية transform لتغير أماكن العناصر . ولكن في الموقع المرفق هنا تم إستخدام العنصر مرتين . وأيضا تم فصل كل حرف من الكلمات وذلك لجعل كل حرف يتحرك بشكل منفصل عن الأخر وأيضا تأخير وقت كل حرف حتي لا يتحركون معا ويظهر لكي نفس الشكل الموجود في الفيديو . إليكي الكود الخاص ب HTML وإنشاء العناصر : <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <span class="rolling-text"> <div class="block"> <span class="letter">P</span> <span class="letter">O</span> <span class="letter">R</span> <span class="letter">T</span> <span class="letter">F</span> <span class="letter">O</span> <span class="letter">L</span> <span class="letter">I</span> <span class="letter">O</span> </div> <div class="block"><span class="letter">P</span> <span class="letter">O</span> <span class="letter">R</span> <span class="letter">T</span> <span class="letter">F</span> <span class="letter">O</span> <span class="letter">L</span> <span class="letter">I</span> <span class="letter">O</span> </div> </span> <span class="rolling-text"> <div class="block"><span class="letter">A</span> <span class="letter">B</span> <span class="letter">O</span> <span class="letter">U</span> <span class="letter">T</span> <span class="letter">&nbsp;</span> <span class="letter">U</span> <span class="letter">S</span> </div> <div class="block"><span class="letter">A</span> <span class="letter">B</span> <span class="letter">O</span> <span class="letter">U</span> <span class="letter">T</span> <span class="letter">&nbsp;</span> <span class="letter">U</span> <span class="letter">S</span> </div> </span> <span class="rolling-text"> <div class="block"><span class="letter">R</span> <span class="letter">E</span> <span class="letter">N</span> <span class="letter">T</span> <span class="letter">A</span> <span class="letter">L</span> </div> <div class="block"><span class="letter">R</span> <span class="letter">E</span> <span class="letter">N</span> <span class="letter">T</span> <span class="letter">A</span> <span class="letter">L</span> </div> </span> </div> </body> </html> وهذا هو ملف css للتنسيقات : .container { display: flex; justify-content: center; align-items: center; gap: 25px; } .rolling-text { display: inline-block; overflow: hidden; height: 30px; line-height: 30px; cursor: pointer; } .rolling-text:hover .letter, .rolling-text.play .letter { transform: translateY(-100%); } .rolling-text .letter { display: inline-block; transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1), -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1); } .letter:nth-child(1) { transition-delay: 0s; } .letter:nth-child(2) { transition-delay: 0.015s; } .letter:nth-child(3) { transition-delay: 0.03s; } .letter:nth-child(4) { transition-delay: 0.045s; } .letter:nth-child(5) { transition-delay: 0.06s; } .letter:nth-child(6) { transition-delay: 0.075s; } .letter:nth-child(7) { transition-delay: 0.09s; } .letter:nth-child(8) { transition-delay: 0.105s; } .letter:nth-child(9) { transition-delay: 0.12s; }
  24. هل يمكنك إرفاق صورة للمشكلة ؟ إذا كان يظهر خطأ لا يمكن الوصول للموقع فهذه غالبا مشكلة في الإنترنت لديك لذلك يرجى التأكد من الإتصال بالإنترنت على جهازك . أيضا تأكد من عدم تشغيلك ل vpn أذا كنت تستخدمه والتأكد أيضا منه لا يوجد تقيد لك على الشبكة التي أنت متصل بها فمن الممكن أنه تم السماح فقط لبعض المواقع على الشبكة لديك ولهذا لا يمكن الوصول إلى المواقع الأخرى. ويمكنك تحميل ال vpn التالي إذا كان لديك تقيد على الشبكة الخاصة بك : https://install.appcenter.ms/orgs/cloudflare/apps/1.1.1.1-windows-1/distribution_groups/release
  25. لا توجد أى مشكلة هذا أمر طبيعي . فعند محاولة إغلاق الجهاز يقوم نظام التشغيل windows بإنهاء وإغلاق جميع البرامج التي تعمل حتي يقوم بإغلاق الجهاز . وإذا وجد برنامج يعمل في الخلفية يظهر لكي هذا التحذير وذلك حتي لا تفقدين أى عمل قبل حفظه . ولذلك إذا كان البرنامج مهما يرجى إلغاء إيقاف التشغيل والتأكد من حفظ العمل لديكي . أما إذا كان البرنامج ليس مهما يمكنكي الضغط على إيقاف التشغيل حتي يقوم الويندوز بإجبار البرامج للإغلاق .
×
×
  • أضف...