برجاء تسجيل الإعجاب بالصفحة لتصلك كتاباتي على فيسبوك

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

الجمعة، 24 فبراير، 2017

أنواع البيانات Data Types



أنواع البيانات Data Types:

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

والجدول التالي يلخص لك أهم أنواع البيانات في فيجيوال بيزيك:

 

النوع
المعنى
حجمه (Bytes)
الأعداد التي يقبلها
من
إلى
Byte
وحدة ذاكرة
1
0
255
Short
عدد قصير
2
32768
32767
Boolean
منطقي
2
يقبل القيمتين False و True فقط
Char
حرف
2
يحفظ حرفا واحدا بكود الترميز الموسع Unicode.
Integer
عدد صحيح
4
-147483648
2147483647
Long
عدد طويل
8
9.22E18-
9.22E18
Single
عدد مفرد
4
–3.402823E38
-1.401298E–45
أو 1.401298E–45
3.402823E38
للأعداد ذات الدقّة العشرية العاديّة.. وفي هذا النوع، لا يمكن تمثيل الصفر بدقة، فهو يمثل دائما بقيمة صغيرة جدّا جدا، ولكنها أبدا ليست صفرا!
Double
عدد مزدوج
8
للأعداد ذات الدقّة العشرية الفائقة، وهو يستخدم في الحسابات العلميّة.
Decimal
عدد عشري
16
لتمثيل الأعداد الصحيحة والعشريّة، حيث يمكنك تحديد الدقّة العشريّة التي تريد التعامل معها، من 0 إلى 28 خانة عشريّة.
String
نص
(سلسلة حروف)
غير محدد
يحفظ مجموعة من الحروف يتراوح عددها بين صفر و 2 مليار حرف، حيث يتم حفظ كل منها في وحدة ذاكرة واحدة فقط.. لهذا يحتاج النص في الذاكرة إلى عدد وحدات يساوي عدد حروفه.

والأمثلة التالية تريك كيفية تعريف متغيرات من بعض هذه الأنواع:

Dim B As Byte = 5
Dim Bol As Boolean = True
Dim I As Integer = 1000
Dim D As Double = 12.000034
Dim X As string = "Ahmad"
Dim C As Char = "A"c 

من كتاب المبرمج الصغير للصف الثالث الإعدادي (الفصل الدراسي الثاني).. للتنزيل كاملا:


الخميس، 23 فبراير، 2017

خلطبيطة



خلطبيطة 

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

محمد حمدي غانم
21/2/2017


فيجوال ستديو دوت نت 2017



أصدقائي المبرمجين:
أعلنت ميكروسوفت عن موعد إطلاق فيجوال ستديو دوت نت 2017 يوم 7 مارس القادم بإذن الله.. وبإذن الله سأقدم لكم كتبا عنها تغطي ASP.NET Core و Entity Framework و UDP و Xamarin وغيرها

 وأنا أنصحكم بالاستعداد لهذه النقلة من الآن، بإعداد ويندوز 10 نسخة 64 بت على أجهزتكم (يمكنكم تنزيل نسخة مجانية من موقع ميكروسوفت، ويمكن إعدادها بدون إدخال مفتاح التفعيل، وستعمل بشكل طبيعي ما عدا قليل من الإمكانيات)، لأني سأشرح على هذا النظام، وذلك للأسباب التالية:

- تطبيقات Universal Windows Platform (UWP) لا تعمل إلا على ويندوز 10، وهي تقدم إمكانيات رائعة لتصميم التطبيقات لسطح المكتب وللأجهزة الكفية التي تعمل بويندوز 10.

