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

Wael Aljamal

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

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

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

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

    218

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

  1. جيكويري التي ذكرتها على سبيل المثال، تعمل توافقية بين جميع المتصفحات حيث أن شيفرتها سيتم تنفيذها بالضبط بنفس الأسلوب في جميعهم، بالرغم من اختلافات بسيطة سيضطر المبرمج من عملها في جال كتابة جافاسكربت مباشرة. الاستفسار الذي أرفقه في سؤال آخر يتكلم عن البث المباشر في PHP أنا لم أتعامل معهم، وفي سؤالك ذكرت "طرف العميل" وليس المخدم، ثم سألت عن PHP، أنا أرفقت الحلين
  2. أنصحك بشراء حاسوب، حتى لو متوسط الأداء، وتعلم البرمجة عليه، من الصعب إحراز تقدم و التعامل بمرونة مع البرمجة على الهاتف.. كل مكتبة و إطار عمل لها توثيق، استخدم المشهور منهم وليس الحديث. عدم استخدام مكتبات يضطرك لإعادة كتابة أكواد لعمل توافقية مثلا مع تعدد أنواع الكاميرات و تسجيلات الفيديو و الصوت و التعمق في تفاصيل ليس لها علاقة بالمشروع الفعلي، وعليك التفاعل مباشرة مع بروتوكولات التسجيل وأشياء معقدة، المكتبات تسهل الأمر عليك، لاداع لاختراع العجلة من جديد. كما أن إطارات العمل موجودة لحل مشاكل تصميم التطبيقات و البرامج بطريقة موحدة بين المطورين وبأفضل الممارسات البرمجية الممكنة. @علي الكاسر يمكنك التعامل مع بروتوكول البث الحي Real Time Streaming Protocol (RTSP) يمكنك تصفح التوثيق: Live_streaming_web_audio_and_video والسؤال:
  3. هل يمكنك مشاركة صورة للمشكلة؟ عندما تريد وضع نص باللغة العربية، اكتب علامات التنصيص " " ثم اكتب النص داخلها، هذا يقلل من الأخطاء
  4. الطريقة اليدوية هي تشكيل سلسسة نصية من العدد بتقسيمه لعوامله الرقمية، حيث نأخذ الأرقام من اليمين لليسار عن طريق باقِ القسمة على 10 ونكرر العملية بدمج المحارف التي سنكونها من هذه الأرقام، ثم نعكس السلسلة النصية الناتجة // دالة تعيد سلسلة نصية // تستقبل عدد رقم صحيح string number_to_string(int x) { if (!x) // x = 0 return "0"; string s = ""; // تهيئة السلسة الحاوية على الإجابة while(x) { // نأخذ آحاد الرقم من خلال باقي القسمة على 10 // نضيف للرقم المحرف الصفري مايكافئ عملية التحويل إلى محرف نصي s.push_back(x%10 + '0'); x /= 10; } // نعكس السلسة // العملية السابقة تضيف الأرقام في منزلة العشرات و المئات على يمين الأعدادا السابقة reverse(s.begin(), s.end()); return s; } كما يمكن استعمال sprintf حيث في المثال نكتب القيمة X في السلسلة النصية y #include <stdio.h> int main() { int x=23; char y[2]; //the output buffer sprintf(y,"%d",x); printf("%s",y) } ويمكن استخدام boost/lexical_cast وهو يوفر آلية تحويل الأنماط #include <iostream> #include <string> #include <boost/lexical_cast.hpp> int main() { int i = 10; // نمط الإعادة هو سلسلة نصية std::string s = boost::lexical_cast<std::string>(i); std::cout << s << std::endl; return 0; }
  5. حاول طلب اسم ملف php مباشرة http://localhost/public/index.php ربما لعدم وجود ملف htaccess. وتأكد من إنشاء وصلة رمزية symbolic link لملف storage/public بداخل public؟ تأكد أولا من تنفيذ الأمر: php artisan storage:link
  6. أرجو إرفاق صورة توضيحية لمكان وضعك للمشروع؟ يتم تشغيل مشروع لارافل من خلال أوامر artisan والتي يجب تنفيذها في مسار مجلد المشروع الجذر php artisan serve لاحظ أنه يتم تخديم مجلد public عند تشغيل المشروع. تأكد من المنفذ الذي يشتغل عليه المشروع port number (يظهر رابط ضمن cmd بعد كتابة أمر php artisan serve ) يجب أن يحوي على ملف index.php وباقي ملفات HTML - CSS -JS حاول الاستفادة من هذه المساهمة:
  7. يمكننا كتابة دالة تقوم بالمرور على السلسلة النصية، وتجميع الحروف المتتالية (ماعدا الفراغات) وإضافتها لمصفوفة الإجابة والتي من الممكن أن تكون مصفوفة Vector بنمط String // الناتج وهو مصفوفة سلاسل السلسلة النصية void split_string(string text,vector<string>& words) { int i=0; // بداية السلسة char ch; // محرف مؤقت للقراءة string word; // سلسلة لتجميع الأحرف المتتالية التي تشكل سلسلة نصية // المرور على السلسلة while(ch=text[i++]) { if (isspace(ch)) // في حال وجدنا فراغ { if (!word.empty()) // إن كان لدينا كلمة { words.push_back(word); // نضيفها للإجابة } word = ""; // إعادة تهيئة المتغير المؤقت للكلمة } else // يوجد حرف { word += ch; // نضيف الحرف للكلمة الحالية } } if (!word.empty()) // بعد الانتهاء من الحلقة إن بقي لدينا أحرف ضمن السلسلة { words.push_back(word); // نضيف آخر كلمة } } لاحظ وجود شرط لتجاوز الفراغات المتتالية، حيث لا نضيف فراغ للمتغير الذي نقوم فيه بتجميع المحارف المتتالية
  8. المحرر يتجاهل السطر الجديد بعد التعليق، ويدمج الأسطر اللاحقة مع التعليق .. هذه المشكلة حاول تجريب إصدار مختلف، استخدم vs code لايوجد به أي مشكلة و سريع
  9. المتغيرات الرقمية الصحيحة في ++C إما أن يكون لها إشارة (موجب - سالب) مثل نمط int أو فقط موجبة unsigned غير مؤشرة.. في النمط unsigned يتم تعريف المتغير على 4 بايت أي 32 بت ولكن يتم أخذ جميع 32 بت لتحمل قيمة (لايوجد بت إشارة) فيكون مجال القيم لها دوماً موجب.. من 0 أصغر قيمة حتى 4 مليار و 294 مليون .. 4294967295 0, 1, 2, 3, ... (2^32 = 4294967295) 00000000000000000000000000000000 //0 00000000000000000000000000000001 //1 00000000000000000000000000000010 //2 . . 11111111111111111111111111111111 // 4294967295 في حال جمع 1 لآخر قيمة 4294967295 + 1 = 0 ستعود ل 0 (لأنه لا يتم الاحتفاظ بالقيمة المحمولة) في حال طرح 1 من 0 في النمط unsigned، سيعود التمثيل الثنائي ليصبح 11111111111111111111111111111111 أي أعظم قيمة ممكنة للرقم يمكن اعتبار التمثيل يدور بشكل حلقة و 0 بجانب 4294967295 ***** في النمط int يتم تعريف المتغير على 4 بايت أي 32 بت منهم 31 تحمل قيمة و الأخير للإشارة، ومجال الأرقام له من: - 2 ^ 31 => -2147483648 2 ^ 31 - 1 => 2147483647 (أقل ب 1 لأنها تضمن 0) كمجال .. =>>> -2147483648, -2147483647, -2147483646 ... -2 -1 0 1 2 3 .. 2147483646 , 2147483647, -2147483648, -2147483647 *********** 0 0000000000000000000000000000000 ^ 0 => موجب 1 => سالب 00000000000000000000000000000000 //0 00000000000000000000000000000001 //1 00000000000000000000000000000010 //2 11111111111111111111111111111111 // -1 11111111111111111111111111111110 // -2 11111111111111111111111111111101 // -3 عليك الانتباه، أن أسلوب التعامل مع الأعداد كما هي في النظام الثاني، يتم الجمع ضمن حلقة وهي عدد البتات القادرة على تمثيل العدد، وعند الجمع أو الطرح يتم تجاهل القيمة المحمولة للخانة الأكبر، أو يتم إسناد 1 للبت اليساري فتقلب إشارة العدد للسالب بشكل خطأ.. ********* في الشيفرة لديك، أنت تقوم بتعريف X ضمن main بنوع unsigned ولكن تستقبلها في الدالة check بالنوع int أي تمرير 11111111111111111111111111111111 كمتغير بدون إشارة بقيمة 4294967295 لمتغير بإشارة فسيقوم بمعاملتها ك -1 مما يحقق الشرط، أي X ضمن الدالة check قيمتها -1 بينما في main ستكون 4294967295 وهذا سبب طباعتها.
  10. يوجد حزمة في ATOM اسمها Atom one-liner package تقوم بتقليص حجم الملف من خلال حذف n\ و الفراغات، ربما هي مفعلة لديك CTRL+SHIFT+T or CMD+SHIFT+T حاول تعطيلها.. حاول تنفيذ الأمر لعرض الشيفرة بشكل سليم CTRL + ALT + B
  11. لايهم مفهوم المجموع في الشيفرة أي المتغير sum غير مفهوم نريد إدخال عدد السكان، نستعمل cin ضمن حلقة يلزمنا متغير لحفظ أكبر عدد من السكان Max_people، وفي كل مرة نجد عدد أكبر من السابق، نحفظ i التي هي رقم المدينة الأكثر سكاناً لهذه الحظة في Max_city_index في نهاية الشيفرة نجلب قيمة الاسم من خلال الدليل Max_city_index حيث حفظنا رقم المدينة الأكثر سكاناً #include <iostream> #include <string> using namespace std; int main() { string City[5] = {"G","P","S","C","R"}; int number[5] = {}; int sum=0; int Max_people = 0; int Max_city_index = 0; int i; cout<<"[City][number]\n"; for(i = 0; i < 5; i++) { cout << "enter number 0f people in " << City[i] <<endl; cin >> number[i]; } cout<<"[City][number]\n"; for(i = 0; i < 5; i++) { cout << City[i] << " " <<number[i]<<endl; if (Max_people < number[i]) { Max_people = number[i]; Max_city_index = i; } } cout <<"Most populous city = " << City[Max_city_index]; return 0; }
  12. هل تم حفظ الملف بهذا الشكل أم فقط يظهر أثناء العرض؟ حاول عدم حفظة حالياً جرب تغيير ترميز ملفات المشروع File -> setting -> core -> encoding -> Unicode (UTF-8) ثم أعد فتحه
  13. كتجربة مستقلة، حاول حذف أقواس ON اي اكتب الشرطين بعدها مباشرة وليس ضمن () ON
  14. يمكن أن المشكلة في الشيفرة نفسها، استخدام خطأ او تحديث بدون داع، يمكنك مشاركتها لتفصها وتحسينها
  15. ألم بحدث تكرار في النتائج؟ يمكن فصل الاستعلام لاستعلامين جزئيين، ودمج نتاىجهما باستخدام Union .. أو استخدم المعامل IN مثل ON F.ID IN (X.TOP, X.DOWN) وحل آخر هو نقل الشرط لعبارة where أرجو تجريب هذه الأفكار، وطرح نتيجة تطبيقهم، شكرا لك
  16. حاول تسبيق شرط الدمج الخاص ب fiber للسطر السابق، ربما تعمل فلترة مسبقة للقيم التي تطلبها.
  17. جرب تبديل inner join ب left join و هنا left JOIN capson x
  18. لم اخبرك بإضافتهم للملف، بل تنفيذهم في cmd احذفهم من الملف لكي لايحدث خطأ
  19. أعتقد أن المشكلة تكمن في شرط الدمج، أنت تضع AND وهي يجب أن تكون OR ON ( x.top = f.id OR x.down = f.id ) ونضع كلا الشرطين في عبارة منفصلة
  20. جرب الأمر التالي composer dump-autoload php artisan view:clear php artisan cache:clear php artisan config:clear في ملف composer.json تأكد من إصدار PHP المستخدم في المشروع تأكد من تثبيت composer إن ظهر أي خطأ
  21. لنحاول تعديل ترتريب الدمج واستعمال LEFT JOIN SELECT * , o.factory AS newfactory, // رقم المورد x.name AS aname FROM order_threads o LEFT JOIN suppliersdb s ON o.factory = s.id JOIN thread x ON o.thread_id = x.id JOIN fibers f ON f.id = x.fiber WHERE order_id=".$order['id']."; تعديل في السطر الخامس بإضافة LEFT
  22. المسار المفتوح في cmd يجب أن يكون إلى داخل المجلد الرئيسي لمشروع لارافل أي hrmSAAS لديك .. أعد الخطوة من داخل المشروع أو اكتب ..htdocs> cd hrmSASS ..htdocs\hrmSASS > php artisan mig... تأكد من الاسم
  23. يمكن حل المشكلة بعمل git push --force
×
×
  • أضف...