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

عزام عبد الحافظ

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

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

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

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

    3

إجابات الأسئلة

  1. إجابة عزام عبد الحافظ سؤال في  كيف لي ان احتفظ ببيانات برنامج صغير من غير الحاجة الى قاعدة بيانات في بايثون ؟ كانت الإجابة المقبولة   
    لك ان تستعمل مكتبة shelve هي أداة بسيطة لكنها فعالة لتخزين البيانات في حل ان قاعدة البيانات غير مطلوبه ، طريقة التعامل مع هذه المكتبة يشبه جدا طريقة التعامل مع القاموس في لغة python  ولكن هذه المكتبه تقوم بحفظ قيم و مفاتيح القاموس في ملف للمقدرة للوصل الى البيانات حتى عند اغلاق البرنامج ، مثال :
    import shelve # استدعاء المكتبة #ويكون هو القاموس لحفظ البيانات s في متغير test نقوم بإنشاء ملف s = shelve.open("test") # هنا نقوم بتعين مفتاح و قيمة له بطريقة اعتيادية مثل القاموس العادي s['name'] = "Malik" s['age'] = 25 # بعد انتهاء العمل علينا ان نغلق الملف s.close() ############### # : اذا كان نريد فتح الملف و جلب قيمة s = shelve.open('test') print(s['name']) #Malik يقوم بطباعة القيمة
  2. إجابة عزام عبد الحافظ سؤال في هل يجب فصل تطبيق admin عن تطبيق اليوزر كانت الإجابة المقبولة   
    وعليكم السلام ورحمة الله وبركاته , @Marwan800,
    عند بناء تطبيق فيه مستخدمين  و ادارين ليس هنالك داعي لعمل تطبيق خاص للاداريين هذا سوف يطلب مجهود كبير في التطوير و الحرص على ان كِلا التطبيقان لديهم تزامن في قاعدة اليبانات و غيرها من المشقة المحتملة .
     يمكنك جعل كل شيء في تطبيق واحد و جعل صفحات خاصة للادارين لا يمكن الوصول اليها الا بكلمة سر خاصة و هذه هي الطريقة المستخدمة عمومًا في مثل هذا النوع من التطبيقات و ووردبريس المنصة المعروغة تعمل بنفس الطريقة , يكون صفحة للاداريين داخل رابط خاص .
  3. إجابة عزام عبد الحافظ سؤال في برمجة تطبيق لموقع ووردبريس كانت الإجابة المقبولة   
    وعليكم السلام ورحمة الله وبركاته , مرحبًا @Mohamed Slimane,
    هنالك إضافات تقوم بحتويل موقع ووردبريس الى تطبيق جوال , هي طريقة سهلة و جيدة للمبتدئين , منها إضافات مجانية و مدفوعة , بعض هذه الاضافات :
    AppPresser : هي منصة سهلة الاستخدام تساعدك على تحويل أي موقع WordPress إلى تطبيق جوال , يحتوي على أداة تخصيص مرئية للتطبيق لتغيير مظهر تطبيقك بسهولة كما تفعل مع قوالب ووردبريس . يمكنك تخصيص الألوان وإضافة صفحات مخصصة وسحب محتوى ووردبريس  والمزيد. MobiLoud : يسمح بتحويل مواقع ووردبريس إلى تطبيقات جوال. لديهم منتجان: أحدهما لمواقع الأخبار أو المدونات ، والآخر لمواقع الويب التي تستخدم WooCommerce أو غيرها من المكونات الإضافية المعقدة. لكن في الأغلب هذه الإضافات تُنتج تطبيقات هجنية/ويب فيو و هي التي تعرف ب Hybrid Apps , يعني تستعمل مُحرك تشغيل المتصفح لتشغيل التطبيق و لا تعطي تجربة مستخدم ممتازة.
    افضل طريقة لبرمجة تطبيق لموقع ووردبريس قائم اذا كان بإستعمال لغة Kotlin او غيرها هي استعمال Woocommerce REST API , يعني التطبيق يتعمال مع البيانات من API الخاصة بووردبريس وليس قاعدة بيانات خاصة به , حتي يتم التوافق بين التطبيق و الموقع .
     
  4. إجابة عزام عبد الحافظ سؤال في طريقة عكس النص برمجيًا كانت الإجابة المقبولة   
    مرحبًا @محمد كمال صيام,
    لا يوجد هنالك دالة من البايثون لعكس النص لكن يمكن فعل ذلك بأكثر من طريقة و أسهل طريقة لعكس النص هي بإستخدام المعامل [1-::] و تسمى slice statement أي [1-::] وتعني البدء في نهاية النص والانتهاء عند الموضع 0 (index 0) ، والتحرك بالخطوة -1 ، سالب واحد ، مما يعني خطوة واحدة إلى الوراء , المثال :
    def reverse_order(user_str): user_str = user_str[::-1] print(user_str) reverse_order("Hello") النتيجة :
    olleH طريقة ثانية هي بإستخدام حلقة for loop , نقوم في كل تكرار عند الحلقة بحفظ حرف من النص في نص جديد في المقدمة حتى يتم عكس النص كاملا :
    def reverse_order(user_str): new_str = "" for i in user_str: new_str = i + str print(new_str)  
  5. إجابة عزام عبد الحافظ سؤال في سؤال حول Data Serialization كانت الإجابة المقبولة   
    مرحبًا @Sami Remili,
    Data Serialization تعني تسلسل البيانات هو مفهوم تحويل البيانات إلى تنسيق يسمح بمشاركتها أو تخزينها بطريقة يمكن من خلالها استرداد هيكلها الأصلي. في بعض الحالات ، يكون الهدف من هذا الغرض  هو تقليل حجم البيانات  مما يقلل من مساحة القرص .
    و deserialization تعني إعادة البيانات الى وضعها الأصلي .
    في لغة البرمحة بايثون هنالك مكتبة تُدعى pickle يمكنك من خلالها عمل Data Serialization و deserialization .
    مثال:
    import pickle # استيراد الحزمة students = { 'Ahmad': 89, 'Ali': 72, 'Mohammad': 87 } #بيانات الطلاب serial_students = pickle.dumps(students) #students على Data Serialization نقوم بعمل dumps بإستعمال الدلة #serial_students يمكنك الآن العمل بنتيجة المشفرة التي توجد داخل print(serial_students) #اذا قمت بطباعة النتيجة ستجد نتيجة مثل هذه #b'\x80\x04\x95$\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x05Ahmad\x94KY\x8c\x03Ali\x94KH\x8c\x08Mohammad\x94KWu.' #للبيانات deserialize حتى نقوم بعمل loads نستعمل الدلة received_students = pickle.loads(serial_students) print(received_students) #{'Ahmad': 89, 'Ali': 72, 'Mohammad': 87} # النتيجة  
  6. إجابة عزام عبد الحافظ سؤال في استخدام اللغة العربية على sublime text كانت الإجابة المقبولة   
    وعليكم السلام ورحمة الله وبركاته , مرحبًا @مروان عماد يوسف.
    في الواقع محرر النصوص sublime لا يدعم اللغات التي هي RTL من اليمين الى اليسار , أي انه لا يدعم اللغة العربية , الأفضل أن تستعمل محرر النصوص Notepad++ , Brackets ولكن يبقى الأفضل في دعم اللغة العربية هو محرر النصوص visual studio code من شركة microsoft .
    هناك إضافة (plugin) قد تساعد قليلاً  , تقوم هذه الإضافة بعرض نسخة معدلة من النص على رسالة عند تحديد النص بلغة العربية و المرور عليه  :

    ليست بطريقة المثالية للعمل على مشروع لكنه الخيار المُتاح في sublime , لتحميل هذه الإضافة , من داخل sublime في القائمة العلوية تذهب الى preferences و من ثم الضغط على Package Control تظهر لديك هذه النافذة , قم بإحتيار Install Package لتحميل إضافة :

    بعد ذلك تكتُب  RTL to Dialog و تضغط للتحميل . 
  7. إجابة عزام عبد الحافظ سؤال في لعبة Tic Tac toa ويندوز C# كانت الإجابة المقبولة   
    مرحبًا @AM0,
    الشيفرة لديك تعمل جيداً و لعمل ميزة إعادة اللعبة :
    أولاً داخل الدلة winner() نقوم بتوقيف السطر : Application.Exit(); حتى لا يتوقف البرنامج عند إنتهاء اللعبة .
    بعد ذلك نقوم بعمل زر جديد و عند الضعط عليه نُعيد اللعبة من جديد بهذه الشيفرة:
    count = 0; button1.Text = ""; button1.Enabled = true; button2.Text = ""; button2.Enabled = true; button3.Text = ""; button3.Enabled = true; button4.Text = ""; button4.Enabled = true; button5.Text = ""; button5.Enabled = true; button6.Text = ""; button6.Enabled = true; button7.Text = ""; button7.Enabled = true; button8.Text = ""; button8.Enabled = true; button9.Text = ""; button9.Enabled = true; المنطق هو اننا نقوم بإعادة قيمة المتغير count الى الصفر و نص كل الأزرار إلى الوضع الإفتراضي مع عمل ذلك يصبح وكأننا قمنا بإعادة تشغيل البرنامج و يُمكننا اللعب من جديد .
  8. إجابة عزام عبد الحافظ سؤال في كيف أكتب برنامج بلغة c++ باستخدام while كانت الإجابة المقبولة   
    مرحبًا @Abdulhadi A Abou Samra,
    يمكنك عمل ذلك بهذه الشيفرة :
    #include <iostream> #include <stdexcept> using namespace std; int main() { int num1, num2; int oper; // عملية التكرار , تتوقف في حال ادخل المستخدم رقم 0 while(true){ cout << "Type a number of your operation.\nAdd : (1)\nSubtract : (2)\nMutliply : (3)\nDivide : (4)\nRest Of Division : (5)\nExit : (0)\noperation = "; cin >> oper; // نتأكد اذا قيمة العملية بين رقم 0 و 5 if(!(oper >= 0 && oper <= 5)){ // نقوم برفع خطأ اذا قيمة العملية ليست بين 0 و 5 throw std::invalid_argument( "operation number shall be from 0 to 5" ); }else { // تتوقف عملية التكرار if(oper == 0){ break; } cout <<"Enter the first number : "; cin >> num1; cout <<"Enter the second number : "; cin >> num2; cout << "Result is : "; if(oper == 1){ cout << num1+num2; } else if(oper == 2){ cout << num1-num2; } else if(oper == 3){ cout << num1*num2; } else if(oper == 4){ cout << num1/num2; } else if(oper == 5){ cout << num1%num2; } cout << "\n\n"; } } return 0; }  
  9. إجابة عزام عبد الحافظ سؤال في حل error عند اضافة مكتبات في بايثون كانت الإجابة المقبولة   
    مرحبًا @Shatha_0,
    هنالك عدة اسباب لهذه المشكلة فهي غير واضحة , خطوة بخطوة فلنقم بتجربة تثبيت pandas :
    اولاً نقوم تثبيت هذه الإضافات بترتيب من قنصل الاوامر Command Prompt :
     pip install cython) cython) pip install numpy) numpy) pip install pandas) pandas)
    تتطلب مكتبة pandas تثبيت cython و numpy قبلها . بعد ذلك نذهب الى pycharm داخل  : 
    Settings > Open Project settings > Project Interpreter > and add module

    من هنالك نقوم بثبيت cython ثم numpy ثم pandas ,
    الخطوات من هنا .
  10. إجابة عزام عبد الحافظ سؤال في كيف أكتب برنامج بلغة c++ كانت الإجابة المقبولة   
    مرحبًا @Abdulhadi A Abou Samra,
    يمكنك القيام بذلك بهذه الشيفرة :
    #include <iostream> using namespace std; //هنا يبدأ البرنامج int main() { int f1,f2;//نقوم بإنشاء متغيرين cout << "1st Number : "; cin >> f1; //حتى يستطيع المستخدم على ادخال قيمة cin تُستعمل cout << "2nd Number : "; cin >> f2; if (f1 > f2){//في حال الرقم الاول اكبر نقوم بعملية الجمع cout << "Addition : "; cout << f1 + f2 << "\n"; }else if(f1 < f2){//في حال الرقم الثاني اكبر نقوم بعملية الطرح cout << "Subtraction : "; cout << f2 - f1 << "\n"; } else{ // في حالة تساوي الرقمين لا نفعل شيئًا return 0; } return 0; }  
  11. إجابة عزام عبد الحافظ سؤال في أفضل المصادر لتعلم لغة البرمجة Perl كانت الإجابة المقبولة   
    مرحبًا @Med Amine Aissa Moussa,
    انصحك بهذا الموقع من هنا , ستجد فيه معلومة كاملة مع الامثلة .
    و هذا هو مصدر التعلم من الموقع الرسمي ولكني لا اجده غني بمعلومات .
  12. إجابة عزام عبد الحافظ سؤال في هل توجد ورقة مساعدة في PHP كانت الإجابة المقبولة   
    وعليكم السلام ورحمة الله وبركاته @عبد الواحد الحدادي,
    لم اجد ورقة مساعدة من اجل PHP كما تقصد , لكن انصحك باستفادة من الموسوعة من هنا هناك يوجد مصدر جيد لتعلم اساس لغة PHP.
  13. إجابة عزام عبد الحافظ سؤال في حل مشكلة تنصيب بوتسراب كانت الإجابة المقبولة   
    مرحبًا @Mr M Ostafa,  
    لديك خطأ في كتابة اسم bootstrap هو bootstrap وليس bootsrap : 
    npm i bootstrap
     
  14. إجابة عزام عبد الحافظ سؤال في نصائج للبدء في تعلم الموشن جرافك كانت الإجابة المقبولة   
    مرحبًا @ياسر عسيري,
    اولاً يجب ان تقوم بتغذيه البصريّة , يعني ان تشاهد الكثير من مقاطع الموشن جرافك حتى تتكوّن لديك فكرة جيدة على الانيميشن . 
    بعد ذلك تعلم اساسيات واجهة برامج Adobe Illustrator و After Effect , ستحتاجهم في مراحل بناء مقطع الموشن جرافيك  .
    الان انت جاهز لمتابعة سلسلة او كورس للتعلم , انصحك بهذه السلسة من هنا .
  15. إجابة عزام عبد الحافظ سؤال في الخطوط المستخدمه في الواجهات البرمجيه كانت الإجابة المقبولة   
    وعليكم السلام @صالح السوفي ,
    أكثر الخطوط العربية المستخدمة هي :
    Tajawal, Cairo و Droid Arabic Kofi .
    يمكنك ان تجد خيارات  اخرى جيدة في  google fonts .
  16. إجابة عزام عبد الحافظ سؤال في هل الدورات جيدة في موقع يودمي udemy كانت الإجابة المقبولة   
    مرحبًا ابراهيم ,
    تعتمد الدورة على محتواها و على المدرب الذي يقوم بشرح المادة , الدورات في يودمي تقتدم من قبل مدربين مشتركين في موقع يودمي مثل يوتيوب لكن مقاطع الدورات مدفوعة , إذا كنت تفهم من المدرب و المحتوى جيد سوف تستفيد منها .
  17. إجابة عزام عبد الحافظ سؤال في هل لدي خطا في ملف سي شارب. كانت الإجابة المقبولة   
    مرحبًا @Red Wolf , نعم rar جيد ايضاً 
    الكود يعمل جيداً لكن لمثل هذا المشروع الافضل هو اختيار Console app لنوع المشروع مثل ما في الصورة 

  18. إجابة عزام عبد الحافظ سؤال في كود css (التوافق مع الجوال) كانت الإجابة المقبولة   
    مرحبًا @احمد محمد34,
    يمكنك كتابة إصدار للكود يعمل فقط على الجوال وذلك بإستخدام @media query , يمكنك قراءة المزيد عن هذه القاعدة من هنا .
    @media only screen and (max-width: 600px) { #main-wrapper[data-layout=vertical][data-sidebartype=full] .page-wrapper { margin-left: 0px; margin-right: 0px; text-align: right } #main-wrapper[data-layout=vertical][data-sidebartype=full] .topbar .top-navbar .navbar-header { width: 260px } #main-wrapper[data-layout=vertical][data-sidebar-position=fixed][data-sidebartype=full] .topbar .top-navbar .navbar-collapse { margin-left: 0px; margin-right: 0px } } إجعل هذا الكود بجوار الذي معك .
  19. إجابة عزام عبد الحافظ سؤال في كيفية تصدير مشروع في الجافا بطريقه احترافيه ؟ كانت الإجابة المقبولة   
    وعليكم السلام صالح ,
    بإستخدام برنامج Launch4j بسهلوة يمكنك تصدير ملفات جافا , لقد رأيت الإعتماد عليها كثير , هنا فيديو خطوة خطوة للتصدير و رابط Launch4j في وصف الفيديو
  20. إجابة عزام عبد الحافظ سؤال في مشكلة عند الشراء كانت الإجابة المقبولة   
    وعليكم السلام ورحمة الله وبركاته ابراهيم .
    يمكنك التواصل مع فريق الدعم من هذا الرابط افتح تذكرة , و سوف يتم التواصل معك في اقرب وقت لحل المشكلة .
  21. إجابة عزام عبد الحافظ سؤال في المساعدة في حل سؤال ++C كانت الإجابة المقبولة   
    مرحباً بك @Manar Ramadan.
    هذا هو الحلل :
    #include <iostream> using namespace std; bool isfloat(float f1, float f2) { // المنطق : // عليمة طرح الرقم مع ذاته من غير كسور و المقارنة بعد ذلك إذا كان أكبر من صفر // و نسترجع قيمة منطقية على حسب الحال if( abs(f1-int(f1) > 0 && abs(f2-int(f2) > 0 ))){ return true; }else{ return false; } } int main() { float f1,f2; // المستخدم يكتب الأرقام cout << "Float 1 : "; cin >> f1; cout << "Float 2 : "; cin >> f2; //متغير القيمة المنطقية bool isFloat = isfloat(f1,f2); if (isFloat){ //floats إذا كان الرقمان cout << "They are Floats" << "\n"; cout << "Multiply : "; cout << f1 * f2 << "\n"; cout << "Addition : "; cout << f1 + f2 << "\n"; }else{ //floats إذا لم يكن الرقمان cout << "Both or one of them is Integars" << "\n"; } return 0; } شكراً لك.
  22. إجابة عزام عبد الحافظ سؤال في جافا سكريبت كانت الإجابة المقبولة   
    مرحباً بك @Lugain Amer.
    هذا هو حل المسألة:
    <script> var numbers = window.prompt("Write 15 integers between 100 and 200: "); var numArray = numbers.split(" "); function square_of_largest_num(numArray){ var largest= 0; for (i=0; i<=largest;i++){ if (numArray[i]>largest) { var largest=numArray[i]; } } var largest = Math.sqrt(largest); alert(largest); } function square_of_all_nums(numArray){ for( i = 0; i < numArray.length; i++){ alert(`Square root of ${numArray[i]} is ${ Math.sqrt(numArray[i])}`); } } function count_values_between_120_145(numArray){ var count = 0; for( i = 0; i < numArray.length; i++){ if(numArray[i] >= 120 && numArray[i] <= 145){ count++; } } return count; } function find_smallest_and_largest_num(numArray){ var largest= 0; for (i=0; i<=largest;i++){ if (numArray[i]>largest) { var largest=numArray[i]; } } var smallest = Math.min.apply(Math, numArray) alert(`Largest number is ${largest} and Smallest number is ${smallest}`); } square_of_largest_num(numArray); square_of_all_nums(numArray); var count = count_values_between_120_145(numArray); alert(`Count of values between 120 and 145 is ${count}`); find_smallest_and_largest_num(numArray); </script>  
  23. إجابة عزام عبد الحافظ سؤال في الخبراء في لغة C# كانت الإجابة المقبولة   
    مرحباً صديقي @مؤمل محمد2.
    لقد حللت لك المسألة .

    using System.Windows.Forms; using System.Text.RegularExpressions; namespace Expert_Csharp { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string Inputxt = InputTextBox.Text; string Changetxt = ChangeTextBox.Text; string ChangeWithtxt = ChangeWithTextBox.Text; string result = Regex.Replace(Inputxt, Changetxt, ChangeWithtxt); ResultTextBox.Text = result; } } }  
    هنا المشروع كامل, أطيب تحياتي.
    Expert Csharp.zip
×
×
  • أضف...