المتابعون للمدونة

الاثنين، 26 مايو 2014

الرسم والتلوين والصور والمجسمات


كتاب مجاني:
الرسم والتلوين والصور والمجسمات لمبرمجي VB.NET
إعداد م. محمد حمدي غانم
بناء على ترجمة متصرفة لمرجع Mastering VB.NET
ومصادر أخرى 

للتحميل من ميديا فاير:

للتحميل من فور شيرد:

بقراءة هذا الكتاب، ستتعرف على ما يلي:
- كائن اللون Color Structure
- مربّع حوار اختيار اللون ColorDialog
- رسم الأشكال بوسائل كائن الرسوم Graphics Object
- كائن مسار الرسوم GraphicsPath Object
- الألوان المتدرّجة Gradients
- تحويل الإحداثيّات Coordinate Transformations
- قص منطقة الرسم Clipping
- رسم النصوص
- مربّع الصورة PictureBox
- كائن الصورة Image Object
- رسم الصور باستخدام الوسيلة DrawImage
- الصور النقطيّة Bitmaps
- إبقاء الرسوم على النموذج والأدوات
- تغيير نقاط الصورة
- التعامل مع نقط الصورة في الذاكرة مباشرة
- تغير لون معيّن في الصورة إلى لون آخر
- رسم الدوال
- إنشاء أدوات خاصة Custom Controls
- بناء أدوات بأشكال خاصّة
- مقدمة حول Microsoft DirectX 9.0
- مفاهيم أساسيّة للتعامل مع المجسمات
- استخدام Direct3D9
- مشروع تعليميّ لرسم مكعبين مجسمين يدوران حول بعضهما.
 

السبت، 24 مايو 2014

تسجيل أدوات COM


س: عند إضافة مرجع Reference لأداة مكتوبة بتقنية COM من النوع DLL أو OCX في مشروع من مشاريع دوت نت، تظهر لي رسالة تخبرني أن هذا المكون غير مسجل Not Registered.. فما السبب؟

 

ج: قبل إضافة مرجع لمكتبة خارجية (ليست جزءا من مجموعة المشاريع Solution وليست مكتوبة بدوت نت) يجب تسجيل هذه المكتبة أولا في مسجل قيم الويندوز Registry.. يمكن فعل هذا بطريقتين:

1- الطريقة الجاهزة، وهي تشغيل برنامج الإعداد Setup الخاص بهذه المكتبة (إن كان موجودا)، فهو يقوم بتسجيلها.

2- تسجيل المكتبة يدويا، وذلك بفعل الآتي:

- من سطح المكتب Desktop افتح قائمة البداية Start واضغط Run، أو اضغط زر الويندوز ومعه زر R من لوحة المفاتيح مباشرة.

- في النافذة التي ستظهر اكتب ما يلي:

Regsvr32 DllName

حيث DllName هو اسم مكتبة الكود متضمنا مسارها الكامل على جهازك.. مثال:

Regsvr32 C:\Windows\System32\zipfldr.dll

-      اضغط OK لتنفيذ الأمر.

إذا نجحت عملية التسجيل ستظهر رسالة تخبرك بهاذ، ويمكنك إضافة مرجع لمكتبة الدوال في دوت نت بعد هذا بدون مشاكل.

الأحد، 18 مايو 2014

السبت، 17 مايو 2014

وبحبي باح الهدهد


وبحبي باح الهدهد 

مِن عِقْـدٍ ومَضَتْ أربعةٌ، لَمْ أَغرَقْ في بَحرِ الشَّهدْ
هي أحلَى حُلمٍ راودَني، أنَّى صورتَها أَشْهـدْ؟
ما بَرِحَتْ عيناها قلبي، وستبقَى، أناْ أتعهَّدْ
سنواتٍ حُزني يَنزِفُني، مِن طولِ اللهفةِ مُجهَدْ
والشِّعْرُ الحائرُ في قلبي أَقسمَ في ليلي أَسْهدْ
أمضيتُ العمرَ بلا مأوَى، ضيَّعتُ غَدي أَتَنهَّدْ
أتُراها عنّي جاهلةً وبِحُبي باحَ الهُدْهُدْ؟!
يا مَلكةَ قلبي جِيئـيني، دَربُ المَحبوبِ مُمَهَّدْ
ضُمّي في حِضنِكِ مَملكتي، مِن دونِ حنانِكِ تَنهَـدّْ
يا هُدْهَدَ عشقي أخبرْها عنْ شوقٍ مِنها فَرْهَدْ
أنِّي قد عانيتُ سنينًا، فلماذا حُبّي تَضْـهَدْ؟!
فَلْتعلَمْ أنِّي أعشقُها، وسواها قلبي يَزهَدْ
محمد حمدي غانم
19/3/2014

