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

الثلاثاء، 31 يناير 2023

أدوات جديدة

 تعلم البرمجة بلغة Small Visual Basic

الدرس الثامن والأربعون:

أدوات جديدة بصندوق الأدوات

 

في هذا الدرس سنتعرف على أدوات التحكم Controls التي أضيفت إلى صندوق الأدوات Toolbox لإكماله إلى 12 أداة، وهي زر التبديل Toggle Button وشريط الانزلاق ScrollBar والمنزلق Slider وشريط التقدم ProgressBar.

الاثنين، 30 يناير 2023

خمسة أحرف


 

أنماط التنسيق Styles

 تعلم البرمجة بلغة Small Visual Basic

الدرس السابع والأربعون: أنماط التنسيق Styles

 

في هذا الدرس سنتعلم كيف نستخدم أنماط التنسيق Styles لتغيير شكل الأدوات والنموذج، مثل إنشاء زر كرويّ الشكل.

الأحد، 29 يناير 2023

إمكانيات متقدمة في مصمم النماذج

 تعلم البرمجة بلغة Small Visual Basic

الدرس السادس والأربعون:

إمكانيات متقدمة في مصمم النماذج

 

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

السبت، 28 يناير 2023

ستعلمك القدس


 

تنسيق النصوص في اللافتة

 تعلم البرمجة بلغة Small Visual Basic

الدرس الخامس والأربعون:

تنسيق النصوص المعروضة في اللافتة

 

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

رسم نجمة خماسية

 تعلم البرمجة بلغة Small Visual Basic

الدرس الرابع والأربعون: رسم نجمة خماسية

 

في هذا الدرس سنتعلم كيف نرسم أي شكل مغلق بأي عدد أضلاع نريده باستخدام الدالة AddPolygon، وسنطبق هذا برسم نجمة خماسية.

الجمعة، 27 يناير 2023

مسار الرسوم

 تعلم البرمجة بلغة Small Visual Basic

الدرس الثالث والأربعون:

رسم أشكال متقدمة باستخدام مسار الرسوم Graphics Path

 

في هذا الدرس سنتعلم كيف نرسم أي شكل نريده على نافذة الرسوم GraphicsWindow باستخدام مكتبة مسار الرسوم GraphicsPath، كما يمكننا فعل ذلك أيضا على اللافتة Label، التي تمتلك نفس وسائل مسار الرسوم، لتسمح لك برسم أشكال معقدة فوق أي نموذج في مشروعك.

الخميس، 26 يناير 2023

إنشاء مكتبة كود بلغة sVB

 تعلم البرمجة بلغة Small Visual Basic

الدرس الثاني والأربعون:

إنشاء مكتبة كود Code Library بلغة sVB

 

في هذا الدرس سنتعلم كيف نستخدم مشروع سمول فيجوال بيزيك الذي يحتوي على القالب العام Global Module كمكتبة كود ووضعها في المجلد sVB\Bin\lib، بحيث يمكننا استدعاء الدوال المكتوبة فيه من أي مشروع آخر.

الأربعاء، 25 يناير 2023

الانتقال بين ملفات الكود

 تعلم البرمجة بلغة Small Visual Basic

الدرس الحادي والأربعون:

الانتقال بين ملفات الكود المفتوحة

 

في هذا الدرس سنتعلم كيف نستخدم قائمة الملفات المفتوحة لتسهيل الانتقال بين ملفات الكود التي يعرضها محرر الكود Code Editor.


قالب الكود العام

  

تعلم البرمجة بلغة Small Visual Basic

الدرس الأربعون: قالب الكود العام Global Module

 

في هذا الدرس سنتعلم كيف نضيف الملف Global.sb إلى المشروع ليعمل كقالب عام Global Module نضيف فيه الخصائص والدوال التي نريد استخدامها من نوافذ المشروع المختلفة.

تطوير مشروع الأزرار العشوائية

 تعلم البرمجة بلغة  Small Visual Basic

الدرس التاسع والثلاثون:

تطوير مشروع الأزرار العشوائية ليصير متعدد النوافذ

 

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

الثلاثاء، 24 يناير 2023

إنشاء مشروع متعدد النوافذ

 تعلم البرمجة بلغة  Small Visual Basic

الدرس الثامن والثلاثون: إنشاء مشروع متعدد النوافذ

 

