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

Wael Aljamal

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

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

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

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

    218

كل منشورات العضو Wael Aljamal

  1. إن GET هي مصفوفة عامة تخزن فيها بيانات الطلبيات التي يرسلها الزبون (المتصفح) للمخدم والتي تكون حصراً من نوع GET وهي مرتبطة بالطلبية، أي ممكن أن يتم حذف محتواها، تأكد من أن المصفوفة GET تحوي القيمة المطلوبة مثلا بعمل جملة طباعة عادية echo وتابع محتوى المصفوفة، أعتقد أنه يتطلب حفظ هذه القيمة بمتغير آخر أو قاعدة البييانات أو الجلسة session، لا يتم حفظها. أي ربما GET في لاتحوي قيمة لذلك يحدث الخطأ، احفظ البيانات بطريقة مختلفة، محتوى GET متغير
  2. لم أفهم المطلوب، أرجو شرح المشكلة بشكل أفضل.
  3. أرجو تحديد الشيفرات البرمجية التي فيها المشكلة
  4. هل تقصدين أن الإجابة الصحيحة هب go وفي جال أدخلها المستخدم نخبرع أن إجابته صحيحة، وفي حال أدخل عبارة مختلفة نخبره بالإجابة الصحيحة؟ أي عليك تعديل هذا الجزء: System.out.println("الاجابة الصحيحه هي:"+ "go" ); نحدد go بدل x، هل هذا يحل مشكلتك؟
  5. اسم القالب Jannah. إن كنت تريد البحث عن اسم القالب في موقع wordpress يوجد أدوات يمكنها جلب اسم القالب، ابحث عن wordpress theme detector مثلا بعد فتح الموقع، ضع رابط موقعك في ووردبربس ثم اضغط على زر الفحص، إن كان القالب مشهور (أو غير معدل بشكل كبير ويحوي معلومات القالب) وموجود في قاعدة بيانات الموقع الفاحص، سيعرض اسمه و معلوماته.
  6. أضف العلاقات التي تريدها مع with أي جرب التالي: Exam::with(['teacher.profile', 'subject']) ^^^^^^^^^^^^^^^^ الشكل العام لها: with('relation1.relation2.relation3')->get(); اجلب العلاقات المرتبطة الواحدة تلوَ الأخرى..
  7. أي أنك تريد تثبيت الوسيط first=1 يمكن وضع input مخفي <input type="hidden" name="first" value="1"> سيتم إضافته للرابط.. <form method="get" action="http://example.com"> <input type="hidden" name="first" value="1" /> <input name="second" /> <input type="submit" value="submit" /> </form> والتجريب: إدخال 5 في الحقل الظاهر في الصفحة يرسل الطلب للصفحة http://example.com/?first=1&second=5
  8. مرحبا، لماذا تستخدم إصدارين من جيكويري؟ ملاحظة لترتيب استدعاء بوتستراب: // التنسيق أولا <link rel="stylesheet" href="css/bootstrap.min.css" /> // جيكويري ثانيا <script src="js/jquery-3.1.0.min.js"></script> // ثم بوتستراب جافاسكربت <script src="js/bootstrap-3.3.7.min.js"></script> تابع مع هذه التعديلات (اعمل مقارنة مكان استدعاء جيكويري) pro.rar مرفق ملف فيه تعديل
  9. الرقم الروماني لايمكن تخزينه كرقم int ضمن البرنامج، لأنه على شكل رموز ونظام عد مختلف، نخزنه على شكل سلسلة نصية أولا علينا عمل دالة تستقبل الرمز الروماني وتعيد مقابله الرقم العشري الموافق لقيمته.. هذه الدالة تستقبل محرف وسيط و تعيد قيمة رقمية موافقة لها.. int value(char r) { if (r == 'I') return 1; if (r == 'V') return 5; if (r == 'X') return 10; if (r == 'L') return 50; if (r == 'C') return 100; if (r == 'D') return 500; if (r == 'M') return 1000; return -1; } ثم علينا تعريف دالة تقوم بالمرور على سلسلة الرقم الروماني وحساب قيمته عن طريق تعويض كل رمز بالقيمة الموافقة له و إجراء العملية الرياضية المناسبة: int romanToDecimal(String str) { // تهيئة الناتج int res = 0; for (int i = 0; i < str.length(); i++) // المرور على النص بحلقة { // قراءة قيمة الرمز الحالي int s1 = value(str.charAt(i)); // قراءة الرمز اللاحق if (i + 1 < str.length()) { int s2 = value(str.charAt(i + 1)); // مقارنة الرمزين if (s1 >= s2) { // نقوم بجمع القيمتين إن كان الحالي أكبر من التالي res = res + s1; } else { // نقوم بالطرح res = res + s2 - s1; i++; } } else { res = res + s1; } } return res; } وفي الشيفرة لديك، نطبق الدالة على المتغير X والذي هو سلسلة نصية
  10. حاول عمل تنظيف clear : useEffect(() => { myFunction(); // استدعاء الدالة return () => { setState({}); // تنظيف الحالة }; }, []);
  11. في الجزء السفلي من محرر الأكواد vs code تظهر تبويب بنفس لاحقة الملف، مثلا إن كان php يكتب php وهكذا لكل لغة (تأكد من تطابقهما) اضغط بالزر الأيمن ضمن الملف ثم اختر format with ثم تظهر قائمة منبثقة حدد منها Prettier - Code formatter تأكد من تحديث الإضافة (يوجد 2 بنفس الاسم واحد منهم توقف عملها deprecated)
  12. نعم بالطبع كل شيئ منظم في فئات ومسارات.. سأضع لك صورة عن ترتريب المحتوى: الصفحة الرئيسية: ثم مسار الأساسيات: ثم أول مجموعة دروس خاصة بالمقدمة: كل شيئ مرتب و مصنف بطريقة مدروسة.
  13. أولا علينا تثبيت المكتبة: maatwebsite/excel composer require maatwebsite/excel ثم نضيف في ملف config/app.php: 'providers' => [ .... Maatwebsite\Excel\ExcelServiceProvider::class, ], 'aliases' => [ .... 'Excel' => Maatwebsite\Excel\Facades\Excel::class, ], ثم يمكن عمل متحكم خاص بمعالجة الملفات وإضافة مسارات لها مثلاً: php artisan make:controller ExportExcelController . . <?php //routes/web.php Route::get('/export_excel', 'ExportExcelController@index'); Route::get('/export_excel/excel', 'ExportExcelController@excel')->name('export_excel.excel'); ?> الجزء الأهم::: يوجد دالة خاصة نمرر لها اسم ال sheet ثم نرفق لها البيانات المناسبة ، و بتكرار هذا الجزء يمكن تعريف عدة sheets : <?php Excel::create('Customer Data', function($excel) use ($customer_array){ $excel->setTitle('Customer Data'); // الأول $excel->sheet('Customer Data 1', function($sheet) use ($customer_array){ $sheet->fromArray($customer_array, null, 'A1', false, false); }); // الثاني $excel->sheet('Customer Data 2', function($sheet) use ($customer_array){ $sheet->fromArray($customer_array, null, 'A1', false, false); }); // الثالث $excel->sheet('Customer Data 3', function($sheet) use ($customer_array){ $sheet->fromArray($customer_array, null, 'A1', false, false); }); })->download('xlsx'); بشكل مختصر :: <?php Excel::create('users', function ($excel) use ($users) { // بناء sheet $excel->sheet('sheet1', function ($sheet) use ($users) { $sheet->fromArray($users); }); // بناء sheet $excel->sheet('sheet2', function ($sheet) use ($users) { $sheet->fromArray($users); }); })->download('xlsx');
  14. يمكنك الاستفادة من الإجابة التالية: عليك تعديل السؤال و تحديد لغة البرمجة وإطار العمل وكتابة تفاصيل أكثر لأن السؤال غير واضح
  15. لتوضيح سبب عدم عمل == للمقارنة بين السلسل، حيث أن هذا التحقق == يقوم على التأكد من أن طرفي المساواة يتبعان لموقع ذاكرة واحد، يحدث ذلك لأن السلسل النصية في جافا String عبارة عن أغراض Objects وعند استخدام المقارنة بين الأغراض == نتأكد من أن أحد هذين الغرضين يشير reference للغرض الآخر وتعديل أحدهما يؤدي لتعديل الغرض الآخر .. أما في حال مقارنة متغيرات بأنماط بيانات البسيطة primitive data types مثل int - float - double فتعمل المقارنة == للتأكد من تطابق القيمة وهنا تكون صحيحة. مثال فيه == تعمل مثل equals : Object ob1 = new Object(); Object ob2 = ob1; System.out.println(ob1 == ob2); // مطابقة true System.out.println(ob1.equals(ob2)); // مطابقة true لاحظ إسناد الغرض الأول للفرض الآخر هنا سيكون كلاهما له نفس الموقع في الذاكرة و نفس القيمة ******** أما في حال إنشاء غرضين مختلفين String ob1 = new String("Hi"); String ob2 = new String("Hi"); System.out.println(ob1 == ob2); // false لدينا غرضين مختلفين System.out.println(ob1.equals(ob2)); // true هنا == تعطي عدم تطابق لأن لدينا غرضين مختلفين ************ حالة خاصة في عملية مقارنة السلسل:: String ob1 = "Hi"; String ob2 = "Hi"; // نفس الغرض System.out.println(ob1 == ob2); // مطابقة true System.out.println(ob1.equals(ob2)); // مطابقة true عند كتابة "Hi" هذا عبارة عن غرض له hashCode ثابت، سيكون للمتغيرين نفس العنوان في الذاكرة.. (حالة خاصة) هنا بما أن السلسة النصية ثابتة، يتم عمل مثل ربط بين هذه السلاسل لكي لا تأخذ ذاكرة بيتم إعطاؤوها نفس العنوان **** الحل هو استخدام equals مثل التعليق الآخر إجابة المدرب محمد
  16. لايجب أن يكون هنالك رقم بجانب الاسم اعتبره مصفوفة فقط، بدون رقم
  17. ما هذا العنصر؟ يبدو أنه يحوي على تفاصيل ولكن لا يتم عرضها ضمن ال modal ؟ هذه من قيمة عنصر القائمة المنسدلة
  18. تأكد من إصدار لغة PHP بين المخدم المحلي و السيرفر وتطابق هيكلية و أسماء حقول MySQL
  19. أرجو مشاركة الشيفرة لنتسطيع مساعدتك بشكل أفضل..
  20. يمكننا أن نستخلص من القائمة مصفوفة بالعناصر الأولى (ترتريب أول) ومصفوفة بالعناصر الثانية (ترتيب ثاني) [i[0] for i in lst] // تعيد مصفوفة بالعناصر التي لها ترتريب أول ثم نقوم بدمجهم في مصفوفة numpy ثنائية الأبعاد باستخدام الدالة stack import numpy as np lst =[('a', 0), ('b', 1), ('c', 2), ('d', 3)] arr1 = np.array([i[0] for i in lst]) arr2 = np.array([i[1] for i in lst]) arr = np.stack((arr1, arr2)) print(arr) والناتج: [['a' 'b' 'c' 'd'] ['0' '1' '2' '3']]
  21. علينا أولا توليد عدد من الأرقام العشوائية للدلالة على الأسطر المختارة ويجب أن تكون أصغر من عدد أسطر المصفوفة لذلك نخزن عدد أسطر المصفوفة number_of_rows = an_array.shape[0] ثم نقوم بتوليد مجموعة الأعداد العشوائية: باستخدام random.choice والعدد الأقصى نحدده بالوسيط size random_indices = np.random.choice(number_of_rows, size=2, replace=False) أما الوسيط replace يمنع تكرار ظهور نفس الرقم (في حالتنا نفس السطر) .. ثم نقرأ قيمة الأسطر المرادة ونطبعها: random_rows = an_array[random_indices, :] تم تحديد الأسطر فقط وجلب كل الأعمدة print(random_rows)
  22. إن المشكلة بسبب التنسيقات، حيث أن جميع مكونات الصفحة في نفس المستوى العمودي (هي ليست فوق بعضها) بل أسفل بعضها.. وعندما يقوم المتصفح بتبديل الصورة تظهر فوق مكون آخر ثم تختفي .. هذا الوقت يقوم فيه المتصفح بإصلاح المشكلة بعد رسم الصفحة مرة أخرى.. الحل بايتخدام خاصية z-index التي تسمح لنا بتموضع العناصر فوق بعضها بالترتيب .. عليك وضع قيمة لكل من العنصرين: .header_table{ ... z-index: 10; } .navb_table{ ... z-index: 10; } ملحوظة : لايعمل التعليق الخاص ب HTML والذي هو : <!-- comment --> داخل الوسم style بل نستخدم التعليق الخاص ب CSS: <style type="text/css"> /* .header_table{ width:100%; .... } */ </style>
  23. في جزء قراءة أرقام المصفوفة: for (i=0;i<arr.length;i++) arr[i]=in.nextInt(); سنعمل على تحقيق شرط إدخال عدد زوجي حيث نستعمل حلقة while مثلا في نفس خانة المصفوفة حتى يدخل عدد زوجي for (i=0;i<arr.length;i++) { int x = in.nextInt(); while (x % 2 != 0) { System.out.println("ادخل عناصر زوجية فقط في المصفوفة:"); x = in.nextInt(); } arr[i] = x; } باقي قسمة العدد الزوجي على 2 هو 0، لذلك طالما أن باقي القسمة غير 0 نعيد إدخال قيمة X بعد التأكد يتم إسناد قيمة x للعنصر arr في الخانة i
×
×
  • أضف...