• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

النبهاني

أعضاء الشرف
  • عدد المشاركات

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

  • تاريخ اخر زياره

كل شيء نشر بواسطة النبهاني

  1. LinQ & Entity Framework

    السلام عليكم ورحمه الله وبركاته سؤضح لك الفرق بطريقه اخرى: هناك عدة تقنيات في التعامل مع قواعد البيانات في .Net Framework وهي كالتالي: - تقنيات الوضع المنفصل والمتصل كال Dataset. لكني تتعامل مع البيانات على شكل كائنات٫ يجب عليك انشاء فئاتك الخاصه وجعلها لك Lists of Objects ثم انشاء الفذه المتحكمه بالاضافه والتحديث وغيرها. - تقنية LINQ-to-SQL: وهي خاصه بقواعد البيانات من نوع SQL Server. هنا يتم انشاء Model من قاعدة البيانات على شكل فئات Classes ٫ فكل جدول يقابله Class ويتم توليد كل الاكواد تلقاذيا٫ مع امكانيه التخصيص. ثم تستخدم تقنيه LINQ للاستعلام عن البيانات على شكل فئات ال Model فأنت لا تتعامل مع قاعدة البيانات بل مع ال Model. - ثم ظهرت تقنيه Entity Framework: وهو اطار عمل كبير وواسع٫ يشبه تقنيه LinqToSQL من حيث عمل Model٫ الا انه اكبر ويتمتع بامكانيات تخصيص كبيرة جدا. الادهى من ذلك٫ قدرتك على  بناء ال Model بنفسك او تطبيق هذا الاطار على فئات موجودا مسبقا. تقنيه EntityFramework لاتعمل مع قواعد بيانات MS Access ٫ فهي مخصصه للتطبيقات الاكبر حجما٫ كما انها الخيار الافضل في حاله قيامك ببناء تطبيق متعدد التطبقات N tier. انصحك بقراءة المقال التالي الذي كتبته عن هذه التقنيه في سلسلة كنت اود نشرها ككتاب عام ٢٠٠٩: https://alnabhani.wordpress.com/2009/11/28/الباب-الاول-مقدمة-عن-اطار-عمل-كتل-البيا/ امر مهم وضروري الفهم٫ LINQ لاتعني التعامل مع بيانات من قاعدة بيانات٫ فهي تتعامل مع كائنات وتتيح لك محاكاة لغة الاستعلام SQL في اكوادك للتعامل معها مع اي عنصر موجود في قائمه List. من تطبيقاتها هو LinqToSQL,LinqToObjects و LinqToXML.      بالتوفيق
  2. يفضل تحويل قيمه الخاصيه Text للأداه TextBoxالى قيمه رقميه ثم القيام بالعمليه الحسابيه ٫ هذا مثال : Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged Dim val1 As Double = Convert.ToDouble(TextBox1.Text) Dim val2 As Double = Convert.ToDouble(TextBox2.Text) Dim result As Double = val1 * val2 TextBox3.Text = result End Sub الكود السابق سيعمل للمره الأولى فقط وذلك لأن استخدامه بهذه الطريقه المجرده وفي الحدث  TextChanged قد يتسبب في حدوث استثناء exception لو كانت الخاصيه Text عباره عن لا شيء او نص مثلا!   يمكن التعامل مع هذه المشكله بطرق عديده٫ المثال التالي يستخدم الداله CType ويصنق الكود داخل التفاف  Try للتعامل مع اي استثناء Exception : Try Dim val1 As Double = CType(TextBox1.Text, Double) Dim val2 As Double = CType(TextBox2.Text, Double) Dim result As Double = val1 * val2 TextBox3.Text = result Catch ex As Exception End Try الكود السابق للإستدلال فقط.
  3. الفرق بيين تاريخين

    يمكنك استخدام الداله Subtract لايجاد الفرق بين تاريخين ثم تحويل الناتج إلى أيام وبالتالي تستخدمها في باقي البرنامج. هذا مثال   Sub Main() Dim fDate As Date = #1/2/2016# Dim lDate As Date = #2/3/2016# Dim diff As Integer = lDate.Subtract(fDate).Days Console.WriteLine(fDate.ToString) Console.WriteLine(lDate.ToString) Console.WriteLine(diff.ToString) Console.Read() End Sub تحياتي
  4. قد لا يكون هناك داع لهذه الدقه في الحساب في التطبيقات العاديه٫ ولكن الجانب الايجابي في الموضوع هو تعلم حيله جديده.
  5. ممكن حد يشرح bigmath

    هناك بناء يسمى BigInteger . ستجد ضالتك فيه٫ انصحك بهذا الرابط: https://msdn.microsoft.com/en-us/library/system.numerics.biginteger(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
  6. @Hisham_wz اذا حصلت على جواب مناسب من الاجابات اعلاه٫ ارجو تحديد الجواب الانسب.
  7. ايهما الاصح 9 او 1 ؟

    طيب ما رأيكم بهذا : :lol:
  8. اخي العزيز هو ذاته نفس الحديث الذي يذكر لو قلنا لماذا لايوجد مطور تطبيقات سطح مكتب سواء كانت Windows , linux, Mac ... ألخ ؟ لكل نظام معماريته ولكل منهم مميزاته وعيوبه ، ولكل شركة اسلوبها :dry:
  9. لأم اجرب ولا اعتقد انني سأجرب الى امد قريب لسببين : - سوق التطبيقات في بلاكبيري ضعيف مقارنة ب iOS و Android ، - سمعت - ولست متأكد - من ان التطوير سابقا على منصة بلاكبيري كانت مرهقه مقارنة بالتطوير لـ iOS و Android فضلا عن ان اغلب مستخدمي بلاكبيري يستخدمونه فقط للماسنجر اغلب من يقوم بالتطوير على حد علمي هي الشركات المتخصصه في تطوير تطبيقات الهواتف الذكيه والتي هي مستعده لفعل اي شيء نظير الحصول على العقود المطلوبة. هذا في السابق ، اما الأن ، بعد دعم تشغيل تطبيقات android وكذلك Java و Qt اصبحت عملية التطوير اسهل من السابق ، يبقى فقط هل شريحه العملاء كبيرة بالدرجه التي تجعلني اخذ هذا الاتجاه؟ كما ذكرت هي ليست مشكله لشركات تطوير تطبيقات الهواتف الذكية ، اما للأفراد ، فحتى الان التطوير ل iOS في المرتبه الأولى ، ثم ياتي Android في المرتبه التي تليها ، وهناك ايضا Windows Phone قادم بقوة وبشكل متصاعد في هذا المجال، هل ستواكب RIM هذه المنافسه ؟ هذا ما تكشفه الايام تحياتي
  10. هذه الظاهره السيئة قديمة جدا ولا اعرف المغزى منها سوى الصعود على اكتاف الآخرين دون علمهم متعمدين نسيانهم ! لو قمنا بتفتيش المدونات ستجد ان الكثير ما هو الا نقل بدون ذكر المصدر ونسبها لغير اصحابها .
  11. هل تشعر بعقدة نفسية ؟

    الحمد لله انني لم اكن الوحيد الذي يعاني من هذا الموضوع ! عندما بدأت بالدخول والتعمق والادمان في البرمجة والتقنية قبل 9 سنوات تقريبا - كنت يومها في الاعدادية - لم اكن اجد من يشاركني اهتمامي وكنت منبوذا في مجتمعي ومدرستي بسبب اهتمامي وهوايتي الغريبة والتي تدفعني لقضاء ساعات طويلة من الممارسة والقراءة بينما الجميع يلهون ويستمتعون بوقتهم كما يشاؤون ! عانيت من هذا الموضوع جدا ، ففي مجتمعي يومها لم يكن هناك من المبرمجون إلا قلة قليلة فأغلبهم يستصعب الموضوع ، حتى بدأت احس نفسي غريبا فعلا وكأنني من المريخ كلما حاولت الجلوس مع اصدقائي او زملائي - وكانوا قلة قليلة يومها بسبب انطوائيتي - لم استطع الدخول معهم في الحديث ، فهم يتحدثون عن اللعب واللهو والمباريات والسيارات وغيرها من الامور وانا ارى في ذلك تمثيلا بحتا للتخلف "المدقع" حتى رأيت اغلب الناس متخلفين ، فأنا استغل اكثر من 90% من وقتي في تعلم امور جديدة على مستوى البرمجة والتقنية ونشر هذه المعلومات بينما يستمر الآخرون في اضاعه الوقت والتذمر من الحياة ! حتى في المناسبات الاجتماعيه = والتي لم اكن افوتها - كنت احاول التداخل مع الناس ولكن هيهات :wacko: عانيت ما عانيت وقررت وضع حد لهذه المسألة ، فعند دخولي الجامعه ، ومع ارتفاع علاماتي يومها - ولله الحمد - لم ادخل مجال البرمجة ! بينما حرفتها ودراستها كانت حلم حياتي لسنوات وبينت عليها أحلاماً وآمالاً وطموحات، ودخلت مجالا وسطاً اخذت ازرعه في عقلي واحلها محل البرمجة يوما بعد يوم ، ، ما غاضني اكثر في الموضوع ان طلاب البرمجة والتخصصات التقنية لدينا ، اكثر من 95% منهم غير مهتمين بالبرمجة والتقنية ومغصوبون على دراستها :mad: ضحيت بالبرمجة من اجل ان اعيش كإنسان طبيعي ، ضحيت بدراسة مواد البرمجة كي أفهم البشر الطبيعيين كيف يفكرون ، بالفعل ، مع الايام اخذت الفجوة تصغر وتصغر، لكنني اصطدمت بحاجز مشابه نوعا ما في نفس مجالي الحالي وهو عدم اكتراث الناس بتخصصهم ولا بالتعلم لاجد ان المشكله عامه نوعا ما ، رغم كل ذلك ، فأنا لم ادع البرمجة بعد ، ولن أدعها، فهي سلاح وثروة كبيرة جدا ، بسببها فوت متعه المدرسة وتلك المرحلة العمرية ، وبسببها لم يكن لدي اصدقاء كثر في السابق ، لكن الآن وبعد خمس سنوات من محاولة انقاذ ذاتي "اجتماعياً" أحس بأنني فهمت الناس جيدا وبأنهم مجدداً " ليسوا إلا متذمرين ومضيعي وقت ومتخلفون :lol: تحياتي لكم
  12. اعتقد ان صياغة الخبر يشوبها شيء من الخطأ ، فلا يعقل ان تتخلى HP عن تصنيع الطابعات ، الشاشات ، اجهزة الكمبيوتر المكتبية ، اجهزة اللابتوب ، فهي منتشرة بشكل كبير جدا جدا جدا وغير قابل للتخيل حتى ! كما ان موضوع الو WebOS مشكوك فيه ، لأن هذا النظام والاجهزة التي تستند عليه لم تطلق ولم تجرب حتى تفشل تجاريا ثم يتم ايقافها !
  13. هذا الامر رغم ايجابياته الكبيرة ، إلا انه قد يؤدي الى تحكم الآلة بالإنسان !
  14. على رسلك اخي الفاضل، هب ان شركة ما لديها تطبيق كبير وواجهته معمولة ب windows forms فلا بد من التوافقيه في هذه الحاله بدل من اعادة بناء كامل طبقه العرض - اذا كان مقسما لطبقات اصلا ! تقنية wpf كبيرة وواسعه ، وتعلمها منذ البدايه مع اساسيات البرمجة ياخذ وقتا طويلا ايضا. انا ارى ان الاصح هو استخدام wpf من الان فصاعدا ، لكن التوافقيه هو مطلب اساسي دائم. تحياتي
  15. بعد ان اخذ LightSwitch ما اخذ من الوقت من التجريب والاعلان ، فقد حاون وقت صدوره حسبما ورد في موقع مايكروسوفت ، حيث سيتم غطلاق هذه النسخه بشكل رسمي بتاريخ 26 من الشهر الحالي ليصبح منتجا جاهزا للإستخدام بشكل نهائي . لمن يسمع عن LightSwitch لأول مره او سمع عنه ولا يعلم ماهيته ، فهو منتج من عائلة Visual Studio مهمته تطوير تطبيقات الأعمال المرتكزة على قواعد البيانات Business Applications بسهوله وسرعة مع الإستغناء عن اكبر قدر ممكن من الأكواد ، فهو يختصر عليك الوقت اللازم لتطوير تطبيق تقليدي لا يخرج عن اضافة وقراءة السجلات تحديثها وحذفها – فيم اصبح يعرف ب Create,Read,Update,Delate : CRUD . فمعظم الوقت الذي يقضيه المبرمج في تطوير تطبيق مماثل سيستهلك في ثلاثه أمور : •كتابة كود التعامل مع مصدر البيانات Data Source. •تطوير واجهة التعامل مع المستخدم User Interface. •كتابة كود منطق الأعمال Business Logic . سيختصر عليك LightSwitch الوقت المستغرق في هذا الأمر من خلال توليد واجهات المستخدم LightSwitch بشكل شبه تلقائي من نماذج Tamplates جاهزه مشابهه لما يقوم المطورون في العادة بتطويره في تطبيقات مشابهه . كذلك فإن عملية التحقق من المدخلات Validation تتم من خلال ادوات جاهزه ومعدة مسبقا للتحقق من اصغر قيمة ، وجود قيمة وغيرها . بمعنى أصح، فإن LightSwitch ، يحتوي على الكثير من الأدوات التي تختصر عليك تطوير تطبيقات الاعمال التقليدية التي تشمل عناصر متكررة تعرف عليها المطورون في السابق . لمعرفة المزيد حول هذا الموضوع يمكنك زيارة الروابط التالية : •صفحة تقديم الخدمة والتعريف بها. •صفحة المنتج . تحياتي
  16. واجهت مشكلة في JIT Debugger

    اعمل مشروع Setup لبرنامجك وقم بتوزيعه من خلاله ، هكذا تضمن ان يعمل البرنامج بشكل جيد على كل الحواسيب.
  17. ربط visual basic ب php

    صحيح لماذا لا يتم التعامل مع قاعدة بيانات MySQL مباشرة من فيجوال بيسك ؟
  18. انا مع هذه الخطوة ، في فيسبوك مثلا نعاني من كثرة قيام البعض باستخدام اسماء مستعارة مبالغ فيها ولا تدل على صاحبها مع ان المفترض هو قيام الشخص بتمثيل نفسه هناك . هذا النوع من الاشخاص يثير حنقي بالفعل
  19. مشكلة في تسطيب Visual Studio 2010 Ultimate

    اخي ضع هنا محتويات ملف ال Error Log فقد يفيد في التعرف على المشكله .
  20. عذرا اخي ولكن اين كود البرنامج ؟
  21. موضوع عملاق وشامل لحد الآن بالفعل . لا اجد اي شيء اضيفه له. بارك الله فيك ، تابع
  22. فيفا 2012 بالعربي

    هههه جميل جدا ، وكانني اسمع الشوالي يعلق على المباراة الآن !
  23. اسئله عن سرعة التنفيذ

    يمكنك ذلك من خلال استخدام كائن من الفئة StopWatch وهي موجودة في فضاء الاسماء System.Diagnostics ويمكنك ان تقوم بعملها كالتالي : Dim mTimer as new StopWatch mTimer.Start 'نفذ العملية التي تريدها هنا 'بعد ذلك mTimer.Stop بعد أن تستدعي الطريقة Stop ، استخدم الخاصية ElapsedMiiliseconds لتعرف الوقت المستغرق بالملي ثانيه. تحياتي