السبت، 10 مايو 2014

أساسيات Wpf لمبرمجي فيجوال بيزيك دوت نت


أساسيات Wpf لمبرمجي فيجوال بيزيك دوت نت




لمشاهدة جميع كتبي وأماكن بيعها، اضغط هنا
للراغبين في شحن كتبي إليهم، التفاصيل هنا
المؤلف: م. محمد حمدي.
الثمن: 100 جنيه.
نبذة عن الكتاب:

WPF هي تقنية جديدة، قدمتها ميكروسوفت لمبرمجي دوت نت باعتبارها الجيل التالي لتقنية نماذج الويندوز Windows Forms Applications.

وقد  ظهرت تقنية Wpf لأول مرة في نوفمبر 2006.. لكن رغم مرور كل هذا الوقت، ما زالت هذه التقنية المدهشة بإمكانياتها الرائعة مجهولة لكثير من المبرمجين العرب.. هذا الكتاب محاولة لكشف هذا المجهول، وتعريف المبرمج العربي بهذا الكنز المخبوء.

وعلينا أن نقر أن هذه التقنية تتطلب جهدا ووقتا لتعلمها، فهي:

- تستخدم لغة XAML في تصميم النوافذ وما يرتبط بها من موارد Resources وأنماط تنسيق Styles وقوالب Templates.

- تمتلك مكتبة خاصة بها من الفئات، وتختلف أدواتها في طريقة عملها وبعض أسماء خصائصها عن أدوات نماذج الويندوز.

- تضيف بعض المفاهيم البرمجية الجديدة، مثل الخصائص الاعتمادية Dependency Properties والأحداث الموجهة Routed Events والأوامر الموجهة Routed Commands.

وهو ما يجعل المبرمج يشعر لأول وهلة بأنه يتعلم لغة برمجة جديدة من الصفر! (وهذا طبعا غير صحيح، فهي جزء من بيئة دوت نت ويستطيع المبرمج أن يستفيد من مكتبة فئات إطار العمل .NET Framework).. ولكن الأمر رغم هذا يستحق العناء، فتقنية WPF توفر الكثير من الوقت والجهد الذي كان المبرمج يضيعهما في تصميم النوافذ، وتمنحه قدرات جديدة مدهشة ومرونة عالية وتحكما كاملا في كل أجزاء النافذة وما عليها من أدوات، إضافة إلى ميزات غير مسبوقة في الرسم والتلوين والتحريك وأنماط التنسيق Styles وربط البيانات Data Binding، وغيرها.

لأخذ نبذة عن قدرات WPF يمكن قراءة هذا المقطع من الكتاب:


 
 

الثلاثاء، 6 مايو 2014

طوفان لهفة


طُوفانُ لَهفةْ 