في هذا الدرس سنتعلم كيف نستخدم مصمم النماذج في إنشاء مشروع متعدد النوافذ، ونتعلم كيف نعرض أي نموذج حينما نريد باستدعاء الوسيلة Forms.Show أو الوسيلة Forms.ShowDialog.

إنشاء وعرض نافذة جديدة

 تعلم البرمجة بلغة  Small Visual Basic

الدرس السابع والثلاثون: إنشاء وعرض نافذة جديدة في وقت التشغيل

 

في هذا الدرس سنخطو خطوة أولية نحو المشاريع متعددة النوافذ، حيث سنشرح المثالRandom Buttons، وفيه يمكن أن ننشئ نموذجا جديدا New Form في وقت التشغيل Runtime ونضع عليه زرا، وكلما ضغط المستخدم هذا الزر سنضع زرا جديدا في موضع عشوائي على النافذة.

الاثنين، 23 يناير 2023

عاشق الروح

Show Buttons

 تعلم البرمجة بلغة  Small Visual Basic

الدرس السادس والثلاثون: شرح المثال Show Buttons

 

في هذا الدرس سنتعلم كيف يمكن إنشاء الأزرار في وقت التشغيل والاستجابة لأحداث ضغطها.

عكس النصوص

  

تعلم البرمجة بلغة  Small Visual Basic

الدرس الخامس والثلاثون: عكس النصوص Reversing Strings

 

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

TextBox.CaretIndex

 تعلم البرمجة بلغة  Small Visual Basic

الدرس الرابع والثلاثون: شرح المثال TextBox Lines

 

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

الأحد، 22 يناير 2023

كيف نواجه سد النهضة؟

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


السبت، 21 يناير 2023

التحقق من كل أدوات النموذج

  

تعلم البرمجة بلغة  Small Visual Basic

الدرس الثالث والثلاثون:

التحقق من كل أدوات النموذج

Validating Form Controls

 

في هذا الدرس سنواصل ما بدأناه في الدرس السابق عن التحقق من المدخلات Validation، وسنتعلم هنا كيف نستخدم الوسيلة Form.Validate لفحص القيم التي أدخلها المستخدم في كل الأدوات الموضوعة على النافذة، وسنتعلم أيضا كيف يمكن تعديل طريقة عمل هذه الوسيلة لو أردنا باستدعاء الوسيلة Control.Validate في حلقة تكرار تمر عبر كل الأدوات التي تعيدها الخاصية Form.Controls.

التحقق من المدخلات

 تعلم البرمجة بلغة  Small Visual Basic

الدرس الثاني والثلاثون: التحقق من المدخلات Validation

في هذا الدرس سنتعلم كيف نستخدم الحدث OnLostFocus لفحص القيمة التي أدخلها المستخدم في الأداة، واستخدام الخاصية Error لعرض إطار أحمر مع عرض رسالة الخطأ في تلميح Tool Tip إن كانت هذه القيمة غير مناسبة.

الجمعة، 20 يناير 2023

ليلى وأخواتها

زر التحويل RadioButton

 تعلم البرمجة بلغة  Small Visual Basic

الدرس الحادي والثلاثون: زر التحويل RadioButton

في هذا الدرس سنتعلم كيف نستخدم زر التحويل RadioButton لمنح المستخدم القدرة على الاختيار بين عدة بدائل.

مربع الاختيار CheckBox

تعلم البرمجة بلغة  Small Visual Basic

الدرس الثلاثون: مربع الاختيار CheckBox

في هذا الدرس سنتعلم كيف نستخدم مربع الاختيار CheckBox لمنح المستخدم القدرة على تفعيل أو تعطيل بعض الخيارات.

الخميس، 19 يناير 2023

القائمة المركّبة ComboBox

 تعلم البرمجة بلغة  Small Visual Basic

الدرس الثامن والعشرون: القائمة المركّبة ComboBox

فكرة سريعة عن القائمة المركبة ComboBox، وسنرى كيف نستخدمها عمليا ف الدروس التالية بإذن الله.

الأربعاء، 18 يناير 2023

البحث في مربع القائمة

 تعلم البرمجة بلغة  Small Visual Basic

الدرس الثامن والعشرون: البحث في مربع القائمة ListBox