- أقصى سعة لذاكرة الجهاز RAM تتعامل معها نسخة ويندوز 32 هي 4 جيجا بايت (وجزء من العناوين يكون محفوظا للتعامل مع كارت الشاشة وال USB وغيرها من أنواع الذواكر الأخرى، لهذا عمليا لن يرى الويندوز أكثر من 3.5 جيجا بايت من الذاكرة).. ومعظم الأجهزة اليوم تمتلك ذاكرة 8 جيجا وأكثر، لن يستطيع الويندوز التعامل معها والاستفادة بها إلا إذا كان نسخة 64 بت.. تعرفون أن 32 بت تسمح بعناوين ثنائية تصل إلى 2 أس 32 (حوالي 4 جيجا)، بينما 64 بت تسمح بعناوين تصل إلى 2 أس 64 (حوالي 16 مليون تيرا!!).. لقد اختفت نسخة 32 بت من إصدارات ويندوز سيرفر منذ عام 2012، وفي أي وقت قريب ستختفي من إصدارات الويندوز للأجهزة العادية، بعد أن تطمئن ميكروسوفت إلى عدم وجود أجهزة تتعامل مع ذاكرة سعتها أقل من 4 جيجا.

- إنشاء الماكينات الافتراضية والحاويات باستخدام Hyper-V و Docker Containers ليس ممكنا على نسخة ويندوز 32 بت.. دوكر الآن جزء من دوت نت.. فإن كانت لديكم بعض البرامج التي تسبب بعض المشاكل على ويندوز 64 بت (كتعريف بعض الأجهزة)، ولم يكن لديكم جهاز آخر لتشغيلها عليه على الويندوز المفضل لكم، فما زال بإمكانكم تعريف ماكينة افتراضية (أو أكثر) وإعداد نسخة 32 بت من ويندوز 7 أو ويندوز 10 عليها، واستخدامها لتشغيل تلك البرامج.. هذا أيضا يتيح لكم إنشاء واختبار البرامج على النسخ الأقدم من الويندوز.

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

 

ملحوظة:

تشغيل HyperV و Docker على الويندوز، يتطلب بعض المواصفات في المشغل الدقيق Microprocessor مثل الخاصية المسماة (SLAT) وهي تتوفر في عائلة Core I3 وما يليها من إصدارات مثل Core I5 و Core I7 وما يوازيها من عائلة Xeon.. لهذا لو كان جهازك قديما فربما هذا هو الوقت للانتقال إلى جهاز أحدث، أو ترقية جهازك القديم.

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


الثلاثاء، 21 فبراير، 2017

كوز المحبة



اثنان في واحد (ليس برت بلاس)
(13)
كوز المحبة
 

كان أحمد معاطي يفتح ملزمة الرياضيات، حينما سقطت منها ورقة مطوية.. انحنى معاطي ليلتقطها وفضها ليجد فيها ما يلي:

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

محمد حمدي: كاتب خيال علمي مبتدئ.. لن يفيدك بشيء سوى في تمييز محمد علي الذي صفعه في فكه، من محمد علي الذي لم تصفعه ناني على خده!!

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

ملحوظة: هذه الورقة ستحترق بعد خمس ثوان من قراءتك لها، فإن لم تفعل (وهذا هو الاحتمال المؤكد) فقم بإحراقها أنت!

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

***

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

***

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

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

وطبعا قوبل كلامه باستهجان شديد كان يتوقعه، لهذا قطع سبيل الجدال وأغلق باب النقاش بصرامة!

وقد ظللت أفكر في رد بليغ عليه، لهذا ذهبت إليه بعد انتهاء المحاضرة التالية، وقلت له:

-      هل تسمح لي بالكلام بلا حزازة يا دكتور؟

فسمح لي مشكورا، فقلت له من بين ضحكاتي إنني كتبت أغنية وأريد أن أسمعها له، فقال لي:

-      امسك نفسك وقل!

فقلت له:

-      برسيم المحبة خلص، وحمير الشوق جعانين

وعلف التلاقي غلي، وأنا أجيب فلوسه منين؟

فضحك قائلا:

-      أغنية جميلة، ولكن ما علاقة المحبة بالبرسيم؟

-      هذا تشبيه بليغ بإضافة المشبه به إلى المشبه.

-      لا تحاول خداعي.

-  لا أبدا.. هي هكذا في البلاغة فعلا.. ثم إن علاقة المحبة بالبرسيم، هي نفس علاقتها بالكوز :).. برسيم المحبة.. كوز المحبة.. فيتامين المحبة!!

فضحك قائلا:

-  لدينا منتدى أدبي هنا في الكلية يعقد أسبوعيا، وعليك أن تأتي.. وسأقول لك كلاما بيننا كشباب، أنا لا أستلطف كلمة اتخرم، وأراها غير لائقة.

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