لا تَسأليني: هل يَجيءُ الحبُّ صُدفةْ؟.. وَسَـلِي التي خَطَفَتْ فُؤادي دُونَ رأفةْ!
أناْ مُذْ رأيتُكِ لَمْ أُفِقْ مِن دهشتي، هذا الذي يَجتاحُني طُوفانُ لَهفةْ
مِن ألفِ عامٍ كُنتِ غايةَ رحلتي، حتّى استكنْتِ بحِضنِ قلبي دِفءَ أُلفةْ
عيناكِ.. إنّي لا أصدّقُ ما أرى!.. حُسنٌ بديعٌ لم أَجِدْ في الشِّعرِ وصفََهْ
يَختالُ هذا الخالُ فوقَ الخدِّ، والمشتاقُ إنَّ ببسمةِ العينينِ ضَعفَهْ!
يرنو إليكِ بتَوقِ أَلفَيْ عاشقٍ وتَوَرُّدُ الأزهارِ في خدّيكِ عِفّةْ
لا تَفزعي، لا تَهربي بالوَردِ منّي، لم أُرِدْ بالشوقِ حينَ دَنوتُ قطفَهْ
***
هل كنتِ أحلى ما رأتْهُ قصائدي، أم ذا سرابٌ قد أضعتُ العمرَ خلفَهْ؟
أمْ أنَّ هذا العشقَ جِنٌّ مَسَّني، طالَ البعادُ وما استطاعَ الحزنُ صَرفَهْ!
ما زلتُ حينَ أراكِ أنسَى مَن أنا، والقلبُ مِن أشواقِهِ تَعروهُ رَجفةْ
والثغرُ يَهذي بِاسْمِ مَن أدمنتُها.. فلتُسعفيني لم أَجِدْ في الطِّبِّ وَصفةْ!
أَفنَى الغيابُ شبابَ صَبٍّ، ما أتَى لكِ حاملا زهرَ الربيعِ رَدَدْتِ كفَّهْ!
ما قُلتِها.. عذّبْـتِني مِن دُونِها.. ظَمَـأً قُتِلتُ ولَمْ أَذُقْ يا ثَغرُ رشفةْ!
هذا دلالٌ ممتعٌ، أم قسوةٌ، أم قد أَخذْتِ المَكرَ بالعشاقِ حِرفةْ؟!
يا زهرتي: قولي "أحبّكَ" همسةً.. في القلبِ مُرٌّ أكملي بالحُلوِ نِصفَهْ
ما قُلتِها.. للآنِ قَطْ ما قُلتِها؟!.. لا تَكتميها، أمّني الحيرانَ خَوفَهْ
لا تُسمعيها غيرَ قلبي يا أنا.. مَن يَملِكِ الدرَّ الثمينَ احتاطَ خَطفَهْ
إنّي أغارُ عليكِ، أنتِ يمامتي، يُرضيكِ أسْرِي لو عذرتِ القلبَ ضَعفَهْ
***
مِن بعدِ هذا العمرِ منذُ سكنتِـني، هل تَرجُمينَ الآنَ مَن يَهواكِ زيفَهْ؟
لا تُنكري هذا الذي مِن نَظرةٍ في بحرِ عينِكِ أغرقَ الطُّوفانُ طَوفَهْ
أناْ ذا أنا.. مجنونُ عشقِكِ ما وَعَى.. سلبَتْ جَناني مِن نَسيمِ الحُسنِ عَصفةْ
فبأيِّ ذنبٍ تَعتبينَ على الفَتَى؟.. قد باحَ رغمَ الصمتِ منذُ سكنتِ حَرفَهْ
أناْ إن صَمَتُّ فلستُ إلا عاشقًا، ناداكِ بِاسْمكِ نبضُ قلبي دونَ وقفةْ
مُذْ كُنتِ أنتِ غَرورةً بجمالِها، وأنا غريرٌ قلتُها مِن دُونِ كُلْـفَةْ
"إنّي أحبُّكِ"، والفؤادُ إليكِ غنّى.. هل سَمِعْتِ الآنَ بالأشواقِ عَزفَهْ؟
إن كنتِ تمتلكينَ قلبًا نابضًا ـ لا صخرةً ـ فلتُظهري لي الآنَ عطفَهْ

محمد حمدي غانم
4/5/2014

 

السبت، 3 مايو 2014

إعداد تطبيقات قواعد البيانات


س: كيف يمكن إعداد تطبيق دوت نت يتعامل مع قواعد البيانات على جهاز العميل؟

 

ج: اتبع الخطوات التالية:

1- قم بإعداد إطار العمل .Net Frame work على جهاز العميل:

طبعا ستعد إصدار إطار العمل الذي أنشأت البرنامج عليه في دوت نت.. ستجد ملف إعداد إطار العمل على القرص الخاص بدوت نت حيث سيبدأ اسمه بالحروف: dotNetFx.. أو يمكنك تحميله من موقع ميكروسوفت.

2- قم إعداد قاعدة البيانات:

