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

Wael Aljamal

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

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

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

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

    218

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

  1. يمكن عمل كائن Blob فيه المحتوى المطلوب كسلسلة نصية نعتبره كملف، ثم تشكيل رابط URL محلي لهذا الملف من خلال دالة createObjectURL ثم إسناد الرابط لكائن anchor و عمل تحميل للملف بالنقر البرمجي على الرابط click هذه محاكاة عملية تحميل ملف لكنه لن يتم تحميله من الخادم بل محلي في المتصفح function createTextFile(str){ var file = new Blob([str]) anchor = document.createElement("a") anchor.href = URL.createObjectURL(file) anchor.download = "fileName" anchor.click() // تنظيف URL.revokeObjectURL(anchor.href) anchor.remove() } var input = "هذا نص تجريي" createTextFile(input) يوجد أيضا مكتبة filesaver يمكنك تجريبها
  2. انسخ رسالة الخطأ كنص لتسهيل موضوع البحث على المدرب!! وماهي الحلول التي قمت بتجريبها لحل المشكلة، يوجد الكثير من نتائج البحث الممكنة. مثلاً أين تقوم بتخزين قاعدة البيانات؟ من المفترض أن تخزنها في المسار الذي يعيده تنفيذ: app.getPath('userData') حيث user data هو مجلد بيانات المستخدم ونحفظ ملفات قواعد البيانات فيه مثلاً محاولة كتابة بيانات على قاعدة البيانات في حال وجودها ضمن مجلد لاتملك صلاحية الكتابة عليه لن تعمل وسيظهر نفس الخطأ
  3. أرجو إرفاق نص رسالة الخطأ الذي يظهر في المتصفح
  4. يمكن فهم سؤال، كيف أختبر نجاح عملية إضافة بيانات لقاعدة البيانات، أي نجاح تنفيذ insert إن تنفيذ استعلام insert يعيد قيمة true في حال نجاح تنفيذه يمكن اختبارها ضمن شرط if(mysqli_query($conn, "INSERT INTO ..."){ echo 'success'; }else { echo 'error.. The error is '. mysqli_error($conn); } للتوضيح يمكننا تخزين النتيجة في متغير ثم اختباره ليكون واضح" <?php $result = mysql_query("INSERT INTO USERS (NAME ) VALUES ('WAEL')")); if($result){ echo "Success"; }else{ echo "Error"; } يمكن تطبيق الدالة mysqli_affected_rows على كائن الاتصال بعد تنفيذ أمر insert ويعطينا عدد الأسطر المتأثرة ضمن الجدول وبذلك إن كان عددهم 0 يكون لم يحصل إضافة $number_of_rows_affected = mysqli_affected_rows($conn); وفي حال كنت تستخدم PDO يمكن التحقق من قيمة تنفيذ الدالة excute $sql = 'INSERT INTO user (ID, name) VALUES(?, ?)'; if ($stmt->prepare($sql)) { $stmt->bind_param('is', 1, 'wael'); if ($stmt->execute()) { $success = TRUE; // نجاح الإضافة } }
  5. يمكن استهداف العنصر من خال استعلام DOM ثم إسناد قيمة فارغة له document.getElementById('my-input').value = '' يمكنك استعمال السطر السابق في أي دالة، أو كدالة حدث نقر على زر مخصص إفراغ الحقل من قيمته <button onclick="document.getElementById('my-input').value = ''"> حذف المدخلات </button> لاتحتاج هذه الطريقة وجود عنصر Form
  6. إن create-react-app يأخذ وقتها كبيراً في حال كانت سرعة الاتصال بالانترنت بطيئة أو سرعة الحاسب على تثبيت المكتبات بطئية بذلك نزيد مدة الانتظار timeout لضمان تحميل كامل المكتبات التي تعتبر اعتماديات لأمر إنشاء المشروع create-react-app npx create-react-app my-app -timeout=6000000 في حال استمرار المشكلة، نقوم بتنظيف التخزين المؤقت بالأمر: npm cache clean --force أو npx clear-npx-cache
  7. جربتها بنمط الهاتف وكانت تعمل. أما غي وضع الحاسب فتظهر العناصر بدون الأزرار. ممكن هي مخفية بسبب media query. لديك قيمة z-index مكتوبة بالخطأ l00 بدل 100 قم بعمل تعليق للشيفرات التي لاعلاقة لها بالمشكلة والتجريب بالشيفرات القليلة المتداهلة و يمكنك بذلك تحديد الخطأ
  8. أفضلت، شكرا لك، حاولت تشغيل الموقع وتعمل القائمة المنسدلة بشكل جيد، ولم ألاحظ مشكلة، حبذا لو تضع صورة تبين المشكلة بعد الضغط على ||| تنزل القائمة الخاصة ب nav و يظهر X في حال الضغط عليه تختفي، لايوجد مشكلة في التنفيذ
  9. الموضوع متعلق بالصنف show-menu أرجو إرفاق ملف التنسيقات و هيكلية HTML
  10. أرجو توضيح السؤال، هل يوجد شيء لايعمل بشكل جيد؟
  11. يمكنك استعمال useSound hook التثبيت: npm install use-sound التضمين: import useSound from 'use-sound' import mySound from '../assets/sounds/yourSound.mp3' // ملف الصوت function MyButton(){ // ربط الملف مع دالة التحكم const [playSound] = useSound(mySound) return ( <button onClick={() => playSound()}> Play Sound زر التحكم لتشغيل الصوت </button> ) }
  12. يمكنك استخدام الدالة maketrans التي تقبل تمرير قاموس فيه المفتاح هو المحرف الذي نريد استبداله و القيمة هي ما سوف نستبدله المفتاح به print(s.maketrans( {'&': '\&', '#': '\#'} )) s هي السلسلة الأصلية التي تريد التعديل في محارفها
  13. ما نوع جهاز البصمة؟ وهل يوجد لهم موقع الكتروني وتوثيق لربطه بواجهات برمجية؟
  14. هل الشخص هو صديقك؟ أو عميل.. وما هي لغات البرمجة التي استخدمتها هل موقعك فقط FrontEnd أو Backend
  15. يبدو أنك تستعملين بوتستراب، وهو غير مضاف للمشروع، أي مكون خارج عن مكونات بوتستراب يجب أن يتم تنصيبه في المشروع وإضافته لملف settings pip install bootstrap5 بعد التحميل بفتح settings.py ضمن INSTALLED_APPS بضيف ‘django_bootstrap5’ ,
  16. توقعت أنك تعمل بجافاسكربت، لكن نفس الفكرة، أحسنت تطبيقها.. من الأفضل ذكر لغة البرمجة في السؤال. شكرا لك
  17. فيسبوك يعمل redirect للمسار المرفق في الطلبية لمسار الصورة في المتصفح بعد طلبه، حاول جلب المسار الذي يتم عمل له redirect مثل: <?php $url = 'https://graph.facebook.com/v14.0/{page-id}/picture?type=large'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); $html = curl_exec($ch); $redirectedUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); curl_close($ch); echo "Original URL: " . $url . "\n"; echo "Redirected URL: " . $redirectedUrl . "\n"; أو <?php $url="https://graph.facebook.com/v14.0/{page-id}/picture?type=large"; $headers = @get_headers($url); $final_url = ""; foreach ($headers as $h) { if (substr($h,0,10) == 'Location: ') { $final_url = trim(substr($h,10)); break; } } echo $final_url; ?>
  18. ما هي لغة البرمجة التي تستعملها؟
  19. يمكن طلب الرابط على الشكل التالي: https://graph.facebook.com/v14.0/{page-id}/picture?type=large فقط يلزم تمرير معرف الصفحة (اسمها أو رقمها) page-id التوثيق: developers.facebook/graph-api/page/picture
  20. هل لغة البرمجة جافاسكربت؟ هل المجال المطلوب طباعته هو أول عدة عناصر أو مجال ضمن المصفوفة start - end؟ الأفضل استعمال جلقة for مع عداد خاص بها let arr = [0,1,2,3,4,5,6]; let start = 3, end = 5; for(let i = start; i< end; i++) { element = arr[i]; // } يمكنك مباشرة هنا استخدام element وهو بالضبط نفس forEach. يمكننا استنساخ مجال عناصر من مصفوفة ثم المرور عليهم من خلال slice (تعيد مصفوفة جديدة ولا تعدل على الأصلية) ثم نطبق forEach على ذلك الجزء: arr.slice(4,7).forEach(function(x) { console.log(x); }); يمكنك وضع شرط ضمن الحلقة، تحدد ضمنه القسم المطلوب عرضه من خلال شرط (يسبب مرور بدون فائدة) arr.forEach(function(element, index) { if (index>= start && index <= end) console.log(element)); }); يمكنك تصفح موسوعة حسوب wiki.hsoub.com/JavaScript/Array وقراءة توثيق الدوال ملاحظة: في حال قمت بتمرير وسيط واحد للدالة slice سوف تنسخ المصفوفة من هذا العنصر لنهاية المصفوفة الأصلية وبهذا يتحقق ما تطلب
  21. يوجد عدة طرق للحصول على لوحة تحكم، يمكنك شراء واحدة في حال وجدت ما تبحث عنه في متجر بيكاليكا، يمكنك التواصل مع المطور أو من خلال موقع خمسات حيث تشتري واحدة أو توظيف مستقل يساعدك على برمجة مخصصة أو يبيعك عمل قام به بشكل مسبق بعد الاتفاق بينكم ويمكنك طلب تعديلات كما تريد عليها
  22. حسناً، جرب عدة تعديلات، في xml ضع توصيف الارتفاع مثل: layout_height="match_parent" أو android:fillViewport="true" في جافا يوجد الدالة setFillViewport(true)
  23. تأكد من إعطاءه عرض 100% و إلغاء padding للحاوية الأب، و margin ل webview
  24. من فضلك تصوير قاعدة البيانات مع الجدولين و بعض البيانات فيهم ثم ذكر مثال، ربما الفكرة بشكل عام تطبيقها مختلف؟ هل id و uid من نفس الجدول؟
×
×
  • أضف...