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

Wael Aljamal

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

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

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

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

    218

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

  1. ربما هنالك خطأ كتابي فيها document.getElementById()
  2. هل يمكنك ضغط مجلد المشروع وإرفاقه في تعليق. شكرا هنا عليك إضافة المثال لما بعد HTML form هذه تعني أن مكان الوسم p سيصبح 123 في حال نجح إرسال واستقبال الطلب.
  3. تم نشر التعليق بالخطأ قبل إكماله أرجو تحديث الصفحة
  4. بعد إرسال طلب AJAX من المتصفح، يتوجب انتظار الرد من الخادم في دالة success حيث تستقبل الرد وتعدل الصفحة بدون تحديثها. لنفرض لديك وسم HTML تعرض فيه الناتج: <p id="result"> .. </p> سيحشر الرد فيه كالتالي: success:function(result_form_server){ document.getElemetById(result).innerHTML = result_form_server; } حالياً دع الخادم يعيد أي قيمة في return وبعد تأكدك من أن الرد يأتي بشكل سليم للصفحة و يعدل النتيجة قم بتعديل الشيفرة لإرجاع القيم الصحيحة def tab_1(request): .. ... return "123"
  5. كما أسلف المدرب عدنان، الموضوع يتعلق ببرمجة الواجهات الخلفية، حيث أن المستخدمين المسجلين ضمن المشروع تكون بياناتهم ضمن قاعدة البيانات الخاصة بتطبيقنا. عندما يريد مستخدم استعراض صفحته الشخصية، يكون لدينا شيفرة برمجية، تجلب بيانات من قاعدة البيانات حسب اسمه أو رقمه أو الايميل، وتقوم بحقن تلك البيانات في قالب HTML وترسله للمتصفح ليقوم بعرضه. حاله مثل حال حسابك في فيسبوك أو أكاديمية حسوب .. لنفرض يمكن عمل استعلام يجلب بيانات المستخدم من خلال الطريقة التالية: USer.find('wael@email.com').name def index(): message = "Hello " + User.find('wael@email.com').name return dict(message=message) الشيفرة السابقة تعيد رسالة ترجيب ديناميكية باسم المستخدم حسب حقل الايميل. ثم نحقن الرسالة (قيمة المتغير message) في قالب HTML <html> <head> <title>some title</title> </head> <body> <h1>{{=message}}</h1> </body> </html> => <h1> Hello wael</h1>
  6. أرجو التأكد نم المفتاح أن يطابق ما أرسلته .get('Drywall_Ceiling') ^^^^^^^ أرجو إخبار إن حلت المشكلة
  7. مرحبا مجدي، يمكنك استخدام this.v1 و this.v2ضمن الدالة البانية، لكن برأيك هل يكون لهم قيمة قبل الانتهاء من تنفيذ الدالة البانية بالأصل؟ في حال كان لدينا دالة بانية ذات وسطاء، a,b يمكن جمع وضرب هذه الوسطا و إسناد قيمهم للمتغيرات لديك، أو إسناد a إلى this.a مثلاً ونفس الشيء ل b ثم بعدها يمكن استخدام this.a و this.b لأنها أصبحت تحمل قيمة function Calculator(a, b) { this.a = a; this.b = b; this.sum = this.a + this.b; this.mul = this.a * this.b; } let calculator = new Calculator(2, 3); alert("Sum=" + calculator.sum); alert("Mul=" + calculator.mul);
  8. أرجو إرفاق الشيفرات البرمجية التي ترتبط بالمشكلة لنستطيع إرشادك للحل
  9. أهلا بك، في البريد الاكتروني، في المستطيل الرمادي، يمكنك تحديد أن الرسالة مرغوب بها لكي يتم نقلها لقسم inbox بدل spam وبالتالي يتوقف التجاهل لها لتكمل عملية التجريب
  10. إن القاسم المشترك الأكبر PGCD يمكن حسابه بأكثر من طريقة، وذلك حسب الخوارزمية الرياضية التي تقوم بتطبيقها، أنت في الشيفرة لديك تطبق خوارزمية اقليدس. يوجد طريقة أخرى وهي حساب جداء العددين تقسيم القاسم المشترك الأكبر لهما. PGCD(a, b) = a * b / GCD(a, b) توفر PHP دالة حساب GCD، ثم نطبق الفكرة في السطر السابق <?php $a = 15; $b = 30; $gcd = gmp_gcd($a, $b); echo "GCD: " . gmp_strval($gcd) . "\n"; echo "PGCD: " . ($a * $b / gmp_strval($gcd) ) . "\n"; ?> أي خوارزمية أخرى يتوجب عمل برهان لها، ثم تطبيقها لأنه بدون برهان لايمكن عمل خوارزيمة سليمة.
  11. نعم صحيح، هذا منطقي، سيعتبرها غوغل أن البريد المرسل عشوائي، حيث أنك ترسله من خادم ويب محلي، و ربما ترسل رسائل هكرز أو اختراق أو إعلانات لأشخاص لا علاقة لهم بمشروعك وبذلك لحمايتهم يعمل فرز للرسائل و يضعها في البريد المهمل. مثال: لربما أرسلت له رابط إعادة تعيين حسابه في فيسبوك ثم سرقة بياناته؟ هنا لتحافظ غوغل على سلامة وأمن حسابات مستخدميها الذين ليس لديهم خبرة في تمييز هذه الأمور بأن توجه البريد للغير مرغوب فيه.
  12. تمام، هذا تأكيد أن الشيفرة لم يكن بها مشكلة.. إذن كانت عملية المزامنة في اتصال الانترنت مع خادم غوغل google mail.
  13. تمام، الرقم 0 يدل على المستخدم الرئيسي للمتصفح، قد لا تكون دخلت للبريد العشوائي للحساب المرسل له الايميل. ادخل هذا التبويب في الحساب المرسل له ايميل
  14. أقصد هذا الرابط: https://mail.google.com/mail/u/0/#spam ^^^^ spam هو الايميل المتجاهل ذو مصدر غير موثوق.. هذا جيد
  15. هل جميع الحسابات من نوع gmail؟ هل تأكدت من spam أي أن الايميل يصل لكن للبريد العشوائي
  16. بماذا يمتاز هذا الحساب عن سواه؟ هل يختلف بمزود خدمة البريد الاكتروني أم ماذا؟
  17. أولاً حاول قراءة وفهم رسالة الخطأ، أنت تحاول حقن عنصر ضمن عنصر آخر، لكنه يرفض ذلك ويخبرك أن العنصر هذا infoMal ليس عقدة أي ليس div مثلاً أو body. بل هو نص عادي string. أي سيعمل append أما appendChild خاص بالعقد وسوم HTML z لديك عبارة عن وسم P ويبدو أنك ترغب في إسناد قيمة النص infoMal له وهذا يتم من خلال innerHTML فهو الأفضل لهذه الحالة. z.innerHTML = infoMal; باقي الشيفرة ليس بها خطأ
  18. بكل عام يوجد العديد من التصاميم الممكنة، إن كنت ترغب بعمل ID للمحادثة، يتوجب عمل جدول فيه حقلين، الأول ID المحادثات و الثاني ID المستخدم وكل ثنائية منه تدل على أن المستخدم الفلاني عضو في المحادثة الفلانية.
  19. هذه أفضل طريقة حاول مجدداً تطبيقها. أرجو تجاهل الحل السابق الأول
  20. أرجو إرفاق جميع الشيفرات البرمجية و الإعدادات المتضمنة في عملية إرسال البريد.
  21. علينا في هذه الحالة إضافة id المرسل، و id المستقبل لجدول الرسائل الخاصة. الرسائل التي يمكن أن يتطلع عليها الشخص هو أن يكون id خاصته إما مرسل أو مستقبل. و حذف الرسالة يجب أن يكون نفسه المرسل. id المحادثة غير ضروري، نجلب المستخدين مع رسائلهم و نقوم بتجميعهم حسب الثنائية مرسل مستقبل
  22. ما المشكلة في اعتبار أن الدردسة الخاصة هي عبارة عن غرفة دردشة لكن فقط لشخصين؟ هل يمكنك شرح المشكلة و سبب عدم اعتمادها
  23. لقد وجدت فكرة خلال البحث، وهي حقن ال divider لمصفوفة widgets بالاستعانة بمفهوم الإضافة extention من خلال عمل مؤشر يتحرك على القائمة ثم يبني واحدة أخرى ديناميكياً بإضافة widget هي separator extension IterableExt<T> on Iterable<T> { Iterable<T> superJoin(T separator) { final iterator = this.iterator; if (!iterator.moveNext()) return []; final _l = [iterator.current]; while (iterator.moveNext()) { _l..add(separator)..add(iterator.current); } return _l; } } وطريقة الاستدعاء تكون: return Row( children: <Widget>[ const Text('Foo'), const Text('Foo'), const Text('Bar'), ].superJoin(const SizedBox(width: 10,)).toList(), ); نقوم باستدعاء superJoin وتمرير الفاصل له ليقوم بحقنه بين كل عنصرين. لطريقة أخرى، عليكا بناء دالة تعيد List<Widget> وتنفيذ الفكرة كالتالي: دالة تعيد قائمة من الواجهات تستقبل قائمة من العناصر نمرر لها separator نقوم بالمرور على القائمة الأساسية و نأخذ منها العناصر ونضيفهم للقائمة الثانية مع ال separator بالتناوب سوف يمثل استدعاء هذه الدالة قيمة children List<Widget> createRowChildrenWithPadding(List<Widget> widgets, Padding pading) { var joined = List<Widget>(); for (var i = 0; i < widgets.length; i++) { if ( i != widgets.length - 1) { joined.add(widgets[i]); joined.add(padding); } else { joined.add(widgets[i]); } } return joined; } بالنسبة للخطأ السابق، أعتقد أن حله يكون كالتالي: return Column( children: <Widget> snapshot.data[index].forEach((key, value){ return Container( margin: EdgeInsets.only(left: 20.0, right: 20.0), child: Text(snapshot.data[index]['name']), ); } ), );
  24. الصورة التقريبية التي أرفقتها للتصميم كيف يظهر التصميم حالياً.
  25. ما السطر الذي يعيد null؟ لقد فهمت من سؤالك الأول أنك تريد وضع القيم بجانب بعضها مع مسافات أفقية بينها.. ما الفائدة من استخدام ListView.separated إن كان لديك عنصر واحد؟ أليس من الأفضل عمل التصميم بشكل عمود بسيط
×
×
  • أضف...