إذا كنت تتعامل مع قاعدة بيانات سيكويل سيرفر، فيجب إعداد تطبيق SQL Server على جهاز العميل (إن كانت قاعدة البيانات محلية Local)، أو إعداده على الخادم Server إن كانت قاعدة البيانات ستخدم أكثر من مستخدم، وفي هذه الحالة عليك ضبط إعدادات الاتصال بالخادم وإتاحة الاتصال به من الأجهزة الأخرى (في الغالب هذه مسئولية مدير الشبكة).. وفي كلتا الحالتين، يجب أن تضع قاعدة البيانات في العنوان الذي يتوقع برنامجك أن يجدها فيه (كما حددته في نص الاتصال Connection String)، أو الأفضل من هذا أن يسمح برنامجك للمستخدم باختيار موضع قاعدة البيانات من على الجهاز أو عنوان الخادم IP.

وإذا كنت تستخدم نسخة SQL Server Express فعليك قراءة هذه الملحوظة الهامة.

3- قم بإعداد عارض التقارير:

إذا كان برنامجك يعرض بعض التقارير باستخدام Report Viewer أو Crystal Report، فعليك بإعداد برامج هذه التقارير على جهاز العملي.. على سبيل المثال، تحتاج تقارير الأداة Report Viewer إلى برنامج إعداد اسمه:

Microsoft Report Viewer 2012 Runtime

وهو بدوره يحتاج لوجود إعدادات مسبقة لأنواع سيكويل سيرفر المدارة على جهاز المستخدم، فإن لم تكن موجودة، فيلزمها برنامج إعداد اسمه SQLSysClrTypes.. وكلاهما يمكن تحميله من موقع ميكروسوفت.

4- قم بإعداد برنامجك:

لو نفذت الخطوات السابقة، ففي الغالب سيعمل الملف التنفيذي الخاص بك على جهاز العميل بدون الحاجة لأي إعدادات أخرى.. كل ما عليك فعله هو وضع كل الصور والملفات اللازمة لعمل برنامجك في مجلد واحد مع الملف التنفيذي (مع مراعاة كتابة الكود منذ البداية ليقرأ هذه الملفات من نفس مجلد الملف التنفيذي)، ثم نسخه إلى جهاز العميل.

أما إذا كنت تتعامل مع أدوات خاصة تحتاج لإعداد ووضع قيم في مسجل الويندوز Registry، ففي هذه الحالة عليك إنشاء برنامج حزم وتوزيع Setup Package يقوم بإعداد برنامجك على جهاز المستخدم.. وقد شرحت هذا الموضوع بالتفصيل في الفضل الأخير من مرجع برمجة نماذج الوندوز.

 

 

ملحوظة:

الشرح السابق يخص تطبيقات قواعد البيانات الخاصة بشركة أو عميل محدد، لأنك هنا تعد البرنامج مرة واحدة فقط لعميل واحد، وبالتالي تستطيع أن تريه هذه الخطوات عمليا وتدربه عليها ليقوم بها بنفسه بعد ذلك، مع كتابة ملف تعليمات يشرح له هذه الخطوات، بحيث لا يحتاج إليك بعد هذا.

لكن الأمر سيختلف مع البرامج التي تباع في السوق لمستخدمين كثر، ففي هذه الحالة عليك أن تكتب برنامج إعداد يقوم بكل أو معظم الخطوات السابقة آليا (أي أنك ستجمع كل الخطوات في الخطوة رقم 4 في الشرح السابق).. وفي الغالب سيستثنى من الأمر إعداد سيكويل سيرفر لأنه تطبيق مستقل بترخيص، كما أن إعداده على خادم يعمل على شبكة أمر يخص المسئولين عن هذه الشبكة وتأمينها وصلاحيات مستخدميها.

الخميس، 1 مايو 2014

رسم الدوال


س: كيف يمكن رسم الدوال برمجيا؟
 

ج: المشروع الوجود على هذا الرابط:
يرسم أي دالة تريدها، وهو أحد مشاريع مرجع Mastering VB.NET الذي ترجمته عام 2003 باسم احتراف فيجوال بيزيك دوت نت.. وهذا هو شرح هذا المشروع في الكتاب المترجم:

صفحة الشاعر