***

 

 

 


وحدة الذاكرة (البايت) Byte



وحدة الذاكرة (البايت) Byte:
كما نقيس المسافة بالمتر، والوزن بالجرام، فإن الذاكرة تقاس بالوحدة الثنائية المسماة Byte.. ويتكون كل Byte من 8 خانات ثنائية يسمى كل منها Bit. ويستطيع كل بت أن يحفظ إحدى القيمتين: 0 أو 1 .  

تعريف:
الوحدة الثنائية (البايت) Byte:
هي وحدة التخزين في ذاكرة الجهاز، ويمكن أن تحفظ عددا محصورا بين 0 و255.
 
الخانة الثنائية (البت) Bit:
هي أصغر وحدة تخزين متاحة في ذاكرة الحاسب، ويمكنها أن تحفظ إحدى القيمتين: صفر أو واحد.. وكل 8 خانات ثنائية تكون معا وحدة ذاكرة واحدة (بايت) Byte.. أي أن:
8 Bits = 1 Byte


ويختلف كل نوع من أنواع البيانات عن الآخر في عدد وحدات الذاكرة Bytes التي يحتاجها.. فالنص "محمود" مثلا يحتاج إلى 5 وحدات في الذاكرة (5 Bytes) لحفظه بالترميز القياسي ASCII، بينما الحرف "م" يحتاج إلى وحدتين في الذاكرة 2 Bytes لحفظه بالترميز الموسع Unicode. 

من كتاب المبرمج الصغير للصف الثالث الإعدادي (الفصل الدراسي الثاني).. للتنزيل كاملا:


الخميس، 16 فبراير، 2017

أنا وكرشي



أنا وكرشي
(قصيدة خرجت من كرش المعاناة)
 


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

 

فهتفتُ: يا كذابُ تُنكِرُ أكلَنا = للعدسِ والكُشري وبعضِ ثمارِ؟
يا مُجرمًا أجريتَ ريقي، مدمنًا = للأكلِ بعدَ الأكلِ باستمرارِ
أفما كفاكَ بأن قتلْتَ رشاقتي = وكأنّني غولٌ حبيسُ الغارِ؟
وجعلتَني بينَ الوَرَى أضحوكةً = مِن فرطِ حجمٍ لافتِ الأنظارِ؟
حتى غدا الفِضفاضُ دونَ أناقةٍ = لِبْسي، أسيرُ ككاتمِ الأسرارِ!
أُخفيكَ عن عينِ الحِسانِ كأنني = أُخفي جَنينًا مُثقلاً بالعارِ!
فأجابَ: دَعْ عني حِسانَكَ إنّما = للفاتناتِ لديَّ طعمُ "الكاري"
وأنا وأنتَ وما أردنا ثالثًا = اثنانِ في عشقِ الطعامِ نُباري
فهتفتُ: يا إبليسُ فاخْرَسْ قبلَما = أجتازُ في التوبيخِ حدَّ وقاري
جاوزتَ حجمَكَ فانتفختَ تَكَبُّرًا = قد آنَ ردعُكَ والقرارُ قراري
فاقنعْ ببعضِ الجُبنِ هذا أكلُنا = والحُلوُ هذا اليومَ بعضُ خيارِ! 
محمد حمدي غانم
14/2/2017

 

 


DbDataRecord Class



 فئة سجل البيانات DbDataRecord Class 

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

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:


الثلاثاء، 14 فبراير، 2017

حبك جنان



حبك جنان 



عارفة ليه حبك جنان؟

بمشي بين الناس بدندن غنوة باسمك بافتتان

بالورود ومشاعري برسم شِعري ليكي ع الحيطان

وانتظر يفتح لي ضحكك لما أخبط ع البيبان

وأما أقول على واحدة حلوة يبقى فيها حاجة منك مش عشان أنا ألعوبان

صعب أخون ف عنيكي قلبي، عمر حبك يوم ما هان

كل دا يا حبيبتي وأكتر نفسي أقوله من زمان

بس معرفش أما أشوفك بلقى نفسي ليه جبان؟!

محمد حمدي غانم
9/2/2017

 


صفحة الشاعر