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

Wael Aljamal

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

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

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

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

    218

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

  1. الخطوات المنطقية في تسلسل الشيفرة لديك صحيحة، لكن فكرة حساب هل العدد أولي أم لا يجب أن يتم تعديلها لكي تعمل بشكل صحيح. لكل عدد في المصفوفة، نفرض أنه أولي، إن قبل القسمة على عدد أقل منه يصبح غير أولي، إن بقي العدد ألي نحسب العاملي له for (i = 0; i < n; i++) { bool prime = true; for (j = 2; j < a[i]; j++) { if (a[i] % j == 0) // قبل القسمة على عدد أصغر منه prime = false; } if (prime) a[i] = Factorial(a[i]); }
  2. سأكمل شرح الخاصيتين: Name: تعمل على وضع اسم لمسار معين، وبهذا يقلل من تعقيد الشيفرة. Route::get('/user/profile', function () { // })->name('profile'); لاحظ أن المسار user/profile له اسم مختصر profile. مثلاً، لإعادة التوجيه ضمن المتحكم لمسار صفحة المستخدم تصبح الشيفرة: return redirect()->route('profile'); ^^^^^^^^^^^^^ كما أن اختباره اسم المسار يصبح ضمن كائن الطلبية ويمكن اختبارها مباشرة ضمنه public function handle($request, Closure $next) { if ($request->route()->named('profile')) { // } return $next($request); } أما Group: تعمل على تجميع أكثر من مسار وإعطائهم بادئة مشتركة أو توجيه الطلبيات إلى middleware معين أو أكثر، مثلاً بادئة مشتركة prefix: Route::prefix('admin')->group(function () { Route::get('/users', function () { // Matches The "/admin/users" URL }); }); وسيط مشترك middleware: Route::middleware(['middleware1', 'middleware2'])->group(function () { Route::get('/', function () { // Uses first & second middleware... }); Route::get('/user/profile', function () { // Uses first & second middleware... }); }); طبعاً يمكنك مراجعة التوثيق laravel 9 routing
  3. حسب ما قمت بتقديمة، نلاحظ أنه يمكن ملاحظة الاختلاف من خلال الخلية C1 التي تحوي القيمة Time وبذلك يمكن عمل شرط لفرز نوع الملف، إن كانت الخلية فارغة تكون نمط أول وإلا فهي نمط ثاني. ضمن الحلقة على عدد ال spreadsheets يمكن اختبار قيمة الخلية: $sheetType = $spreadsheet->getActiveSheet() ->getCell('c1') == 'Time' ? 1 : 2; if ($sheetType == 1) { do old } else { do second }
  4. عند التعامل مع بيانات ذات بنية معقدة، من الأفضل استخدام صيغة الكائنات في التعامل معها حيث تسهل علينا التعامل مع تعدد الخاصيات و ربطها مع الكائن الهدف لها، بالإضافة للمصفوفات لتجميع الكائنات المتشابهة. سيكون لدينا مصفوفة من النماذج و كل نموذج يحمل مواصفات المنتج الجزئي الخاص به. let order = [ { color: red thread: T1 }, { color: green thread: T1 }, { color: yellow thread: T3 }, {} ] let forms = [order1, order2] يمكن عمل كائن يمثل الخط و صفاته، و كائن يحمل عدة منتجات لنفس الطلبية، ثم عمل مصفوفة طلبيات. ثم في PHP يمكن عمل json_encode لعمل مصفوفة ترابطية فيها نفس بنية المعطيات و يمكن المرور عليها بسهولة.
  5. كما قلت أنت، أنه يعمل على السيرفر المحلي، لأن أن الملفات لها نفس المرقع (الهرمية) أي المسار النسبي بينهم صحيح. ارفق رابط الموقع إن أمكنك للتجريب
  6. عندما تقرظا قيمة a يجب أن يكون حرف صغير $a = $_GET['a']; ^^^^^^^ لأنه تم تمريره بالمفتاح ضمن رابط <?php echo "<a href='delete.php?a=$row[id]' onclick='return confermdelete();'> delete </a>" ?></td> ^^^^^^ أي تصبح <?php $a = $_GET['A']; echo $a; // تجريب include('db.php'); if(isset($a)) $sql = "DELETE FROM WHERE id=$a"; if($conn->query($sql) === true ){ echo "تم الحذف بنجاح"; } else { echo "لم يتم الحذف" ; } ?>
  7. جرب <?php echo "<a href='delete.php?a=$row[id]' onclick='return confermdelete();'> delete </a>" ?></td> عندما تضع الفأرة على الرباط او تضغط زر الحذف، ما هو الرابط الذي يظهر ؟ لربما قيمة a خطأ من هذه الشيفرة
  8. تأكد من تموضع الملفات النسبي بينهم، وجرب تضمين صفحة الحذف بهذه الطريقة: href='./delete.php إن كانت في نفس المجلد
  9. أنت تستخدم هنا GET method جرب تعديل الشيفرة لقراءة a$ $a = $_GET['A']; من فضلك اطبع قيمة a بعد جلب قيمتها للصفحة للتأكد من أن الطلبية تصلها
  10. أول قسم: أعتقد أن ما يقصده الكاتب في development server هو أن يكون لكل مطور سيرفر خاص به، يرفع عليه المشاريع للتجريب. لأنه في حال غير ذلك سوف يرفع مشاريعه على استضافات مجانية أو أي خدمة لتشغيل المشروع مثل heroku مثلاً ويمكن أن يكون هذا الأمر مشتتاً. وسوف يتعلق ذلك بسرعة رفه و تعديل الملفات و تشغيل الخادم و التطبيق.. ثاني قسم: ومن ثم عمل مقارنة بين تطوير المشاريع محليا Locally (التي يعتبرها أفضل لأن التعديلات على الملفات وإعادة تشغيل السيرفر المحلي تكون لحظية و سريعة) ولا تحتاج أكثر من تحديث المتصفح و قارنها بوضع المشروع على سيرفر حقيقي أنه يتطلب منه رفع التعديلات طيلة الوقت مهما كانت بسيطة وهذا يؤخر التطوير. طبعاً نقوم بإنشاء المشروع و تطويره محلياً ثم نقوم بنشر المشروع للخطوات المرحلية (المتوسطة الحجم) على سيرفر حقيقي لتجريب أداء التطبيق، لأنه لن يكون بنفس كفائة تشغيله محلياً.
  11. من أين تأتي قيمة a$ هل من Form؟ تأكد أن تكون method= post في form شيفرة HTML مثال: <form method="post" action="صفحة الحذف"> ^^^^^^^^^^^^^^^^ a: <input type="text" name="A"> <input type="submit"> </form> , شيفرة PHP <?php $a = $_POST['A']; include('db.php'); if(isset($a)) $sql = "DELETE FROM WHERE id=$a"; if($conn->query($sql) === true ){ echo "تم الحذف بنجاح"; } else { echo "لم يتم الحذف" ; } ?>
  12. من فضلك التأكد من المستخدم USER هل له صلاحيات الحذف في قاعدة البيانات هذه؟ (هل تستعمل root أو مستخدم له صلاحية) يمكنك إرفاق شيفرة تعمل و أخرى لا عمل لأجري مقارنة لربما أعرف المشكلة
  13. أرجو إرفاق كامل الملف للتأكد، هل تعمل عمليات الإضافة مثلاً في قاعدة البيانات؟ أي أن المشكلة فقط في الحذف؟ هل يظهر أي رسائل خطأ في الشيفرة البرمجية؟
  14. قبل البدء بتعلم إطار دجانغو، عليك دراسة أساسيات لغة بايثون، وبنى المعطيات الي تقدمها اللغة والإلمام بالبرمجة كائنية التوجه وتطبيقها في بايثون. يمكنك الوصول لدروس بايثون من الرابط: academy.hsoub / programming / python توفر أكاديمية حسوب العديد من الشروحات فيما يتعلق بإطار العمل Django يمكن الوصول لهم من الرابط: academy.hsoub / python / django الأساسيات: كيفية تنصيب الإطار والمكتبات وتهيئة بيئة العمل التعامل مع النماذج Model وقواعد البيانات التوجيه Routing و بروتوكول HTTP التعامل مع الاستمارات Form التعامل مع ملفات العرض View
  15. مرحبا محمد، يمكن أن يواجه الطلاب الجدد بعض الصعوبة في التعلم لأن مجال علوم الحاسب جديد عليهم و يختلف عن أسلوب المدرسة أو التعليم التقليدي، أرجو محاولة التحلي بالصبر و يمكنك إعادة مشاهدة الدروس عدة مرات لامشكلة في ذلك، وذكر القسم أو المصطلح أو أي شيء غير واضح. المدربون متواجدين للإجابة عن أسئلتك في قسم الدورات، حيث يمكنك طرح السؤال في قسم التعليقات أسفل الفيديو. يمكن توسيع الشرح و إضافة مقالات مساعدة و أي شيء ساعدك على الفهم والدراسة.
  16. نستعمل الوظيفة hasnext غالباً عند التعامل مع الملفات، أو قراءة دخل من المستخدم، حيث أنها تعيد قيمة Boolean و تعطينا فكرة هل يوجد بيانات أخرى ضمن قناة القراءة الحالية لنستطيع قراءة البيانات دفعة دفعة بدون حصول خطأ (استثناء) مثل محاولة قراءة بيانات من قناة ولا يكون فيها بيانات. عادة ترتبط الوظيفة hasNext مع الصنف Scanner تعيد true في حال وجود بيانات أخرى في قناة الدخل. تتفرع الدالة لدوال مخصصة: للتأكد من وجود سطر آخر في الملف أو قناة الدخل: public boolean hasNextLine() و للتأكد من وجود رقم صحيح: public boolean hasNextInt() while(scan.hasNext()){ if(scan.hasNextInt(8)){ System.out.println("Found Int Value: "+scan.next()); } } وغيرهم. كما تستخدم بشكل عام مع Iterator في جافا كحلقة تكرار تطبق على التجميعات Collections مثل List ,HashTable, HashSet.. الخ Iterator<String> it = strList.iterator(); while(it.hasNext()){ String obj = it.next(); System.out.println(obj); }
  17. يمكنك البدء بالقراءة عنه مقالات الذكاء
  18. تأكد من عمل الاتصال مع قاعدة البيانات وهي عادة تتم عن طريق تضمين ملف خاص بعمل الاتصال باسم connection مثلاً. $conn = new mysqli($servername, $username, $password, $dbname); أو حسب طريقة اتصالك مع قاعدة البيانات الشيفرة صحيحة ولكن تأكد من اسم الجدول في قاعدة البيانات الخاصة بالسيرفر ان تكون نفسها. يمكنك عمل echo $a في بداية الشيفرة لتتأكد من أنه يصل بطريقة صحيحة.
  19. إن خدمة ANA - أنا المقدمة من شركة حسوب (أداة إدارة المشاريع و الفريق) عبارة عن تطبيق ويب (موقع الكتروني- web app) وليس تطبيق هواتف ذكية. الرابط من هنا: ana.hsoub.com
  20. انا في سوريا، Zoom جميع خدماته محظورة ولا يعمل بدون vpn
  21. إن معظم خدمات الرد التلقائي تكون عن طريق اختيار سؤال من قائمة أسئلة / رسائل محددة مسبقا، عندما يضغط المستخدم على سؤال ما، يتم الرد من الخادم بإجابة مبرمجة مسبقا و جاهزة. أي لا يتم تفسير ما يكتبه المستخدم و استخدام ذكاء صنعي لعمل رد تلقائي لمواضيع بسيطة، لأن تطبيق الذكاء الصنعي أمر ليس بسيط و لن يعطي نتائج دقيقة كامل الوقت. لذلك يمكنك عرض مجموعة أسئلة و تجهيز اجابات لهم، مثل تقديم معلومات معينة عن الخدمة أو عرض أوقات الدوام، كلها يمكن برمجتها بطريقة بسيطة مثل عمل استعلامات للإجابات حسب رقم السؤال مثلا و جلب الإجابة من قاعدة البيانات. أما القيام ببعض المهام، هو أمر شبيه بما شرحته مسبقاً، فبدل عرض رسالة تقوم، بتنفيذ شيفرة برمجية معينة، حاول البدء بأمور بسيطة ثم تطويرها.
  22. يمكنك تجريب خادم wamp بدل xampp ربما عدم توافق بين نسخة PHP في متغيرات البيئة مع الخادم المشغل
  23. يجب استدعاء دالة تهيئة الأب أولاً: @override void initState() { super.initState(); BooksType(); } أرجو تمرير اسم الدالة فقط للخاصية future وعدم استدعائها ضمن صنف الباني FutureBuilder( future: BooksType(), ^^^^^^ الصحيح FutureBuilder( future: BooksType, فهي دالة غير متزامنة Async. في حال بقاء أخطاء، أرجو تحديد في أي سطر
  24. هل جربت استخدام أحد برامج VPN، لربما هذا الجزء من خدمات Zoom غير متاح في بلدك، حاول قراءة شروط الاستخدام وكل التفاصيل قبل متابعة المشروع.
  25. حاول تحديث نظام ويندوز قد يكون تعريف كرت الشاشة غير مثبت أو غير محدث على الأغلب تحل المشكلة. ان لم تنجح، اتصل مع الصيانة أو المركز الذي اشتريته منه
×
×
  • أضف...