في هذا الدرس سأريكم كيف نستخدم الوسائل الجديدة التي أضفتها للبحث في القائمة ListBox في كلا الاتجاهين.

الثلاثاء، 17 يناير 2023

خصائص الخط

 تعلم البرمجة بلغة  Small Visual Basic

الدرس السابع والعشرون: خصائص الخط Font Properties

في هذا الدرس سنتعلم كيف نستخدم خصائص الخط التي تمتلكها كل الأدوات لتغيير نوع الخط وحجمه وتأثيراته باستخدام الكود.

أداة اختيار التاريخ

 تعلم البرمجة بلغة  Small Visual Basic

الدرس السادس والعشرون: أداة اختيار التاريخ Date Picker

في هذا الدرس سنتعلم كيف نعرض للمستخدم أداة اختيار التاريخ DatePicker، وكيف نتفاعل مع التاريخ الذي اختاره المستخدم.

أعراض انسحاب


 

ربع قرن من البرمجة

 من فيجوال بيزيك إلى سمول فيجوال بيزيك!

 

 يقترن شتاء يناير دائما بذكريات منتصف العام المحببة إلى قلبي، ومنها:

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

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

- تعلمي لغة فيجوال بيزيك دوت نت وكتابة برنامج لوزن الشعر العربي مع م. محمد جلال أبو الرجال منذ 25 عاما، وقد نشرت كتابا يشرحه بلغة رينج منذ عامين.

- وأول كتاب برمجي صدر لي في معرض الكتاب منذ 15 عاما.

- وبدء إنشائي للغة سمول فيجوال بيزيك منذ عامين، إلى أن وصَلَت مؤخرا إلى المستوى الذي أردته لها بحمد الله، وأعمل حاليا على كتابة المرجع الإنجليزي لها، وإكمال نشر الفيديوهات التي أشرحها فيها باللغة العربية.

أحمد الله على ما وفقني إليه، وأدعوه أن يفيد به العرب والمسلمين، وأن يوفقني لمزيد من الأفكار الجديدة في مثل هذا الوقت من كل عام، لتظل هذه الفترة محتفظة بحيويتها وذكرياتها الجميلة لسنوات قادمة بإذن الله.. وأرجو أن تكون خطوتي التالية هي المساهمة في تطوير لغة ModVB خليفة VB.NET والتي يطورها أنتوني جرين أحد مديري فريق فيجوال بيزيك دوت نت السابقين، فلعلها تكون الذكرى الجديدة للعام القادم إن أحيانا الله سبحانه.

وكل عام وأنتم بخير.

 

الاثنين، 16 يناير 2023

زئير الحر

 مرَّتْ على قفصِ الأسودِ فَحَوقَلتْ: 

 "ماذا دَها الآسادَ، كانت أَعظَما؟!

المدة الزمنية

 تعلم البرمجة بلغة  Small Visual Basic

الدرس الخامس والعشرون: المدة الزمنية Time Span

في هذا الدرس سنتعلم كيف ننشئ فترة زمنية Time Span (أو مدة Duration) وكيف نجمعها ونطرحها من التواريخ وكيف نحصل عليها من طرح تاريخين.

مقارنة التواريخ

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

الأحد، 15 يناير 2023

التعامل مع الوقت والتاريخ

 تعلم البرمجة بلغة  Small Visual Basic

الدرس الثالث والعشرون: التعامل مع الوقت والتاريخ

 

من الإضافات الجديدة التي أدخلتها إلى لغة سمول فيجوال بيزيك، دعم اللغة للتعامل مع الوقت Time والتاريخ Date.. وسنرى في هذا الدرس كيف تعم اللغة تعريف التواريخ باستخدام تعبيرات التاريخ Date Literals والتعامل معها باستخدام وسائل المكتبة Date.

جمهورها أنا


 

التسمية الاصطلاحية للمتغيرات

 تعلم البرمجة بلغة  Small Visual Basic

الدرس الثاني والعشرون: التسمية الاصطلاحية للمتغيرات

 

من الإضافات الجديدة التي أدخلتها إلى لغة سمول فيجوال بيزيك، القدرة على استنتاج نوع المتغير من قيمته الابتدائية Type Inference، لكن هناك حالات قد تحتاج فيها إلى إخبار اللغة بنوع المتغير كما في حالة معاملات الدوال وعداد حلقة التكرار ForEach وغيرها.. هنا يمكنك استخدام التسمية الاصطلاحية Naming Convention للمتغير بتضمين نوعه كبادئة أو لاحقة ضمن الاسم مثل TextBox1 و MyLabel.. كما يمكن استخدام اختصارات الأنواع مثل str و dbl و txt... إلخ.

