• الإعلانات

    • فيصل الحربي

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

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

COMFORT

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

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

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

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

  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 أنا لم أستعملها كثيراً لذلك ليست لدي الكثير من الخبرة في التعامل معها أنا أقوم بتصميم برنامج يحلل بعص التعليمات و هذه التعليمات خاصة ببرمجة الماكينات الـ 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] حيث ترتيب الاحداثيات ليس ضروري و لا يمكن تكرار الاحداثي مرتين في السطر الواحد و لا يمكن اهمالهما معاً أرجو المساعة و جزاكم الله خيراً
  7. سؤال في Regular Expressions

    و عليكم السلام و رحمة الله و بركاته
  8. سؤال في 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. مرة أخرى جزاك الله خيراً على المساعدة
  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
  14. هذا قد يوضح فكرة العمل ... الفكرة بسيطة و ليست معقدة
  15. كان في مشروع تخرج هذه السنة 2010 في يوم المهندس المصري نفس الفكرة ... يتم طباعة المجسمات على شكل شرائح قوف بعضها البعض يتم استخدام بودر خاص و تقوم الحبارة بالطباعة في متسوى أفي من بعدين باستخدام مادة معينة تقوم بتصليب هذا البودر عندما تختلط معه .... و يمكن لهذه المادة أن تكون ملونة لطباعة مجسمات ملونة كما في الفيديو
  16. النقاش الأزلي في المنتدى الحل هو عدم ذكر ميكروسوفت في أي موضوع و لا لينكس أيضاً نقول أخواننا الينكسين اخواننا الميكروسوفتيين علشان الفتنة الطائفية و برضو يا جماعة كلنا رواد منتدى واحد كلنا أعضاء في الفريق العربي للبرمجة :wink: .
  17. أنا واجهت هذه المشكلة أيضاً عندما كنت أعمل على Vista X64 و كان البرنامج يعتمد على MS Access المهم بعد بحث في الأنترنت وجدت أشخاص يواجهون الأمر نفسه و كان الجواب على منتدى الـ MSDN أنه لا يوجد Provider X64 للـ MS Access يمكنك متابعة الروابط التالية: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/45aa44dd-0e6f-42e5-a9d6-9be5c5c8fcd1 http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/5be70d5e-9b5d-485f-bc85-e252ffe08503 http://social.msdn.microsoft.com/Forums/en/netfx64bit/thread/53cc0f0e-f505-42be-b64b-9436117b5ede كما ترى فالسؤال تكرر عدة مرات في الـ MSDN و الأجابة كانت واحدة كما قال الأخ hfsh80 أو قم بالبحث بالخطأ الذي معك و ستجد العديد من المواضيع عن هذه المشكلة لكن بالنسبة ما يقصده الأخ hfsh80 فلم أجربه من قبل و لا أعلم إن كان سيحل المشكلة أم لا لكن يمكنك التجربة و تخبرنا بالنتائج أخي nabilalfagi إضغط زر الفأرة الأيمن على الاسم المشروع في الـ Solution Explorer ثم إذهب إلى Properties >> Compile ثم إضغط على Advanced Compile Options غير الـ Target CPU إلى X85 و هو يعني 32-Bit ثم أعد بناء البرنامج مرة أخرة و أبلغنا بالنتائج.
  18. جزاك الله خيراً أخي mero5000 على الفكرة الجميلة و الأفادة الرائعة قمت بتعديل على البرنامج و استخدام MultiThreading في عملية الترجمة حتى لا يحدث الـ Freezing أثناء عملية الترجمة. Google Translator.rar
  19. أنا كنت قد أستعملت طريقة مشابهة لهذه الطريقة لحماية أحد برامجي من مدة قريبة ... و خلال بحثي وجدت المعلومة السابقة و لكن يوجد حل بسيط أن تجد رقم آخر وحيد لا يمكن أن يتكرر و دمجه في عمليه توليد رقم التسجيل. ما اتبعته كالآتي: عند تنصيب البرنامج كان لكل أسطوانة رقم Product ID مختلف و أثناء عملية التنيصيب سيتم قبلوه و حفظه في مسجل النظام ... و عندما يقوم البرنامج بالعمل سيقرأ رقم المعالج و رقم الـ Product ID و عندئذ على المستخدم أن يرسل لك الـ Product ID الخاص بنسخته من البرنامج و أيضاً رقم معالجه و يتم دمجهما معاً ثم تشفيرهم مثلاً بالـ MD5 أو أي طريقة و إعادة إرسالهما للمستخدم ثم على البرنامج أن يتحقق منهم بنفس الطريقة. في هذه الحالة إذا تم تشغيل رقم Product ID معين لن تقبل بتوليد رقم تسجيل له مرة أخرى و هذا يكون عن طريق Database للـ ProductIDs الموجودة لديك.
  20. جزاك الله خيراً أخي المزمجر على هذا الشرح سمعت أن رقم المعالج ليس Unique للجهاز الواحد أنظر الرابط التالي: http://www.codeproject.com/KB/system/GetHardwareInformation.aspx
  21. أتممت التصويت و لكنه طويل! طويل جداً
  22. إن شاء الله بالتوفيق :) في الأنتظار ....
  23. لم أستطع تجربة البرنامج لأن الـ Delphi غير منصبة عندي أرجو وضع ملف تنفيذي لكي نستطيع التجربة