• الإعلانات

    • فيصل الحربي

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

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

COMFORT

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

    1,085
  • تاريخ الانضمام

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

السمعه بالموقع

3 عادي

عن COMFORT

  • الرتبة
    عضو مميز جدا
  • تاريخ الميلاد 07/14/1989

طرق الإتصال

معلومات الملف الشخصي

  • الجنس ذكر
  • الدولة : مصر - القاهرة
  • اهتمامات البرمجة - القراءة - التصميم الميكانيكي و التحكم الالكتروني
  1. السلام عليكم و رحمة الله و بركاته   جزاك الله خيراً أخي سعد   أنا بس عندي سؤال بسيط، الخطوات السابقة التي وضحتها ليس بالضرورة أن تكون على ويندوز سيرفر؟؟
  2. أهم حاجة في الكتاب إنك تعرف تقرأه، ورق أو PDF مش مشكلة! أهم حاجة تطلع بالمعلومة و تضيفها لفهمك، يعني الي يريحك.     الأهم أن لاتصبح هاوي جمع كتب و لا تقرأها و تخزنها على الهارد  أو في المكتبة علشان أنا مريت بهذه المرحلة في وقت من الأوقات  :rolleyes:
  3. استخدم الدالة Val لتقوم بتحويل القيمة النصية الموجودة في مربع النص لرقم  ليصبح الكود كالتالي: Dim tb As New TextBox tb.Text = "" Dim _int As Decimal = 50 Dim _err_answer as Decimal = _int + Val(tb.Text) ' This line will give you error' Dim _answer as Decimal = Decimal.TryParse(tb.Text,0) + _intأو يمكنك أن تتحقق من محتوى مربع النص قبل عملية الجمع  باستخدام الدالة IsNumeric للتحقق من وجود قيمة رقمية.
  4. إذا كنت تسأل عن برمجة الـ Microcontroller نفسه فافضل شيء هي لغة التجميع Assembly للحصول على أعلى كفاءة ممكنة فإن لم يكن فليس هناك فرق بين أي لغة و أخرى، العبرة باللغة التي تؤدي لك غرضك و تستطيع التعامل معها بكفاءة و السبب أن الترجمة تختلف من شركة لأخرى حتى و إن كانت اللغة واحدة، الترجمة تخلف و حجم الذاكرة الذي قد يشغله برنامج مكتوب بالسي مثلاً باستخدام مترجمين لشركتين مختلفتين قد يختلف، ستجد أيضاً أن المترجمين قد يتيحان خواص و مفاهيم برمجية مختلفة و متباينة بالرغم من أن اللغة المستخدمة واحدة .. رأي الشخصي في مجال برمجة الـ Microcontroller أن تقترب أكثر من بنية المتحكم نفسه و تفهمها و تفهم كيفية عمل كل وحدة يحتوي عليها لكي تقوم باستخدامها، بعدها سيمكنك الوصل لما تريده بأي لغة أياً كانت. أما إن كنت تقصد البرمجة على ويندوز مثلاً أو لينوكس للربط مع نظام مدمج مبني بالـ Microcontroller فأعتقد أنه نعم السي تعتبر أقوى اللغات للتعامع مع عتاد الجهاز لكي تصل إلى نظامك المدمج. و إن كان بالإمكان استخدام لغات أخرى لتأدية الغرض بكفاءة عالية مثل C# و Java و يمكن أيضاً VB.Net
  5. سؤال في Regular Expressions

    جزاك الله خيراً أخي VB Helper التعبير يعمل جيداً كما هو مطلوب. جزاك الله كل خير
  6. سؤال في Regular Expressions

    و عليكم السلام و رحمة الله و بركاته
  7. سؤال في Regular Expressions

    و عليكم السلام و رحمة الله و بركاته جزاك الله خيراً أخي VBHelper جربت التعبير الذي كتبته لي و هو يعمل جيداً فيما عدا شيء واحد و هو أنه لا يشترط أن يتم ذكر الإحداثيين (X,Y) معاً .. و في نفس الوقت لا يمكن أن يتم إهمالهما معاً. يعني G00 X5 Or G00 Y6 و هذا صحيح .. هذا فقط المتبقي. ملاحظة أضفت شيء بسيط إلى تعبيرك ليصبح ^[Gg]\d{2}\s+(([Xx]\d+\s+[Yy]\d+)|([Yy]\d+\s+[Xx]\d+))$ و ذلك ليتم تجاهل حالة الأحرف لكي لا يكون Case Sensitive. مرة أخرى جزاك الله خيراً على المساعدة
  8. السلام عليكم و رحمة الله و بركاته كل عام و أنت بخير إخواني الكرام لدي سؤال في الـ Regular Expressions أنا لم أستعملها كثيراً لذلك ليست لدي الكثير من الخبرة في التعامل معها أنا أقوم بتصميم برنامج يحلل بعص التعليمات و هذه التعليمات خاصة ببرمجة الماكينات الـ CNC المهم أن كل تعليمة لها شكل معين و أنا أود أن أتحقق من هذه الشكل أو التنسيق على سبيل المثال هذا كود للتوضيح فقط G00 X5 Y6 سيجعل الحد القاطع للماكينة يتحرك إلى الإحداثيات (6,5) أي س = 5 و ص = 6 هذا المثال يتكون من سطر واحد و السطر الواحد في هذه البرمجة يسمى Block يتم تنفيذ البرنامج الكامل سطراً تلو الآخر. قمت بتصميم برنامج و استطعت قرأة السطور و التحقق من الأوامر و البرنامج يعمل وفق خطة معينة ليست هناك مشاكل .. المشكلة التي تواجهني هي كالآتي: بعد أن أتعرف على الآمر .. أود أن أتحقق من كونه مكتوب بشكل صحيح و أردت أن أستخدم الـ Regular Expressions و هنا واجهتني المشكلة حيث أن الأمر السابق لا يشترط فيه الترتيب يعني أنه يمكن كتابته G00 Y6 X5 أيضاً يمكن كتابة أحد المحاور دون ذكر الآخر .. يمكن ذكر واحد و لكن لايمكن اهمال الأثنين أعني بمثال أنه يمكن كتابة الأمر في الشكل التالي: G00 X4 Or G00 Y3 لا يلزم ذكر الأثنين معاً و لكن لا يمكن عدم كتابتهما معاً طيب! الآن سوف أعرض عليكم التعابير التي استخدمتها لتحقيق ذلك كخطوة أولى جربت التعرف على الأمر نفسه و هو الـ G-Code حيث أنه يوجد G00,G01,G02,.. و هكذا .. استخدمت التعبير التالي: ^\b[gG]\d{2}\b$ و هذا نجح بالفعل أضفت له جزء آخر ليصبح: ^\b[gG]\d{2}\b\s\b[xX]\d+\b$ و هنا بدأت المشكلة حيث أني عندما أكتب مسافة بعد X نتيجة التطابق تكون إيجابية و يقبل التكرار أيضاً يعني G00 X5 X6 تكون مقبولة و هذا غير سليم .. كل ما أريده تعبير يتحقق من شكل الأمر G[Number] [X] [Y] حيث ترتيب الاحداثيات ليس ضروري و لا يمكن تكرار الاحداثي مرتين في السطر الواحد و لا يمكن اهمالهما معاً أرجو المساعة و جزاكم الله خيراً
  9. ممتاز .. جزاك الله خيراً أخي geniusse01 أنا من مدة و أنا أعمل على هذا الموضوع و أحاول صنع واحدة إن شاء الله الموضوع يستمر و نصل به إلى صنع ISP بإذن الله
  10. جزاك الله كل خير أخي المزمجر و نورت المنتدى بعودتك
  11. جزاك الله كل خير أخي هاني
  12. تعريف الـ Thread: قبل تعريف الـ Thread يجب تعريف الـ Process تعتبر جميع البرامج في فترة تشغيلها Processes و يقوم نظام التشغيل بإدارة هذه البرامج و تلبية طلباتها للـ System Resources و تظيم طريقة حصولها عليها أما الـ Thread فهو يعتبر Semi-Process حيث يمكن للـ Process الواحدة أن تحتوي على أكثر من Thread و وظيفة هذه الـ Threads القيام بأعمال مختلفة و يتم توزيع الوقت المعطى للـ Process و يسمى Time Slice عليها. الهدف الرئيسي هو إنجاز عدة مهام في وقت متزامن. و أمثلة ذلك التصحيح الإملائي في الـ MS Word ... فإن النافذة الرئيسية للبرنامج تستجيب للكتابة و تحديث واجهة البرنامج لتعرض الكتابة الجديدة بينما يقوم Thread آخر بالقيام بتصحيح المدخلات فور إدخالها و إظهار علامة بوجود خطأ. أتمنى أن أكون قد أوضحت و أن يكون كلامي دقيقاً
  13. أخي نور يمكن البحث عن Rapid Prototyping لتجد الكثير عن هذه التقنية و هذا لينك من الويكبيديا http://en.wikipedia.org/wiki/Rapid_prototyping