السبت، 14 يناير 2023

تطويرات For Loop

 تعلم البرمجة بلغة  Small Visual Basic

الدرس الحادي والعشرون: تطويرات في حلقة التكرار For Loop

 

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

كذلك لم تعد sVB تسمح باستخدام المتغير قبل سطر تعريفه، وكان هذا خطأ قديما موروثا من لغة سمول بيزيك.

حلقة التكرار ForEach

 تعلم البرمجة بلغة  Small Visual Basic

الدرس العشرون: حلقة التكرار ForEach

 

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

وأضفت أيضا مفهوم استنتاج نوع المتغير من قيمته Type Inference، وهذا يتيح لك استخدام المتغير كأنه كائن من هذا النوع.

الجمعة، 13 يناير 2023

الاستشعار الذكي

  

تعلم البرمجة بلغة  Small Visual Basic

الدرس التاسع عشر: الاستشعار الذكي IntelliSense

 

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

رسالة إلى ملهمة الشعراء

 رسالة إلى ملهمة الشعراء

 

أيتها الرقيقة الحالمة:

ليتك رضيت بالهزيمة منذ البداية!

وليتك ترضين الآن بالنصر، وتقنعين من الغنيمة بالشعر!

ليتك تقيمين أسوار مملكتك عند هذه الحدود، فهذا آخر ما يبلغه الحلم، وما بعد هذا ظلام وجليد ومخاطر غير محسوبة، كشتاء روسيا الذي ابتلع طموحات نابليون وأمجاد هتلر!

 

أيتها الرقيقة الحالمة:

لا تجعلي حبك للشعر يضيّع واقعك ومستقبلك.

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

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

أما الشعر فلا تأسَيْ عليه فكله لك!

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

فاختاري من تشائين فهو لك.. المهم أن تحسني الاختيار، فأناديك حينها:

أيتها الرقيقة الواقعية!

 

محمد حمدي غانم

13/1/2023

 

الخميس، 12 يناير 2023

تقسيم سطر الكود والتنسيق التلقائي

تعلم البرمجة بلغة  Small Visual Basic

الدرس الثامن عشر: تقسيم سطر الكود والتنسيق التلقائي

 

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

الأحد، 8 يناير 2023

لوذي من الحب

 فيا أنتِ لا تَعشقي شاعرًا، ولُوذي من الحبِّ، لا تَندمي

فللشعراءِ جنونُ القوافي، ويأتونَ بالشهدِ مِن علقمِ
يَبوحونَ بالنورِ والنارُ فيهم، وبعضُ الفراشاتِ لم تَفهمِ!

كل البنوك مصيرها الإفلاس

 دعوت الناس لشراء الذهب في هذا الفيديو بتاريخ 4 أبريل 2021 (منذ عامين تقريبا)، وهذا يبدو متناقضا مع فيديوهاتي التي حذرت فيها الناس من شراء الذهب العام الماضي!!.. فما سبب هذا التناقض؟

في الحقيقة ليس هناك أي تناقض.. منذ عامين كنت أتوقع الأزمة، وكان سعر الذهب منخفضا (حوالي 800 جنيه للجرام)، لكن للأسف معظم الناس تقبل على شراء الذهب بعد حدوث الأزمة فعليا وهذا يرفع سعر الذهب بشكل جنوني ومبالغ فيه ويصير الشراء خسارة مؤكدة، لهذا نصحت بعدم شراء الذهب بعد أن وصل سعر الجرام إلى 1200 جنيه، ونصحت بشرائه مرة أخرى حينما هبط إلى 900 جنيه، ثم نصحت بعدم شرائه حينما ارتفع بشكل جنوني بعد هذا حتى تجاوز 1800 جنيه.. وهكذا.

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

شاهدوا الفيديو لتعرفوا لماذا توقعت ما حدث، مع ملاحظة أنني لم أكن حتى أتوقع حدوث حرب روسيا وأوكرانيا بعد حوالي عام من كلامي!

صفحة الشاعر