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

Mustafa Suleiman

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

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

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

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

    403

كل منشورات العضو Mustafa Suleiman

  1. كلاهما واحد سواء parent أو master المقصود بها النافذة الرئيسية MainWindow. أي العنصر الرئيسي الذي يحتوي على عناصر فرعية، مثل نافذة (window) أو إطار (frame) أو عنصر آخر، وعند إنشاء عنصر فرعي مثل Frame، يتم تمرير العنصر الرئيسي (parent) كمعلمة. وفي Tkinter، تستطيع استخدام "master" كمصطلح بديل لـ "parent"، حيث يشير كلاهما إلى العنصر الرئيسي الذي يحتوي على العناصر الفرعية.
  2. المجالين بعيدين جدًا عن بعضهم، فلو كنت تريد تعلم الواجهة الخلفية مثلاً Back-End مع الواجهة الأمامية Fron-End أي مجال الويب كاملاً لقلت لك تستطيع ذلك. وحتى لو كنت تريد تعلم مجالين قريبين من بعضهم، فيجب التركيز على مجال واحد في البداية ثم الإنتقال للآخر بعد الشعور بأريحية في المجال الأول أي أتقنته بنسبة تؤهلك لتنفيذ مشروع متوسط. لكن مجال تعلم الآلة بحاجة إلى سنتين إلى ثلاث سنوات على الأقل لتتعلمه وأقصد لتصبح بمستوى جيد وليس لتعلم المجال بالكامل، وهو من أصعب المجالات ويحتاج إلى مجهود ووقت لكن مجال واعد والطلب عليه يزداد سنة بعد أخرى حاليًا. لذا اختر مجال واحد فقط مناسب لما تريده حاليًا ومناسب لظروفك، فأنا لا أستطيع تحديد ما هو الأنسب لك، حدد الوقت المتاح لك وما تريده حاليًا. وإذا كنت لم تحدد المجال البرمجي الذي تريد تعلمه، فأنصحك بتعلم مجال الويب فهو سيفتح لك المجال لتعلم المجالات الأخرى، وستنتقل خبراتك به إلى المجالات الأخرى.
  3. الأمر يعتمد على مدى قرب المجالين وصلتهم ببعضهم، ما هما المجالين؟
  4. الموقع في مجلد المشروع المرفق لديك مختلف تمامًا عن الذي في الصور، أرفق المشروع الذي تعمل عليه حاليًا.
  5. بالنسبة لشريط التنقل Navbar تستطيع تثبيته أثناء السكرول من خلال خاصية sticky، كالتالي: .navbar { position: sticky; top: 0; } أما بالنسبة للسؤال الخاص بالمثلثات لم أفهم بالضبط ما تريده.
  6. أرجو التعليق أسفل فيديو الدورة الذي تواجه به مشكله، وإرفاق مجلد المشروع بعد ضغطه لإخبارك ما الخطأ.
  7. أرجو التعليق أسفل فيديو الدورة لمساعدتك بشكل أفضل. المشكلة هي أنك تستخدم منفذ الأوامر Powershell وهو مختلف عن منفذ الأوامر CMD، وأنت تقوم بتشغيل السكريبت الذي ينتهي بصيغة bat وهو موجه لـ CMD، بينما السكريبت الخاص بـ PowerShell ينتهي بـ ps1. لذا عليك تنفيذ الأمر التالي بدون تحديد صيغة السكريبت وسيتم إختيار السكريبت المناسب بشكل تلقائي كالتالي: venv\Scripts\activate
  8. ما هي رسالة الخطأ التي تظهر لك أرجو توضيحها؟
  9. حاول تجربة موقع "الجدوى" ابحث عنه في جوجل.
  10. بخصوص التطبيقات العربية فيوجد: دراسة جدوى مشروع : نموذج pdf دراسة الجدوى (Word) ولكن هي مجرد نصائح ودليل فقط. ويوجد التطبيق التالي لإنشاء دراسة جدوى: دراسة جدوى المشروع Business pl أما إذا أردت موقع لذلك فيوجد موقع "الجدوى". @Saleh Kamal
  11. يوجد تطبيقات محاسبية مثل: EasyAccounting - المحاسب السهل Qoyod - قيود دفاتر المحاسب الذكي المحاسبة الذهبية ونقاط البيع
  12. هل تقصد تطوير تطبيق أم تريد تطبيق محاسبي؟ وما هي نوع المحاسبات التي تريد إجراءها؟
  13. تأكد من استخدام الإصدار 1.6 أو أعلى من AndroidX Activity تفقد الإصدار في الإعتماديات لديك في ملف build.gradle implementation "androidx.activity:activity:1.6.0-alpha05"
  14. من المفترض أن يوجد خطأ في النسخة الحالية من الكود لديك ويخبرك بذلك، ويخيرك بين تشغيل تلك النسخة من الكود أو تشغيل النسخة السابقة السليمة، اضغط على No وتفقد ما الخطأ.
  15. الخطأ لديك هو onbackinvokedcallback is not enabled for the app، حيث لم يتم تمكين خاصية "OnBackInvokedCallback" في تطبيق Flutter لديك، وتلك الخاصية ضرورية للتعامل مع إيماءة الرجوع على أجهزة Android التي تعمل بإصدار 13 أو أحدث. والحل يكمن في تفعيل الخاصية في ملف AndroidManifest.xml، وستجده في المسار android/app/src/main/AndroidManifest.xml في مشروعك. أضف السطر التالي داخل وسم <application>: android:enableOnBackInvokedCallback="true" بحيث يبدوا الوسم كالتالي: <application android:name="io.flutter.app.FlutterApplication" android:label="YourAppName" android:icon="@mipmap/ic_launcher" android:enableOnBackInvokedCallback="true"> ثم أعد تشغيل أو إعادة بناء تطبيق Flutter. وفي حال تستخدم مكتبة لإدارة التوجيه مثل go_router، ستحتاج إلى تحديثها إلى إصدار يدعم خاصية "OnBackInvokedCallback" وهو الإصدار 3.0.0 أو أحدث.
  16. المشكلة في الجزء التالي من الكود: b=b.pop() لاحظ أنك تقوم بإعادة تعيين قيمة b إلى القيمة العائدة من b.pop حيث يتم إعادة آخر قيمة من المصفوفة من خلال pop وبالتالي b لم تعد مصفوفة بعد الآن بل قيمة فقط، لذا لا يمكن استدعاء ميثود push عليها. والصحيح هو: b.pop(); أي لديك مشكلة في المقارنة حيث أنك كتبت j=b.length-1;j++ بينما الصحيح هو: j < b.length - 1; j++ من أجل التكرار بشكل صحيح. والكود هو: var lengthOfLongestSubstring = function(s) { var max = 1; var a = s.split(''); let b = []; for (let i = 0; i < a.length; i++) { b.push(a[i]); for (let j = 0; j = b.length - 1; j++) { if (b[j] === a[i + 1]) { var dd = b.length; if (dd > max) { max = dd; ss = b.join(''); b.pop(); } } } } return ss; }; console.log(lengthOfLongestSubstring('pwwkew'));
  17. بخصوص تطوير قالب ونشره على منصة سلة، فأنت بحاجة إلى تعلم لغات HTML, CSS, JS ثم تعلم محرك القوالب المستخدم في إنشاء القوالب على متجر سلة وهو محرك Twig والذي يعتمد على لغة PHP لذا أنت بحاجة إلى الإلمام بتلك اللغة وستجد تفصيل هنا: أما بخصوص تخصيص القوالب الموجودة حاليًا كما في المشاريع التي تراها على مستقل فيتم من خلال CSS وستجد تفصيل هنا:
  18. أنت لم تذكر ما هي اللغة التي تريد تنفيذ الأمر بها، على أي حال سأستخدم PHP للتواصل مع SQL Server. أولاً تأكد من تثبيت الامتداد php_sqlsrv أو php_pdo_sqlsrv للتعامل مع اتصالات SQL Server من PHP. ثم عليك الاتصال بقاعدة البيانات، وبالطبع استبدل بيانات قاعدة البيانات في الكود التالي للإتصال: <?php $server = 'اسم_الخادم'; $database = 'اسم_قاعدة_البيانات'; $username = 'اسم_المستخدم'; $password = 'كلمة_المرور'; $connection = new PDO("sqlsrv:Server=$server;Database=$database", $username, $password); if (!$connection) { die(print_r(sqlsrv_errors(), true)); } ?> ثم كتابة الاستعلام SQL وتنفيذه <?php $sql_query = 'SELECT * FROM اسم_الجدول'; $statement = $connection->query($sql_query); ?> بعد ذلك جلب البيانات: <?php while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { print_r($row); } ?> ثم إغلاق الاتصال <?php $connection = null; // أو يمكنك استخدام $connection->close(); ?>
  19. 1- بخصوص Project Pages يتم إنشاء Project Pages على مستوى المشروع (repository) الفردي، وكل مشروع يمكن أن يحتوي على صفحة ويب خاصة به. عند استخدام Project Pages، يكون الرابط للموقع عبارة عن: https://username.github.io/repositoryname. حيث أن username هو اسم المستخدم الخاص بك على GitHub، وrepositoryname هو اسم المستودع الذي تود نشره على github pages. تستطيع استخدام Project Pages لنشر وثائق المشروع أو أي محتوى آخر مرتبط بالمشروع. 2- أما User or Organization Pages تُنشيء User or Organization Pages على مستوى المستخدم أو المنظمة بأكملها، وباستطاعتك إنشاء صفحة رئيسية لحساب المستخدم أو المنظمة. ويكون الرابط للموقع عبارة عن: https://username.github.io p حيث تقوم بإنشاء المستودع باسم اسم المستخدم الخاص بك أو https://organizationname.github.io وهنا تقوم بإنشاء المستودع باسم المنظمة. ذلك النوع من الصفحات نستخدمه لعرض معلومات عن المستخدم أو المنظمة أو أي محتوى ذي صلة. أي باختصار وبشكل بسيط: في حال ترغب في إنشاء موقع ويب لمشروعك الخاص، مثل موقع ويب لتطبيقك أو موقعك الإلكتروني، استخدم project pages. أما في حال ترغب في إنشاء موقع ويب شخصي أو موقع ويب لموقع منظمة تنتمي إليها، مثل موقع ويب للشركة التي تعمل بها، استخدم user or organization pages. ستجد تفصيل هنا: https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages
  20. من الممكن تركيبها في منفذ I2C الموجود على اللوحة الأم للجهاز، كالتالي: افتح غطاء Raspberry Pi 4 Model B. ابحث عن منفذ I2C الموجود على اللوحة الأم. عادةً ما يكون هذا المنفذ موجودًا بالقرب من منفذ GPIO. قم بتوصيل دافروت الساعة بالمنفذ I2C باستخدام الأسلاك. عادةً ما يتم توصيل خطوط البيانات SDA و SCL بالمنفذ I2C. أغلق الغطاء. ولتسجيل دافروت الساعة في الجهاز: قم بتشغيل Raspberry Pi 4 Model B. قم بتوصيل الجهاز بالإنترنت. قم بفتح موجه الأوامر. اكتب الأمر التالي: sudo raspi-config انتقل إلى "Advanced Options". حدد "I2C". حدد "Enable I2C". اضغط على "Yes". اخرج من موجه الأوامر. وبمجرد تسجيل دافروت الساعة في الجهاز، تستطيع استخدامها للحصول على الوقت الحالي من الإنترنت، كالتالي: 1- تشغيل برنامج Python التالي: import smbus def get_time(): address = 0x50 bus = smbus.SMBus(1) data = bus.read_byte_data(address, 0) return data print(get_time()) وسيُخرج البرنامج قيمة الوقت الحالي في شكل عدد صحيح، استخدم القيمة لعرض الوقت الحالي على الشاشة أو تخزينها في ملف. وبخصوص دافروت ساعة الوقت الحقيقي PCF 8523 فهي: تدعم دقة ثانية واحدة. يمكنها الحفاظ على الوقت الصحيح حتى في حالة انقطاع التيار الكهربائي. تتطلب مصدر طاقة 5 فولت.
  21. ذلك ليس التطبيق الذي أرفقته لك يبدوا أن هناك أكثر من تطبيق لديك، قم بالبحث عن apps في إعدادات الويندوز ثم احذف أي تطبيق باسم powershell ثم أعد تثبيت التطبيق الذي أشرت إليه مرة أخرى.
  22. عليك تحديث كود حذف (delete.php) كما يلي: <?php include 'dbcon.php'; $id = $_GET['deleteid']; // تحقق من وجود قيمة للمتغير $id if (isset($id) && !empty($id)) { // عرض رسالة تأكيد باستخدام SweetAlert2 echo '<script> Swal.fire({ title: "هل أنت متأكد؟", text: "لن يمكنك التراجع عن هذا الإجراء!", icon: "warning", showCancelButton: true, confirmButtonText: "نعم، احذف!", cancelButtonText: "لا، إلغاء" }).then((result) => { if (result.isConfirmed) { // إذا تم النقر على "نعم"، قم بحذف السجل window.location.href = "delete_confirm.php?deleteid=' . $id . '"; } else { // إذا تم النقر على "لا"، قم بالرجوع إلى الصفحة الرئيسية window.location.href = "display.php"; } }); </script>'; } else { // إذا لم يتم تحديد قيمة للمتغير $id، قم بالرجوع إلى الصفحة الرئيسية header('location:display.php'); } ?> ثم أنشئ صفحة جديدة باسم delete_confirm.php للتأكيد النهائي لحذف السجل: <?php include 'dbcon.php'; $id = $_GET['deleteid']; $sql = "DELETE FROM `users` WHERE id=$id"; $result = mysqli_query($conn, $sql); if ($result) { echo '<div class="alert alert-success text-center w-25" role="alert"> تم الحذف بنجاح </div>'; header('location:display.php'); } else { echo mysqli_error($conn); } ?>
  23. يوجد هنا ترشيحات: وإذا أردت قوالب أخرى يكفي أن تبحث في الرابط التالي عن coupon: https://themeforest.net/category/wordpress وإليك النتائج: https://themeforest.net/category/wordpress?term=coupon
  24. أرجو التعليق أسفل الدرس الخاص بالمشكلة لمساعدتك بشكل أفضل. قم بتحميل منفذ الأوامر التالي من متجر مايكروسوفت واستخدمه وسيتم حل مشكلتك: https://www.microsoft.com/store/productId/9MZ1SNWT0N5D?ocid=pdpshare بعد تشغيل التطبيق ستجد سهم بالأعلى اضغط عليه ثم اختر settings كالتالي: الآن اختر من default terminal application الخيار windows terminal كالتالي: وذلك من أجل تعيينه كمنفذ أوامر إفتراضي لديك.
×
×
  • أضف...