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

لوحة المتصدرين

  1. سمير عبود

    سمير عبود

    الأعضاء


    • نقاط

      3

    • المساهمات

      3560


  2. Arabic Language

    Arabic Language

    الأعضاء


    • نقاط

      1

    • المساهمات

      32


  3. Qqq Zzz

    Qqq Zzz

    الأعضاء


    • نقاط

      1

    • المساهمات

      22


  4. محمد عبد العزيز9

    • نقاط

      1

    • المساهمات

      3


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 11/30/20 in أجوبة

  1. كما نعلم جميعا أن الصور والتفاصيل التي يتم إضافتها للتصاميم من أهم الاشياء التي تساعد على جعل التصميم يبدو جذاب ومميزا .. لذا سؤالي هنا ماهي أفضل طريقه ومواقع للحصول على الملحقات الصور التي قد نحتاجها وعلى إي اساسا اقوم باختيارها ؟ نوع الصور التي اريدها هي الزخارف والصور الاسلاميه .. وشكرا لكم ^ ^
    1 نقطة
  2. تعد طريقة ForEach إحدى الطرق العديدة للتكرار خلال المصفوفات. لكل طريقة ميزات مختلفة ، والأمر متروك لك ، اعتمادًا على ما تفعله ، لتحديد الطريقة التي يجب استخدامها. بفرض لديك المصفوفة التالية: const numbers = [1, 2, 3, 4, 5]; فإن الحلقة التكرارية التقليدية خلال المصفوفة هي: for (i = 0; i < numbers.length; i++) { console.log(numbers[i]); } أما ما يميّز ForEach هو أنها تستخدم ظيفة مختلفة عن "for loop" الكلاسيكية. فيمرر التابع forEach تابع للرد Callback لكل عنصر من عناصر المصفوفة مع البارمترات التالية: القيمة الحالية للعنصر رقم فهرس Index العنصر الحالي غرض Object من المصفوفة الذي ينتمي إليه العنصر الحالي فمثلاً يمكن تنفيذ تابع محدد عند المرور على كل عنصر ضمن المصفوفة: numbers.forEach(function(number) { console.log(number); }); فيكون الناتج: طباعة الأرقام 1،2،3،4،5 ومثال على استخدام الفهرس كمتحول في الحلقة: numbers.forEach((number, index) => { console.log('Index: ' + index + ' Value: ' + number); }); وعندها يكون الناتج: طباعة الأرقام مع فهارسها كالتالي: Index: 0 , Value 1 - Index: 1 Value 2 - Index 2 Value 3 .... وبالمقابل يمكن استخدام (السهم) أو ما يعرف بـ ES6 كالتالي: numbers.forEach(number => console.log(number)); وهي تقوم بنفس الوظيفة تماماً ولكن تستخدم فقط لتسهيل قراءة الكود وترتيبه وجعله مختصر خصوصاً في الأكواد المعقدة و الحلقات والشروط المتداخلة والمتكررة بحيث يمكن اختصارها بأسطر بسيطة ضمن الكود.
    1 نقطة
  3. مرحباً بك، لم يتغير شيء لأنه لا يوجد في المستند أي عُنصر يحمل المُعرف test حتى يتغير النص الموجود داخل الdiv يجب إضافة الid المطلوب كما هو موضح أدناه: <div class="test" id="test">C</div> أو بإمكانك تغيير طريقة تحديد العُنصر عن طريق إسم الصنف: window.onload = function () { document.getElementsByClassName("test")[0].innerHTML = "asma"; } التابع getElementsByClassName يأخذ كمعامل إسم الصنف و يُرجع مصفوفة تضم كل العناصر التي تملك صنف التنسيقات المطلوب. هناك عدة توابع أخرى يُمكنك إستخدامها ك querySelector getElementsByTagName بالتوفيق.
    1 نقطة
  4. مرحبًا أسماء. لاحظي أنك قمت بتحديد الحاوية باستخدام التابع getElementById بالرغم من أن test تعتبر صنفًا class و ليس مُعرفًا id. <div class="test">C</div> فقط قومي بتعديل class إلى id و سيعمل بشكل صحيح: <!DOCTYPE html> <html> <head> <script> window.onload = function () { document.getElementById("test").innerHTML = "asma";} </script> </head> <body> <div id="test">C</div> </body> </html>
    1 نقطة
  5. هنالك العديد من الإضافات اللتي تستخدم لتنسيق النصوص على محررات الأكواد على سبيل المثال هنالك إضافة مخصصة للأندرويد إستديو وهي : و كذلك إذا لم تجدها مناسبة فيمكنك التحول لإستخدام أحد محررات النصوص الأخري المعروفة مثل VS Code و Atom اللتي لديها عدد كبير من المطورين الذين يوفرون عدد كبير من إضافة تعمل على تنسيق النصوص مثل : يمكنك أن تجد قسم الإضافات في كل محرر نصوص من خلال شريط المهام في أعلى المحرر
    1 نقطة
  6. مرحباً بك، لعمل هذا الشيء تحتاج إلى إنشاء جدول تُخزن فيه تفضيلات كل مستخدم مبدئيا فإن الأعمدة التي يمكننا وضعها في الجدول هي كالآتي: id مُعرف التفضيلة user_id مُعرف المُستخدم صاحب التفضيلة و يمكن أيضا إنشاء مفتاح ثانوي يربط هذا العمود بجدول المستخدمين model_type: من النوع النصي لتفريق نوع التفضيلة إن كانت كتاب أو مقال أو منتج أو أي شيء آخر model_id: مُعرف الشيء الذي قام المستخدم بتفضيله فإن كان كتاب فسيتم تخزين مُعرف الكتاب فيه بإمكانك إضافة أعمدة أخرى مثلا لحفظ تاريخ إضافة التفضيلة و غيرها. عندما يختار المُستخدم إضافة منتج للمفضلة فإنه يجب عليك إنشاء إستعلام لإضافة سجل جديد في جدول التفضيلات بحيث يكون: user_id هو مُعرف المستخدم الذي يحاول إضافة المنتج للمفضلة model_type سيكون إسم الصنف و في هذه الحالة سيكون Product model_id سيكون معرف المنتج الذي يحاول المستخدم إضافته للمفضلة و عند عرض السجلات الموجودة في مفضلة المستخدم الخاصة بالمنتجات مثلاً تحتاج إلى عمل إستعلام تحدد فيه تفضيلات المستخدم و بإستخدام (joins) يمكنك دمج جدول المنتجات مع جدول التفضيلات لجلب ما قام المستخدم بتفضيله من منتجات. بالتوفيق.
    1 نقطة
  7. جهازي يعمل على ويندوز 10 الرام فيه 16 قيقا والمستهلكة 15,8 ولا أعرف السبب حقيقة كل شي سويته ودي اعرف وش اللي مستهلك الرام !! كيف أعرف هذا التطبيق؟
    1 نقطة
  8. 1 نقطة
  9. هناك عدة خيارات يمكنك عن طريق برنامج الالستراتر رسم الشكل وتقسيمه الى اجزاء ثم تصديره الى الافتر ايفيكت وتحريكه هناك او من داخل برنامج الافتر ايفيكت يمكنك القيام بالرسم ثم التحريك اذا كانت الرسمة غير معقدة كثيرا انا اقوم بالرسم بالالستراتر واقوم بالتحريك في الافتر ايفيكت
    1 نقطة
  10. مرحباً بك، الخطأ الذي يظهر هو كالتالي: cannot convert 'int (*)[3]' to 'int**' ما يعني أن الدالة print المفروض تستقبل وسيط من النوع **int لكن ما تم تمريره هو int (*)[3] و هو نوع المُتغير mm بطبيعة الحال يجب توحيد الأنواع حتى لا تحدث أخطاء هناك طريقتين إما بتعديل نوع الوسيط او المُعامل أو تعديل نوع المتُغير الذي تم تمريره كوسيط الطريقة الأولى بإمكانك تعديل الدالة print للشكل التالي: int* print(int (*arr)[3], int m, int n) { for(i = 0; i < 3; i++) for(j = 0; j < n; j++) return (*(arr+i) + j); } بالإضافة إلى تعديل السطر التالي: int** p = print(mm, m, n); إلى int* p = print(mm, m, n); لأن ما تُرجعه الدالة print هو مؤشر(pointer) و ليس مؤشر على مؤشر(pointer to pointer) بإمكانك تجربة الطريقة من خلال هذا : الرابط الطريقة الثانية تعديل نوع المُتغير الذي تم تمريره كوسيط بهذا الشكل: int main() { int arr[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int m = 3, n = 3; int *mm[3]; for (int i = 0; i < 3; ++i) { mm[i] = arr[i]; } int* p = print(mm, m, n); for(i = 0; i < 3; i++) for(j = 0; j < n; j++) cout << (*(p+i) + j); return 0; } بإمكانك تجربة هذه الطريقة من خلال هذا : الرابط بالتوفيق.
    1 نقطة
×
×
  • أضف...