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

محمد ربيع زليول

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

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

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

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

    18

كل منشورات العضو محمد ربيع زليول

  1. غالبًا عندما نريد إضافة معلومات جديدة لقاعدة البيانات، نستخدم method=post لإرسال هذه المعلومات. في صفحة PHP الخاصة بإضافة المعلومات سنقوم بكتابة الأكواد التالية: في البداية نقوم بتحديد معلومات الإتصال بقاعدة البيانات: <?php $servername = "localhost"; $username = "username"; $password = "password"; $database_name = "database_name"; ثم نقوم بإنشاء اتصال: // إنشاء اتصال بقاعدة البيانات $connection = new mysqli($servername, $username, $password, $database_name); بعدها نتحقق أن المعلومات صحيحة، في حالة كانت المعلومات خاطئة سيظهر خطأ. // التحقق من الإتصال if ($connection->connect_error) { die("Connection failed: " . $connection->connect_error); } ثم نقوم بتسجيل قيم username وpassword القادمة. $username = $_POST["username"]; $password = $_POST["password"]; الآن سنقوم بإنشاء استعلام لإضافة المعلومات لقاعدة البيانات: $sql = 'INSERT INTO users (username, password) VALUES ( ?, ? )'; ثم سنتحقق أن الإستعلام صحيح، وسنقوم بإضافة متغيري إسم المستخدم وكلمة المرور لإستعلام. ثم نقوم بإرجاع قيمة success => true. if ($statement = $connection->prepare($sql)) { // نقوم بإضافة متغيري اسم المستخدم وكلمة السر للإستعلام $statement->bind_param('ss', $username, $password); // نطبق الإستعلام if ($statement->execute()) { $array = ["success" => true]; echo json_encode($array); $statement->close(); $connection->close(); } } أما بالنسبة لقراءة البيانات فعادة ما نستخدم method=get. سنقوم بإنشاء ملف جديد: سنقوم في البداية بإنشاء متغيرات الإتصال بقاعدة البيانات والتحقق من الإتصال يتم بشكل جيد: <?php $servername = "localhost"; $username = "username"; $password = "password"; $database_name = "database_name"; // إنشاء اتصال بقاعدة البيانات $connection = new mysqli($servername, $username, $password, $database_name); // التحقق من الإتصال if ($connection->connect_error) { die("Connection failed: " . $connection->connect_error); } ثم سنقوم بقراءة رقم المستخدم من الرابط وتسجيله في متغير $id $id = $_GET["id"]; ننشئ إستعلام للبحث عن مستخدم الذي يمتلك هذا id. $sql = 'SELECT id, username, password FROM users WHERE id = ?'; ثم سنقوم بالتحقق من الإستعلام. if ($statement = $connection->prepare($sql)) { } نقوم بإضافة رقم المستخدم للإستعلام. if ($statement = $connection->prepare($sql)) { $statement->bind_param('i', $id); } ثم سنقوم بتنفيذ الإستعلام وإرجاع قيمة ببيانات المستخدم. if ($statement = $connection->prepare($sql)) { $statement->bind_param('i', $id); if ($statement->execute()) { $result = $statement->get_result(); $user = $result->fetch_array(MYSQLI_ASSOC); $json = json_encode($user); echo $json; } } ثم نغلق الإتصال بقاعدة البيانات. if ($statement = $connection->prepare($sql)) { $statement->bind_param('i', $id); if ($statement->execute()) { $result = $statement->get_result(); $user = $result->fetch_array(MYSQLI_ASSOC); $json = json_encode($user); echo $json; $result->close(); $statement->close(); $connection->close(); } } اذا قمنا مثلًا بتسمية ملف قراءة البيانات ب read.php ووضعناه داخل مجلد users مثلًا فيمكننا الوصول إلى محتواه عن طريق الرابط: http://localhost/users/read.php?id=5 وإذا قمنا بتسمية ملف إدخال البيانات ب insert.php ووضعناه في مجلد users فعلينا إرسال request من نوع POST إلى الرابط: http://localhost/users/insert.php يمكنك إرسال هذه request عن طريق postman أو عن أي لغة برمجية أخرى. مثال من برنامج postman. مرفق ملفي read.php و insert.php users.zip
  2. أعتقد أن مصطلح fork هو مصطلح خاطئ، لم يستعمل في محله، وكان يجب إستخدام مصطلح repository بدلًا عنه، ومعنى repository هي مستودع، أو لتبسيط هو مشروع على إحدى المنصات التي تستخدم Git ك Github أو Gitlab وغيرها من المنصات.. وعمل fork ل repository يعني نسخ هذا المستودع إلى حسابك الخاص. مثلًا: يمكنك عمل fork لمستودع ما على Github عن طريق الضغط على زر fork أعلى يمين الصفحة، وبعد ضغطك سيتم نسخ هذا المستودع لحسابك الشخصي.
  3. نعم، سيتم التعديل على كافة صفحات الموقع.
  4. نعم بإمكانك الإحتفاظ بهذه الخصائص في متصفحك، عن طريق بعض الإضافات كإضافة CSS and Javascript Injection. تقوم الإضافة بحقن كود CSS أو جافاسكربت الذي تريده في أي موقع، عليك فقط إضافة التنسيقات للإضافة ( وليس ل devTools ) وستتكلف الإضافة بحفظها وتشغيلها في كل مرة تزور بها الموقع الذي تريده. هذا مثال لتغير لون خلفية موقع موسوعة حسوب، يمكنك إضافة تنسيقات لأي عنصر تريده، أو classes ...
  5. سبب المشكلة هو أنك قمت بالطباعة، قبل إستدعاء دالة header. السطر التالي: echo $_SESSION['name'] . $_SESSION['age'] . $_SESSION['humm']; وهناك مشكلة أخرى بالكود الخاص بك هي عدم تواجد دالة session_start في بداية الملف، يجب إضافة الدالة في رأس كل ملف يستخدم session في php بالشكل التالي، ليتم حفظ قيم المتغيرات. <?php session_start(); // باقي المحتوى
  6. هناك العديد من المواقع التي يمكنك أن تستمد من خلالها أفكار لتحويلها إلى أكواد: المواقع التالية فيها من تعرض تصاميم كصور، ومنها ما يوجد بها تصاميم HTML وCSS. أنصحك بالمواقع التالية: dribbble behance themeforest awwwards webdesign-inspiration htmlinspiration كما يمكنك محاولة تقليد مواقع موجودة ..
  7. بالنسبة للإدراج فهو غير مهم، الطريقة التي تقوم بها بإدراج التاريخ صحيحة. يجب تعديل التاريخ عند قرائته، في php يمكنك تعديل التاريخ بالطريقة التالية: <?php $str = '2020-07-08 18:18:27'; echo date('g:i A', strtotime($str)); // 6:18 PM echo "\n"; echo date('d/M/Y', strtotime($str)); // 08/Jul/2020 ?>
  8. أولًا نقوم بكتابة أساسيات أي برنامج ب C++ وهي الدالة main. #include <iostream> using namespace std; int main () { } ثم سنقوم بإنشاء متغير لتسجيل قيمة الرقم الذي سنبدأ من عنده، ونسميه number مثلًا. #include <iostream> using namespace std; int main () { int number; } الآن نطلب من إدخال رقم ونسجله في متغير number. #include <iostream> using namespace std; int main () { int number; cout << "Please enter a number: "; cin >> number; } الآن سنقوم بعمل حلقة عن طريق for، تبدأ من قيمة 1 إلى 10. #include <iostream> using namespace std; int main () { int number; cout << "Please enter a number: "; cin >> number; for (int i = 1; i <= 10; i++) { } } ثم سنقوم بطباعة المجموع number زائد i. يعني في البداية سيكون المجموع هو 0 + number ثم 1 + number ثم 2 + number وهكذا... ليكون الكود النهائي كالتالي: #include <iostream> using namespace std; int main () { int number; cout << "Please enter a number: "; cin >> number; for (int i = 1; i <= 10; i++) { cout << number + i << " "; } } يمكنك تجربة الكود من خلال الرابط التالي.
  9. أحتاج صراحة لجزء main وطريقة إستخدام الكود أيضًا، لكني قمت ببعض التغيرات هنا، لا أعلم أنها ستحل المشكلة أم لا. بما أنا sbox هو متغير من نوقع مصفوف String، قمت بتغير هذه دالة SubByte لتستقبل مصفوفة ثنائية الأبعاد من نوع String وليس Bytes. ثم قمت بإنشاء متغير جديد لنستطيع من خلاله إرجاع قيمة بنوع byte. قمت أيضًا بتغير نوع الدالة من void إلى byte from: public static void SubByte (byte[][] s) to: public static byte[][] SubByte (String[][] s) وبعض التغيرات الأخرى للتناسب مع التعديلات: from: su = Integer.toHexString(s[i][j]); to: su = s[i][j]; ------------ from: s[i][j]=sbox[r][c]; to: new_variable[i][j] = hexToByte(sbox[r][c]); لتصبح الدالة كالتالي: public static byte[][] SubByte (String[][] s) // قمت بتغير نوع هنا { System.out.println ("Inside subByte :"); byte[][] new_variable = new byte[16][16];// قمت بإنشاء متغير جديد هو الذي سنقوم بإرجاعه int i, j, r, c; String su, x1, x2, str; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { su = s[i][j]; // قمت بتغير هذا السطر x1 = su.substring (0, 1); x2 = su.substring (1, 2); r = Integer.parseInt (x1, 16); c = Integer.parseInt (x2, 16); //subByte process new_variable[i][j] = hexToByte(sbox[r][c]); // نستخدم المتغير الجديد System.out.println (new_variable); // نطبع المتغير الجديد } } return new_variable; }
  10. أولًا نقوم بكتابة أساسيات أي برنامج ب C++ وهي الدالة main. #include <iostream> using namespace std; int main () { } سنستخدم متغير لحفظ قيمة المجموع سنسميه total وسيكون نوعه float لأنه سيحتوي على عدد حقيقي، وسنجعل قيمته الإبتدائية 0. #include <iostream> using namespace std; int main () { float total = 0; } بعد ذلك ستقوم بعمل تكرار من قيمة 1 إلى قيمة 99 عن طريق for بالشكل التالي: #include <iostream> using namespace std; int main () { float total = 0; for (float i = 1; i <= 99; i++){ } } في كل تكرار سنقوم بجمع total مع قيمة i/i+1. #include <iostream> using namespace std; int main () { float total = 0; for (float i = 1; i <= 99; i++){ total = total + i / (i + 1); } } وفي النهاية سنقوم بطبع قيمة المجموع، أي طبع قيمة total. #include <iostream> using namespace std; int main () { float total = 0; for (float i = 1; i <= 99; i++){ total = total + i / (i + 1); } cout << total; } يمكنك مشاهدة النتيجة من خلال الرابط التالي.
  11. هل من الممكن مشاركة الكود الخاص بك لفهم ما الذي تحاول فعله، وأين تكمن المشكلة.
  12. يمكن تعريف المتغير عن طريق class Integer ثم إستخدام دالة byteValue للحصول على قيمة byte Integer x = new Integer(0xA1); byte b = x.byteValue();
  13. في البداية سنقوم بتحويل كل حرف في النظام السادس عشر Hexadicimal إلى مقابله في binary، ثم سنقوم بجمع القيمتين: مثال، سنقوم بتحويل 1A من النظام السادس عشر إلى byte. في البداية سنقوم بتحويل 1 إلى النظام الثنائي وقيمته هي 0001 ثم سنقوم بتحويل A إلى النظام الثنائي وقيمته هي 1010 ثم سنجمع القيمتين ليكون الناتج هو 00011010 Hexadecimal: 1A 1 = 0001 // النظام الثنائي A = 1010 // النظام الثنائي 1A = 0001 1010 // إذن وفي جافا يمكن كتابة دالة للقيام بعملية التحويل بهذه الطريقة بهذا الشكل: public byte hexToByte(String hexString) { int firstDigit = toDigit(hexString.charAt(0)); int secondDigit = toDigit(hexString.charAt(1)); return (byte) ((firstDigit << 4) + secondDigit); } private int toDigit(char hexChar) { int digit = Character.digit(hexChar, 16); if(digit == -1) { throw new IllegalArgumentException( "Invalid Hexadecimal Character: "+ hexChar); } return digit; } ولتجربة المثال نكتب: import java.util.Arrays; public class Main { private int toDigit(char hexChar) { int digit = Character.digit(hexChar, 16); if(digit == -1) { throw new IllegalArgumentException( "Invalid Hexadecimal Character: "+ hexChar); } return digit; } public byte hexToByte(String hexString) { int firstDigit = toDigit(hexString.charAt(0)); int secondDigit = toDigit(hexString.charAt(1)); return (byte) ((firstDigit << 4) + secondDigit); } public static void main(String[] args) { Main main = new Main(); String str = "1A"; byte value = main.hexToByte(str); System.out.println( value ); } } يمكنك تجربة المثال على الرابط التالي.
  14. مرحبًا أحمد، إن كنت تريد الحصول على خدمة مماثلة، أنصحك بوضع مشروعك على منصة مستقل، وهي منصة تحتوي على أفضل المستقلين المحترفين الذين يستطعون مساعدتك لإنجاز المهمة. أو يمكنك البحث على مستقل يقدم نفس الخدمة التي تريدها من خلال منصة خمسات. بالتوفيق لك.
  15. في تطوير المواقع يوجد جانبين: الجانب الأول هو جانب المستخدم، وهو كل ما يتعلق بالواجهات والعناصر التي يرها المستخدم على المتصفح ويتفاعل معاها من نصوص وأزرار وصور وفيديوهات وغيرها من العناصر وهذه الواجهات تعتمد بالأساس على اللغتين HTML وCSS بالإضافة للغة جافاسكربت، ونسمى هذا الجانب Front end، والمطور الذي يطور هذا الجانب ب front end developer. الجانب الثاني هو جانب الخادم، وهو يتعلق بالأشياء التي لا تحصل في المتصفح بل تحصل في جزء آخر، هذا الجانب يكون به أكواد نستطيع من خلالها القيام بالعديد من الأشياء، مثلًا الإتصال بقواعد البيانات وإستخراج وإدخال معلومات جديدة لها، معالجة البيانات، تسجيل الصور أو إنشائها والعديد من الأشياء الأخرى، ونسمى هذا الجانب Back end، والمطور الذي يطور هذا الجانب ب back end developer. أما full stack developer فهو مبرمج قادر على تطوير برمجيات في كلا الجانبين، أي Front end و back end في نفس الوقت. الخادم أو السرفر هو حاسوب يحتوي على نفس مكونات الحاسب العادي، لكن غالبًا ما يحتوي هذا الحاسوب على إمكانيات أقوى من إمكانيات الأجهزة العادية إطار العمل هو مجموعة من المكتبات الجاهزة لمساعدة المطور على أداء عمله بسهولة وسرعة، وتوفر عليه بناء التطبيق من الصفر ليركز فقط على ما يميز تطبيقه ويبدأ من نقطة متقدمة، كما أنها تساعده على تنظيم الكود الخاص به. المكتبات هي مجموعة من الأكواد تقوم بعمل شيء ما، مثلًا: يوجد مكتبات للعمليات الحسابية، تحتوي هذه المكتبات على دوال رياضية لمختلف العمليات. يوجد مكتبات لإضافة تنسيقات لكود الصفحة، تحتوي هذه المكتبات على دوال أو تنسيقات جاهزة يمكنك إدراجها لمشروعك يوجد مكتبات لإضافة animation للصفحة. وغيرها ... نعم، يمكن للمطور تعلم العديد من الأشياء في نفس الوقت، لكن كلما تخصص المبرمج كان له مهارات أكبر في المجال الذي تخصص به. ستحتاج بإستمرار للذهاب لتوثيق المكتبات وأطر العمل للبحث عن شيء ما، أو عندما ستحصل معك مشكلة يمكن أن تبحث عن حل لها في جوجل وهكذا .. هناك العديد من التخصصات البرمجية، لا يجب عليك معرفتها جميعًا أو معرفة محتواها كلها. أود إخبارك أن أغلب هذه التخصصات تتقاطع في أجزاء كثيرة مع بعض البعض وفيها بعض الإختلافات التي تميز كل تخصص عن غيره.
  16. في الأمثلة التالية سنتخيل أن موقعنا يحتوي على صفحتين page1.php و page2.php. وسنقوم بتمرير بعض المعلومات من الصفحة الأولى للصفحة الثانية هذه المعلومات. هناك العديد من الطرق لنقل البيانات بين صفحات الموقع سأذكر 3 منها: الطريقة الأولى: عن طريق الجلسات SESSION: لإستخدام SESSION في PHP يجب إضافة دالة session_start في بداية كل صفحة. وفي الصفحة الأولى ستقوم بإدخال معلومات من خلال مصفوفة SESSION. <?php // page1.php session_start(); echo 'Welcome to page #1<br />'; $_SESSION['favcolor'] = 'green'; $_SESSION['animal'] = 'cat'; وفي الصفحة الثانية، يمكنك قراءة هذه المعلومات عن طريق نفس المصفوفة. <?php // page2.php session_start(); echo 'Welcome to page #2<br />'; echo $_SESSION['favcolor']; // green echo $_SESSION['animal']; // cat الطريقة الثانية: عن طريق Cookie: تخزين المعلومات في الصفحة الأولى عن طريق متغير Cookies <?php // page1.php echo 'Welcome to page #1<br />'; $_COOKIE['favcolor'] = 'green'; $_COOKIE['animal'] = 'cat'; قراءة البيانات عن طريق نفس المتغير: <?php // page2.php echo 'Welcome to page #2<br />'; echo $_COOKIE['favcolor']; // green echo $_COOKIE['animal']; // cat الطريقة الثالثة: عن طريق GET وPOST: في صفحة الأولى يمكن وضع الرابط بالشكل التالي: <a href="page2.php?favcolor=green&animal=cat">Page2</a> أو يمكن إستخدام form كهذا: <form method="get" action="page2.php"> <input name="favcolor" value="blue"> <input name="animal" value="cat"> <input type="submit"> </form> وفي الصفحة الثانية، يمكن قراءة هذه المعلومات عن طريق مصفوفة GET أو POST: <?php // page2.php echo 'Welcome to page #2<br />'; echo $_GET['favcolor']; // green echo $_GET['animal']; // cat في حالة كانت method الخاصة ب form هي POST، عليك قراءة المعلومات من خلال مصفوفة POST بدلًا من GET
  17. يمكنك تعطيل ميزة الكود التلقائي عن طريق اتباع المراحل التالية: في القائمة العلوية نختار File ثم preferences ثم settings، أو نقوم بالضغط على ctrl + , ثم قم بالبحث على editor.parameterHints ثم قم بإلغاء تفعيلها.
  18. المشكلة غالبًا من كابل الشاشة، أو من الشاشة نفسها. يجب فتح الحاسوب والتحقق من أن كابل الشاشة مثبت في مكانه بشكل جيد، إن كان الكابل مثبت وما زالت هناك مشكلة. فيمكن حينها تغير كابل الشاشة، والتحقق من عملها. إن لم يعمل بعد تغير الكابل، فحينها يجب ستكون المشكلة من الشاشة، وأعتقد أن الحل حينها هو تغيير الشاشة كاملة. لكني أرجح الخيار أن المشكلة من الكابل. ستحتاج لأحد عمال صيانة الحاسوب، إن لم تكن لك خبرة في فتح الحواسيب وإصلاحها.
  19. تعلم البرمجة عمومًا سيساعدك في تطوير التفكير المنطقي والتحليلي، هذه الأشياء يمكن أن تأثر على طريقتك تفكيرك بشكل كبير، وستساعدك في دراستك على العموم والطريقة التي تتعامل بها مع الحياة. بالنسبة لتأتير البرمجة على تعلم التحكم الألي والتحكم المنطقي والإلكترونيات، ستجد أن هناك مجموعة من مفاهيم هذه الأخيرة متواجد في البرمجة، هذا التشابه سيجعلك تستوعب هذه المفاهيم بشكل أفضل، مثلًا البوبات المنطقية ستجد أنها تستخدم كعمليات في البرمجية لعمل شروط برمجية أو غيرها. هناك العديد من لغات البرمجة، ولكل لغة نقاط قوة ونقاط ضعف، لذلك نستخدم بعض اللغات البرمجية لصناعة الألعاب، ولغات أخرى لصناعة برامج سطح المكتب، ولغات من أجل معالجة المعلومات، ولا توجد لغة برمجية واحدة أفضل من غيرها، لكل منها وظائفها ونقاط ضعف وقوة، تجعلها الأفضل في مهمة ما. تستطيع صناعة مواقع عن طريق لغة جافاسكربت بالإضافة للغات أخرى ك HTML وCSS، كما أنها تخول لك إنشاء تطبيقات هاتف إن استخدمنا مكتبات ك React Native أو Cordova، وبناء برامج سطح المكتب مع مكتبات ك ElectronJs، وهناك بعض الأنواع من الألعاب يمكنك إنشائها عن طريق لغة جافا سكربت. كما رأيت يمكنك عمل العديد من الأشياء بإستخدام لغة جافاسكرت، لكنها لا تعتبر أفضل لغة في كل مشروع، يفرض عليك المشروع غالبًا اللغة البرمجية التي ستستخدمها، وبناءًا على مستلزمات المشروع نختار اللغة البرمجية الأفضل لهذا المشروع. تعتبر اللغات البرمجية أدوات تستخدم في البرمجة، تتشارك كل اللغات البرمجية في هذه المفاهيم، مما يجعل الإنتقال من لغة برمجية إلى أخرى أمر ممكن، ولن يأخد تعلم اللغة الجديد وقتًا طويلًا لأنك ستكون تتوفر على المفاهيم البرمجية وهي الأساس. أنصحك في البداية بتعلم لغة برمجية واحدة، يمكنك بعد فترة من اتقانك لهذه اللغة التوجه إلى لغات برمجية أخرى، على حسب المسار أو المشروع الذي ستقوم بعمله حينها، تعتبر جافا سكربت خيارًا جيدًا، لأنها لغة تستخدم في العديد من المجالات، عكس لغات أخرى. في البرمجة، هناك العديد من التخصصات، ستتعرف عليها خلال مشوارك، لا يجب أن تكون تعرف كافة هذه التخصصات، يكفي فقط أن تختار مسار وتحترفه. الإجابة صعبة، الكهرباء والبرمجة تخصصين مختلفين، لكن يمكنك تعلم البرمجة كمهارة وكما أخبرتك أعتقد أنها ستفيدك كثيرًا فيما بعد. يفضل تواجد فريق كامل من أجل إنشاء هذه التطبيقات أو الألعاب، وكل شخص في الفريق له تخصص معين، بناء تطبيقات مشابهة هو أمر ممكن، لكن بتواجد فرد واحد سيأخد تطويرها وقتًا طويلًا ولن تصل لنفس مستوى إحترافية وتصميم وأداء البرامج المعدة من طرف فريق.
  20. هناك مشكلة في الكود: الكود الحالي في class من نوع Charity class Charity { public: Charity() { } Charity( const Donors &Donors,const Volunteers &Volunteers,const Needy_People &Needy_People) : needy_People(Needy_People), donors(Donors), volunteers(Volunteers) {} }; يجب إضافة الخاصيات التي إستخدمتها في constructor ليصبح الكود بالشكل التالي: class Charity { public: Needy_People needy_People; Donors donors; Volunteers volunteers; Charity() { } Charity( const Donors &Donors,const Volunteers &Volunteers,const Needy_People &Needy_People) : needy_People(Needy_People), donors(Donors), volunteers(Volunteers) {} }; يمكنك تجربة الكود الكامل من خلال هذا الرابط.
  21. عادة صاحب الحاسوب يعلم بتواجد برامج حماية في حاسوبه. لا يوجد مكان مخصص لبرامج الحماية لكنها تتواجد مع غيرها من البرامج ضمن قائمة البرامج التي يمكنك الوصول اليها عن طريق الخطوات التالية اولا الضغط على قائمة ابدأ ثم اختيار control panel ثم بعد ذلك اختيار uninstall a program ثم ستظهر قائمة بكافة البرامج على الحاسوب من بين هذه البرامج يمكن ان تكون هناك برامح حماية ان قام صاحب الحاسوب قد قام بتثبيتها سابقا
  22. يجب على الحاسوب أن يحتوي برنامج حماية Anti virus، لحذف الفيروسات الموجودة على الفلاشة.
  23. غالبًا مشكلة الإختصارات تكون بسبب الفيروسات، الفيروسات موجودة في حاسوبك، بمعنى أنه في كل مرة ستقوم فيها بإدخال الفلاشة ستظهر الإختصارات رغم فرمتة الفيروسات، يجب فرمطة الفلاشة في حاسوب آخر به مكافح فيروسات، ثم حرق ISO على الفلاشة ثم فرمطة الحاسوب.
  24. يلزم تواجد فلاشة أو DVD لعملية الحرق، يضل الحل هو شراء DVD به نسخة ويندوز أو الإستعانة بعامل صيانة لعمل الفرمتة وإصلاح المشكلة، أو استخدام حاسوب آخر لتحميل وحرق ملف ISO على DVD.
×
×
  • أضف...