محمد المري2

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

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

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

  • Days Won

    6

كل منشورات العضو محمد المري2

  1. لا يوجد API مباشر لنظام نور التعليمي. غالبية الـ APIs الخاصة بالقطاع الحكومي تكون عبر علم. يتم الإشتراك معهم والتنسيق معهم لتوفير API للقطاع الذي تريد ربط التطبيق معه. والإشتراك مدفوع.
  2. استخدم substring مثال : public class Program { public static void Main(string[] args) { string t = "STOCKHOLM".Substring(1); Console.WriteLine(t); } }
  3. بالإمكان عمله بطريقة ابسط وب loop واحد فقط. وايضاً انصح بإستخدام switch في حالة تعدد الاختيارات كما هو بسؤالك. سيكون افضل. List<int> inputList = new List<int>(); decimal total = 0.0M; int userChoice = 0; for (int x = 0; x < 10; x++) { Console.Write("Enter number " + (x + 1) + " :"); inputList.Add(Convert.ToInt32(Console.ReadLine())); total += inputList[x]; } Console.WriteLine(); Console.WriteLine("Choose what you want to do:"); Console.WriteLine(" 1. Show the largest number"); Console.WriteLine(" 2. Show the smallest number"); Console.WriteLine(" 3. Show the mean to one decimal"); Console.WriteLine(" 4. Display all input numbers"); Console.WriteLine(" 5. Finish this program"); userChoice = Convert.ToInt32(Console.ReadLine()); switch (userChoice) { case 1: // 1. Show the largest number Console.WriteLine("Max : \t" + inputList.Max()); break; case 2: // 2. Show the smallest number Console.WriteLine("Min : \t" + inputList.Min()); break; case 3: // 3. Show the mean to one decimal Console.WriteLine("Mean : \t" + (total / inputList.Count)); break; case 4: // 4. Display all input numbers string allNumbers = string.Join(Environment.NewLine, inputList); Console.WriteLine(allNumbers); break; case 5: // 5. Finish this program Environment.Exit(0); break; } // Keep The console open Console.WriteLine(); Console.WriteLine("Press any key to exit ..."); Console.ReadLine();
  4. مكن عملها بهذه الطريقة : for(int x=0; x <= 99; x++) { if(x%10 == 0) Console.WriteLine(); Console.Write(x + "\t"); }
  5. البرامج تتأثر بالبيئة المشغله لها. فإذا كانت البيئة المشغله لها ادائها عالي , البرامج راح تستفيد من هذا الاداء كذلك وتتأثر به. بيئة ال Linux بكافة نسخه غالباً تكون اخف واسرع من الويندوز . والسبب بناء النظام والخدمات التشغيليه له تختلف. فأنظمة ال Linux استهلاكها لموارد النظام اقل من استهلاك الويندوز. ولذلك تجد ان متطلبات النظام التشغيلية اقل من متطلبات الويندوز. فبالنية التحتية للأنظمة تختلف , فمثلاً قد يكون التعامل مع الملفات اسرع في Linux لاستخدامه منظومة ext3 للملفات بخلاف الويندوز الذي يستخدم NTFS. فمثلا, حذف الملفات الكبيرة ستكون اسرع في ext3 من ال NTFS. وقس على ذلك بقية الخصائص والمميزات المتوفرة والمستخدمة بين الانظمة. لان هذه الامور تؤثر على user-experience للمستخدم او المبرمج بصورة عامة. ايضاً بعض المبرمجين يفضلون الادوات المتاحة في انظمة Linux والتي غالباً ماتكون مجانيه .. بعض هذه الادوات قد تكون لها نسخة على الويندوز .. وبعضها قد تكون مجانيه والاخرى قد تكون مدفوعة .. بالاضافة الى هذا, هنالك ادوات لن تجدها الا فقط بال Linux وهنالك ادوات لن تجدها الا فقط بالويندوز .. الامر الاهم في هذا كله , ان المبرمجين غالباً يفضلون البرامج والانظمة مفتوحة المصدر .. لانها تكون مجانيه .. فيلجأون لها لتقليل التكاليف. ولذلك قد تجد مبرمجين يفضلون نظام على اخر. فهي بالنهاية تعتمد على المبرمج نفسه وعلى تفضيلاته. اما عن تشغيل Linux من فلاش ميموري .. نعم موجود واحد هذه النسخ التي تتيح هذه الخاصية هي Ubuntu واما افضل التوزيعات فهي تعتمد على تفضيلاتك .. بالنسبة لي انا دائماً انصح بال Ubuntu و Fedora .
  6. على حد علمي جميع اللغات البرمجية تدعم طباعة الثوابت
  7. abbr اختصار لكلمة abbreviation وهي تعني اختصار مثل DR, Mr, Ms .. الخ في اللغات , اختصار كلمة Arabic هي ar واختصار كلمة English هي en .. وهو يطلب منك اضافة اختصار لإسم اللغة (ar) والذي سبق وذكرته لك في ردي السابق في حقل Code (ISO 639-1)
  8. تأكدي من معلومات قاعدة البيانات وتأكدي ايضاً من صلاحيات اسم المستخدم الذي سيتم استخدامه في الربط على قاعدة البيانات , والتأكد من إعطاءه كافة الصلاحيات.
  9. استخدم خدمات مقدمي الدفع الإلكتروني مثل PayTabs و ميسر و PayFort و ميم تحتاج الى فتح حساب لدى احدهم وتفعيل خدمة الدفع الالكتروني والتي غالباً تكون برسوم رمزية لكل عملية شراء تتم من خلال خدماتهم على موقعك .. قم بزيارة مواقعهم ومراجعة شروطهم وبنودهم والمميزات لكل منهم .. وطرق دمجها بموقعك .. وأختر المناسب لك. بالنسبة لمدى هذه مخصصة لشبكات الدفع الداخلية داخل السعودية, وهي خدمة مقدمه من البنوك السعودية لتسهيل عمليات الشراء داخل السعودية عبر شبكة موحدة بإسم "مدى". اما البطاقة نفسها (بطاقة الصراف الآلي) فهي تأتي إما بخدمة MasterCard او VISA وأحدها كافي بأن يؤهلك الى استخدامها عبر الانترنت للشراء (بنفس معلومات بطاقة الصراف) ... ولكن على حد علمي هنالك بعض البنوك تقوم بتعطيل خدمات الشراء الالكتروني على بطاقات الصراف وتوفير بطاقات مخصصة للدفع الإلكتروني .. والبعض الاخر يتيح الخدمة على بطاقة الصراف ولكن تحتاج ان تقوم بتفعيلها او تعطيلها من خلال الخدمات الذاتية الالكترونية (مثل بنك البلاد) ..
  10. اعرض لنا الخطا الذي يظهر لك .. (صورة او انسخ الصفحة كاملة)
  11. نعم ممكن.
  12. هنالك لغات برمجة تكون مخصصة لمجال معين , وأخرى تكون متعددة الاستخدامات .. لغة الـ R من اللغات التي تختص في مجال الإحصاء ويتم استخدامها من قبل علماء البيانات بكثرة بالاضافة الى لغات اخرى قد تكون معروفه ومشهوره وقد تكون مخصصه. مثل هذه اللغات يمكن الاستفادة منها في العمليات المتعلقة في البيانات الكبيرة Big Data او الفيزياء والرياضيات او اي مجال قد يكون فيه الاحصاء حل مثالي له.. ولكن لو كانت غايتك من تعلم البرمجة هي صناعة برامج وتطبيقات لاستخدامات متعددة (مثل العاب, تطبيقات موبايل , تطبيقات اجهزة مكتبية .. الخ) . فأنتي تحتاجين الى البدء بتعلم لغة اخرى مثل C# او Java او Python وغيرها من اللغات واسعة الاستخدامات ..
  13. تأكد من ان النسخة التي تقوم بتثبيتها تمتلك حزمة الخدمات 1 أو 2 Service Pack اذا لا, فقم بتحميل النسخة الأخيرة من SQL Server 2012 من هذا الرابط : https://www.microsoft.com/en-sa/download/details.aspx?id=43340
  14. بالنسبة للمخرجات , فهو سيقوم بإعطائك حساب الـ Exponential function بحسب الـ base و exponent التي تقومين بتغذيتها به وهذا في علم الرياضيات. لربما صعوبة تتبع الكود تكمن في الـ Recursion وذلك لقلة استخدام هذه الطريقة عند المبرمجين. الـ Recursion ببساطة الأمر هي تعادل loops ولكنها مخصصة للميثودز في الجافا. فيقوم الميثود بمناداة نفسه وإعادة تغذية ال arguments بالقيم الجديدة في كل مره. حتى يتم استيفاء الشرط المحدد ويقوم بإعطاء النتيجة النهائية في حال الإنتهاء. تماماً كما هو العمل مع loops.. مقارنة بسيطة لو اخذنا ميثود الـ power على سبيل المثال : public static double power(double x, int n) { if (n == 0) { return 1; } else { return x * power(x, n - 1); } } هذه بطريقة الـ Recursion , والآن سنقوم بتحويلها الى Loop بهذه الطريقة : for(int i = 1; i <= n; i++) power = n * power; لو قمنا بإعطاء القيمة 4 الى n و 1 الى x سيكون الناتج 4 للطرفين . كذلك هو الحال مع بقية الميثودز , عند تحويلها الى Loops سيكون من السهل ايضاً تتبع المخرجات .. قمت بتحويل الـ Recursion الى Loops حتى تكون اسهل بالتتبع لمن هم لم يعتادوا على الـ Recursion .. : public static void main(String[] args) { double base = 4; // base = n double factorial = 1; double power = 1; double expoFun = 1; double powerFn = 1; double factFn = 1; // Factorial - same as factorial(n) method for(int i = 1; i <= base; i++) factorial = factorial * i; // Power - same as power(x,n) method for(int i = 1; i <= base; i++) power = base * power; // Exponential function - same as myexp(x,n) method for(int i = 1; i <= base; i++) { powerFn = powerFn * base; factFn = factFn * i; expoFun = (powerFn / factFn) + expoFun; } System.out.println("Factorial = " + factorial); System.out.println("Power = " + power); System.out.println("Exponential function = " + expoFun); } اتمنى اني وفقت بالإجابة على سؤالك,
  15. اعتذر قد سقط السؤال الثاني سهواً ! بالنسبة للتطبيقات الهجينة , المنصات الثانوية كثيرة ولكن اشهرها Xamarin, PhoneGap, Ionic , Cordova, and React Native هذه المنصات الاشهر في هذا المجال والتي لها شعبية واسعة .. كلها مفتوحة المصدر عدا Xamarin و Ionic الاختلافات بينها كثيرة ولكن مضمونها واحد بشكل عام .. ايهم يناسبك برمجياً يعتبر الأفضل والاسهل لك .. فمثلاً , لو كنت متمرس وتفضل البرمجة على C# بشكل اكبر , فـ Xamarin سيعتبر الخيار الامثل لك .. اما لو كنت تفضل البرمجة بالـ JavaScript فـ React Native سيعتبر مناسب تماماً لك .. وقس على ذلك بقية المنصات .. هنالك ايضاً ايطارات هجينة تعمل على CSS , JavaScript, HTML اذا كنت تريد الاعتماد عليها وهي تتحكم بالشكل الخارجي للصفحات .. وتعتبر هذه الإيطارات ايضاً مخصصة للتطبيقات الهجينة .. مثل Framework 7 و Onsen UI و Angular Material هذه الإيطارات يمكنك استخدامها اذا كنت تفضل استخدام برمجة الويب بشكل اكبر .. وهي تعتمد على CSS و Javascript بشكل خاص .. منها يمكنك بناء تطبيق ويب هجين مخصص للهواتف الذكية .. وهي ايطارات اسهل من المنصات السابقة لسبب انك ستتعامل معها كما لو انك تتعامل مع اي ايطار Framework مخصص للويب مثل Bootstrap على سبيل المثال .. يمكنك البحث في المنصات والإيطارات السابقة والقراءة عنها حتى تتوصل الى الانسب لك كبرمجة وكتطوير وكإستخدام لأي من التطبيقات التي ستقوم ببنائها !
  16. للاندرويد Java مع معرفة مسبقة بهيكلة الـ XML ولأنطمة Apple مثل iOS, macOS, tvOS, and watchOS فتحتاج الى معرفة Swift أو Objective-C .. واحد منهم سيكون كافياً لبناء اي تطبيق تريد على أنظمة Apple ..
  17. ليس لدي معرفه فيما تستخدمه .. ولا يمكنني ان اقوم بمساعدتك بهذه الطريقة. ولكن سأفيدك بنقطة طالما ان السكربت الذي تستخدمه على PHP .. في بعض الاحيان عندما يكون هنالك خطأ في PHP يعطي صفحة بيضاء وهذا الخطأ قد يكون خلل برمجي او ان هنالك تعارض بالمعطيات مع الدوال المستخدمة .. (شبيه بما حصل معك) ... فلمعرفة ما اذا كان الخطأ يخص الـ PHP يجب عليك تفعيل ظهور اخطاء الـ PHP بإضافة هذا الكود : <?php error_reporting(E_ALL); ini_set('display_errors', 1); ?> يمكن وضعه داخل ملف الـ PHP في أول سطر من الملف .. وحفظه ومعاودة محاولة اضافة اللغة من جديد وحفظها.. عندها إما ان تختفي الصفحة البيضاء وتظهر لك صفحة فيها اخطاء تخص PHP .. إذا ظهرت لك الصفحة البيضاء, فالخطأ خارج نطاق الـ PHP .. وهو في مكان آخر, وستحتاج الى تحديد مصدره.
  18. قصدت بالمنصة اي مالذي تعمل عليه وتريد ان تقوم بإضافة اللغة العربية فيه ؟ هل هو إدارة محتوى مثل wordpress, joomla .. الخ
  19. لم تذكر المنصة التي تريد اضافة اللغة العربية فيها. ولكن تفاصيل اللغات بشكل عام مشتركة وثابتة. قم بإضافة هذه المعلومات : Language name : Arabic Native Name : العربية Code (ISO 639-1) : ar Locale Code: ar_sa Direction: RTL
  20. تقدر تعملها بهالطريقة : var op = { '+': function(x,y) {return x + y}, '-': function(x,y) {return x - y}, '/': function(x,y) {return x / y} }; var a = '+'; var b = '-'; var c = '/'; console.log( op[a](2,1) ); console.log( op[b](2,1) ); console.log( op[c](2,1) );
  21. صحيح , فكرة التطبيق والخدمات التي يحتاجها التطبيق هي التي تحدد البيئة المثلى للتطوير . اما بالنسبة للسؤال الثاني , نعم في الهجين يكون العمل على منصة واحدة وكود واحد One-Code Base في البيئة الثانوية ( مثل Xamrain , Cordova, PhoneGap, Ionic ...الخ). هذا يعني انك راح تستخدم لغة واحدة وكود واحد فقط .. واما البقية ستتكفل بها البيئة الثانوية .. هذا المقصد من المنصة الواحدة ..
  22. كما ذكرت سابقاً إما ان تعيد تقسيم التصميم الحالي بحيث يتناسب مع بقية الاحجام .. او أن تقوم بتصميم مخصص جديد اضافي على التصميم الحالي وتجعله موجه فقط لاصحاب الأجهزة الذكية, ومن خلال الجافاسكربت بإمكانك التحويل بين التصميمين بحسب نوع الجهاز او الشاشة او اي طريقة تناسبك ..
  23. هنالك طرق عديده لذلك , ولكن اسهلها هي استخدام الحزم الجاهزة Framework مثل Bootstrap, Foundation, Bulma, W3.CSS, Blueprint, PureCSS هذه اشهر الحزم المتواجده والتي من الممكن استخدامها لعمل تصميم متوافق مع كافة الاجهزة.
  24. يمكنك جعله متطابق مع الاجهزة المحمولة عن طريق استخدام منصات جاهزة لذلك مثل Bootstrap. اذا كنت لاتريد إعادة بناء تصميم الموقع الحالي, يمكنك ان تخصص تصميم جديد مخصص للاجهزة المحمولة مع إبقاء التصميم الحالي. بحيث يقوم الموقع بتحويل المستخدم الى تصميم الموبايل اذا كان يتصفح من الموبايل. ممكن عمله بالجافاسكربت او بأي طريقة تتناسب مع برمجة موقعك.
  25. كبرمجة , الافضلية تعود للهجين وذلك لسبب ان المبرمج يكون لديه مصدر واحد يقوم ببرمجته والتطوير عليه متى اراد . فمثلاً لو كان التطبيق متعدد المنصات (مثل iOS و Android) واراد المبرمج اضافة خاصية جديدة بالتطبيق. لو كان التطبيق نيتف , سيتطلب من المبرمج اضافة الخاصية الجديدة في كل منصة على حدة .. وهذا سيتطلب وقت وجهد وايضاً مهارات اضافية (لسبب ان المنصتين تختلف في برمجتها فهو يستخدم لغتين برمجة وليست واحدة) .. اما لو كان التطبيق هجين , سيتطلب من المبرمج اضافة الخاصية الجديدة مرة واحدة فقط على المصدر الرئيسي للتطبيق , وسيتم تلقائياً اضافته الى المنصات الأخرى. اما كاداء, فالهجين ممكن ان يصل الى مستوى اداء النيتف ومن الممكن ان يتفوق عليه في بعض النواحي , وهذا يعتمد على المبرمج ومفهوميته في الاداء وتجربة المستخدم. أمور أخرى تفيدك , التطبيق الهجين غالباً يكون الافضل كحل امثل لغالبية الاستخدامات , إلا استخدامات الالعاب. فالالعاب في التطبيقات الهجينة ليست كمستوى الالعاب بالنيتف. ايضاً افضل انواع التطبيقات الهجينة هي التي تكون بدون بيئه ثانوية.. اي انك تستخدم مباشرة الويب HTML, CSS, JavaScript وتستخدم الـ WebView داخل التطبيق ليتم عرض الصفحات عليها. وهذه الطريقة تكون يدوية بدون بيئه ثانوية (مثل Cordova. والسبب وراء هذا الامر هو في حال استخدامك لبيئة ثانوية يتوجب عليك دائماً ان تقوم بتحديث التطبيق بشكل مستمر على اخر تحديثات البيئة الثانوية. اما لو كان بشكل مباشر, فغالباً لاتحتاج الى اي تحديثات للتطبيق النيتف طالما ان ليس هنالك حاجة لاضافة خدمات جديدة (مثلاً كان التطبيق النيتف مفعل فيه خدمة Notifications فقط .. وبعد عدة اشهر تريد اضافة خدمة المواقع .. هنا يستلزم عليك اضافة الخدمة للتطبيق النيتف وتحديثه )