كتاب قرأته: حلول برمجية في Visual Basic 2005

Posted: 20 ديسمبر 2011 in كتاب قرأته, مقالات علمية, علوم حاسوب وبرمجة

هذا الكتاب يعد من الكتب القليلة التي تبحث عن حلول لمعضلات قد لا يهتم بها معظم الكتب المتخصصة أو تضيع في ثنايا المواضيع أو تذكر في الملاحظات البسيطة والهوامش.
يعتبر هذا الكتاب مرجعاً للمبرمجين من كل المستويات في Visual Basic .Net حيث تتنوع أمثلته من المستوى البسيط إلى المعقد .. وتطرق مواضيع لطالما خطرت ببالك كمبرمج .. لكنك عجزت عن العثور عليها كمواضيع منفردة في الكتب الكبيرة.

الكتاب يقسم الحلول ضمن مجاميع ويقدم أكواد مركزة في الموضوع قيد النقاش .. كما يرفق مع الكتاب نسخة إلكترونية من كافة الأكواد التي نوقشت خلال الكتاب .. وهي حلول رائعة لمعظم المشاكل التي تواجه الكثيرين وأنا منهم.

وقد جاء وصف الكتاب التالي:
إذا كنت مبرمج Visual Basic 2005، أو كنت مبرمج VB يسعى إلى الهجرة إلى VB 2005، فلن تجد أفضل من هذا الكتاب ليعينك في تحقيق غايتك. سوف تجد في هذا الكتاب:

•     أكثر من 300 وصفة لحل المشكلات البرمجية الشائعة وغير الشائعة.
•     قطع شيفرة جاهزة للاستعمال، تجد نسخة منها على القرص المضغوط المرفق.
•     مشاريع متقدمة تركز على التعامل مع الوسائط المتعددة والتحويلات الحسابية باستعمال طرق الجبر الخطي.
•     فصولاً خاصة بالملفات ونظم الملفات والطباعة وقواعد البيانات.
•     تقنيات التعمية والتشفير والضغط.
•     تقنيات برمجية خاصة.
•     التعامل مع الرسم في Visual Basic 2005.

 

وقد قمت برفع نسخة من كافة الأكواد البرمجية للحلول المرفقة بالكتاب على الرابط:
http://www.mediafire.com/ahmad.jabr


والكتاب ترجمة جيدة للكتاب:
Visual Basic 2005 Cookbook: Solutions for VB 2005 Programmers

وللحصول على نسخة إلكترونية من الكتاب باللغة الإنجليزية من هنا

وهذا جدول المحتويات:

الفصل الأول
البرمجة في Visual Basic 7
مدخل 7
إنشاء تطبيق نماذج Windows 7
اسم الخاصية 13
إنشاء تطبيق سطر الأوامر 17
إنشاء تطبيق نماذج ويب ASP.NET 21
الفصل الثاني
بيئة التطوير 29
مدخل 29
اكتشاف واستخدام قطعة شيفرة 30
إنشاء قطعة شيفرة جديدة 32
التشارك على قطع الشيفرة 35
إضافة ملفات قطع الشيفرة إلى VS 35
الحصول على رقم إصدار التطبيق 36
جعل VB تقوم بتحديث رقم إصدار التطبيق تلقائياً 37
تعيين نموذج بدء تشغيل للتطبيق 38
تعيين بدء التشغيل على إجرائية رئيسية فرعية 39
الحصول على سطر أوامر لتطبيق 40
اختبار سطر أوامر تطبيق 42
تشويش تطبيق 43
تحديد ما إذا كان تطبيق مشغل في بيئة VS 46
الوصول إلى متحولات البيئة 47
الوصول إلى مسجل النظام 48
الحصول على معلومات النظام 52
الحصول على اسم المستخدم 56
الفصل الثالث
تنظيم التطبيق 59
مدخل 59
إنشاء وحدة نمطية للشيفرة 59
إنشاء صنف 62
إنشاء بنية 65
إنشاء أنواع بنود أخرى 66
إنشاء مثيل كائن 72
تبدئة مثيل صنف بالبيانات 74
تحرير موارد مثيل عن صنف 76
استعمال فضاءات الأسماء 78
تقسيم صنف على عدة ملفات 80
إنشاء نموذج استناداً إلى نموذج آخر 81
تمرير واستعادة بنى وكائنات أخرى 83
إنشاء واستخدام تعداد 84
التحويل بين قيم التعداد العددية والمحرفية 85
إنشاء طريقة تقبل مجموعات مختلفة من الوسطاء 87
استعمال المعاملات القياسية لغايات غير قياسية 88
فرض نوع بيانات محدد في مجموعة عامة النوع 92
الفصل الرابع
النماذج وعناصر التحكم وغيرها من الكائنات المفيدة 97
مدخل 97
إنشاء وإضافة عناصر تحكم في زمن التشغيل 97
المرور على جميع عناصر التحكم في نموذج 100
المشاركة على منطق معالجة الحدث بين عدة عناصر تحكم 101
العمل مع المؤقتات 103
تحديد ما إذا كان بوسع عنصر تحكم الحصول على التركيز 104
النقر على زر برمجياً 105
رسم عنصر تحكم 105
جعل النموذج يظهر في المقدمة 108
معرفة أزرار القبول والإلغاء على النموذج 109
تذكر موضع نموذج بين استعمالين له 110
ربط عنصر تحكم بحافة نموذج 112
نقل عناصر التحكم أو تغيير أبعادها مع تغيير أبعاد النموذج 115
تقييد تغير قياس نموذج 117
مركزة نموذج 118
إنشاء وتحريك نموذج بلا حدود 119
إنشاء نموذج متلاشٍ 121
إنشاء نموذج غير مستطيل الشكل 122
تغيير القوائم في زمن التشغيل 124
إنشاء قوائم مختصرة 128
الفصل الخامس
السلاسل المحرفية 131
مدخل 131
استخدام StringBuilder 131
إنشاء سلسلة محرفية من N محرفاً متماثلاً 134
إنشاء سلسلة محرفية بتكرار سلسلة محرفية أخرى N مرة 135
تشفير سلسلة محرفية 136
تحويل البيانات الثنائية إلى سلسلة محرفية ستة عشرية 138
استخلاص سلاسل محرفية فرعية من سلاسل محرفية كبيرة 140
تحويل حالة حروف سلسلة محرفية 141
مقارنة السلاسل المحرفية الحساسة لحالة الحرف 143
مقارنة السلاسل المحرفية غير الحساسة لحالة الحرف 144
التحويل بين السلاسل المحرفية ومصفوفات المحارف 145
التحويل بين السلاسل المحرفية ومصفوفات البايت 147
إحصاء المحارف 148
إحصاء عدد الكلمات 150
إزالة الفراغات البيضاء الزائدة 151
استعمال محارف نهاية السطر الصحيحة 152
استبدال سلاسل محرفية فرعية 154
إدراج محرف أو سلسلة محرفية 155
إدراج سطر نصي 157
تحقيق تباعد مزدوج لسلسلة محرفية 160
تنسيق الأعداد على شكل سلاسل محرفية 161
قص مجموعات من المحارف من سلسلة محرفية 164
التعرف على أنواع البيانات في سلسلة محرفية والتأكد من صلاحيتها 165
تحويل السلاسل المحرفية بين نظم الترميز المختلفة 167
تحديد نوع محرف 169
تفسير السلاسل المحرفية 172
ضم السلاسل المحرفية 174
تسريع التعامل مع السلاسل المحرفية 176
إحصاء عدد مرات ورود سلسلة محرفية فرعية 178
توسيع سلسلة محرفية لتحقيق طول ومحاذاة محددين 180
تحويل محارف الجدولة إلى فراغات 182
عكس سلسلة محرفية 184
بعثرة سلسلة محرفية 185
استعمال تشفير بسيط للسلاسل المحرفية 187
تحويل سلسلة محرفية إلى شيفرة مورس 189
إضافة سلاسل محرفية إلى موارد تطبيق 191
تحويل أي بيانات إلى سلسلة محرفية 193
استخدام التعابير النظامية لاستخلاص جميع الأعداد 194
الحصول على إحصاء بعدد مطابقات التعابير النظامية 196
الحصول على التطابق n لتعبير نظامي 197
ترجمة التعابير النظامية سعياً إلى السرعة 198
استعمال التعابير النظامية للتحقق من صلاحية البيانات 201
استخدام التعابير النظامية لإحصاء عدد المحارف والكلمات والأسطر 202
تحويل سلسلة محرفية من وإلى Base64 203
تقسيم سلسلة محرفية 205
إنشاء سلسلتين محرفيتين من محارف فراغ 206
الفصل السادس
الأعداد والحساب 209
مدخل 209
استخدام ترميز معامل مختصر 209
اختيار أعداد صحيحة بأحجام وأنواع مناسبة للمهمة المطلوبة 212
استخدام الأعداد الصحيحة بدون إشارة 215
التبديل بين قيمتي متحولين صحيحين بدون استعمال متحول ثالث 217
استخدام متحولات وحيدة ومضاعفة الدقة 218
استعمال المتحولات العشرية للحصول على أفضل دقة 220
التحويل بين الأنواع العددية 221
تدوير الأعداد بدقة 223
التصريح عن عدادات حلقة ضمن الحلقات 225
التحويل بين الراديان والدرجة 226
تحديد الزوايا ضمن نطاق 228
إنشاء متحولات نقطة مضاعفة الدقة 230
التحويل بين الإحداثيات الديكارتية والقطبية 232
إنشاء متحولات ثلاثية البعد 233
التحويل بين الإحداثيات الديكارتية والكروية والأسطوانية 235
العمل مع الأعداد العقدية 238
حل المثلثات القائمة 242
حل أي مثلث 246
تحديد ما إذا كانت سلسلة محرفية تحوي عدداً صالحاً 253
تحويل الأعداد إلى أعداد صحيحة 255
حساب ? بتقريب لألف خانة عشرية أو أكثر 257
الحصول على العوامل الأولية لعدد 262
استعمال العودية لحساب العوامل الأولية 264
التعامل مع معاملات البت 266
تخزين واستعادة البتات في مصفوفة بت 268
تحسين مولد الأعداد العشوائية 271
توليد أعداد عشوائية صحيحة في نطاق 275
توليد أعداد عشوائية حقيقية في نطاق محدد 277
توليد أعداد عشوائية بتوزيع طبيعي 278
توليد أعداد عشوائية بتوزيع أسي 280
إنشاء مصفوفة 282
قلب المصفوفة 283
حساب محدِّد/معيِّن مصفوفة 284
حل مجموعة معادلات خطية 287
السرد الكامل للوحدة النمطية MatrixHelper 290
الفصل السابع
التاريخ والوقت 299
مدخل 299
الحصول على تاريخ ووقت النظام 299
الوصول إلى المنطقة الزمنية للنظام 301
استخدام دقات النظام 302
مواقتة نشاطات التطبيق 304
حساب الزمن المنصرم باستعمال Ticks 305
حساب الزمن المنصرم باستعمال Stopwatch 307
استخلاص السنة والشهر واليوم من قيمة تاريخ 308
استخلاص الساعة والدقيقة والثانية من قيمة تاريخ 309
إنشاء قيمة تاريخ أو وقت اعتباراً من أجزائها 310
تنسيق التاريخ والوقت 312
تفسير التاريخ والوقت والتأكد من صلاحيتهما 315
إضافة التاريخ والوقت 317
الطرح من تاريخ ووقت 319
تحديد عدد الأيام بين تاريخين 320
تحديد اليوم من الأسبوع لتاريخ معطى 321
تحديد يوم من السنة لتاريخ معطى 323
تحديد عدد الأيام في شهر 323
استعمال عناصر التحكم لإدخال أو تحديد تاريخ 324
حساب المرحلة القمرية 327
إنشاء مفكرة 329
التحقق من كون السنة كبيسة 330
التاريخ والوقت بتنسيقات ISO 8601 332
الفصل الثامن
المصفوفات والمجموعات 335
مدخل 335
ملء مصفوفة أثناء التصريح عنها 335
فرز عناصر المصفوفة 337
عكس مصفوفة 340
إدراج قيمة في مصفوفة 342
بعثرة مصفوفة 344
التبديل بين قيمتي عنصري مصفوفة 346
تعيير أبعاد مصفوفة بدون خسارة القيم الموجودة 348
النسخ السريع لجزء من مصفوفة في مصفوفة أخرى 349
كتابة ملف بقيم تفصلها فواصل من مصفوفة سلاسل محرفية 352
قراءة ملف CSV في مصفوفة سلاسل محرفية 354
استعمال مصفوفة متعددة القيم بدلاً من مصفوفة ثنائية البعد 356
التحويل بين السلاسل المحرفية المفصولة والمصفوفات 357
تنسيق مصفوفة على شكل سلسلة محرفية وحيدة 359
المرور على عناصر مصفوفة 362
تمرير مصفوفات إلى الطرق 363
إعادة مصفوفات من التوابع 365
إنشاء مجموعة 366
إدراج بند في مجموعة 367
حذف بند مجموعة 369
المرور على عناصر مجموعة 370
الفصل التاسع
الرسوميات 373
مدخل 373
إنشاء كائنات رسومية 373
الرسم فوق عناصر التحكم للحصول على آثار خاصة 377
السماح للمستخدم باختيار لون 381
العمل مع نظم الإحداثيات (البكسل والبوصة والسنتيمتر) 383
إنشاء صورة نقطية 388
تعيين لون خلفية 391
رسم خطوط وقطوع ناقصة ومستطيلات 392
رسم خطوط بعرض بكسل واحد بغض النظر عن المقياس 396
إرغام نموذج أو عنصر تحكم على إعادة رسم نفسه 398
استعمال الشفافية 401
تغيير المقياس باستعمال التحويلات 404
استعمال مسار تخطيطي 407
استعمال التدرجات لتحقيق تغييرات لونية ناعمة 410
رسم منحنيات Bezier 412
رسم منحنيات Cardinal 415
تقييد تحديثات العرض بمناطق محددة 417
رسم النص 420
تدوير نص بأي زاوية 424
الحصول على صورة مرآة لنص على اللوحة القماشية 426
الحصول على ارتفاع وعرض سلسلة محرفية رسومية 429
رسم نص مع تخطيطات وظلال ساقطة 432
حساب محور مناسب 434
رسم تخطيط بياني بسيط 437
إنشاء نماذج وعناصر تحكم غريبة الشكل 442
استعمال المخططات اللونية RGB و HSB (HSV) و HSL 444
السماح بالتحديد باستعمال مستطيل إحاطة 448
الحركة مع الشفافية 454
الاستعاضة عن ميزات VB 6.0 المنقرضة 457
الفصل العاشر
الوسائط المتعددة 461
مدخل 461
تشغيل ملف صوتي 461
عرض ملفات الصور 463
تشغيل ملف فيديو 465
اجعل حاسبك يصفر 466
إنشاء حركة باستعمال عدة صور 467
إنشاء حركة بتوليد عدة صور نقطية 470
إنشاء حركة بالرسم في زمن التشغيل 473
إنشاء كائنات Sprite متحركة 475
تغيير حجم ملف JPEG وضغطه 480
الحصول على معلومات JPEG الموسعة 484
إنشاء صور مصغرة 487
عرض الصور مع التحكم بالتوسع والحجم 488
تمرير الصور 493
دمج صورتين أو أكثر 494
استعمال صور مورد 497
التقاط صورة للشاشة 499
الحصول على أبعاد العرض 503
تسريع معالجة الصور 505
تحويل صورة إلى التدرجات الرمادية 509
تحقيق كشف للحواف في صورة 513
السرد الكامل للصنف LockImage 516
الفصل الحادي عشر
الطباعة 523
مدخل 523
تعداد الطابعات 523
إرسال بيانات \\\\\\\”خام\\\\\\\” إلى طابعة 524
الحصول على تفاصيل عن الطابعة الافتراضية 528
إنشاء معاينة طباعة 529
التوجيه لإعدادات صفحة الطباعة 531
رسم نصوص وأشكال على طابعة 533
تحديد وجهة الطباعة 536
إنشاء ورقة تخطيط 538
الفصل الثاني عشر
الملفات ونظم الملفات 543
مدخل 543
تعداد محركات الأقراص 543
تحديد ما إذا كان دليل موجوداً 546
إنشاء دليل جديد 547
نسخ الأدلة 549
نقل الأدلة 551
إعادة تسمية الأدلة 553
تفسير مسارات الملفات والأدلة 554
البحث تكرارياً بين الأدلة والأدلة الفرعية 556
العثور على الأدلة والملفات باستعمال المحارف البديلة 559
تحديد ما إذا كان ملف موجوداً 562
الحصول على سمات الملف وتعيينها 563
الوصول إلى أدلة مستخدم و Windows خاصة 566
تحديد المساحة على محرك قرص 572
استعراض دليل 575
الحصول على معلومات الملف 577
استعمال طرق الوصول إلى الملف 580
قراءة وكتابة الملفات على شكل سلاسل محرفية 585
قراءة وكتابة ملفات ثنائية 587
نسخ أو نقل ملف 588
إرسال ملف إلى سلة المحذوفات 590
إنشاء ملف مؤقت 592
حساب قيمة تدقيق لملف 592
المقارنة بين ملفين للتحقق من تساويهما 596
قفل ملف أثناء الوصول إليه 597
القراءة من ملف بدءاً من موضع محدد 598
قراءة وكتابة الكائنات في الملف 600
إنشاء ملف يحوي قيماً تفصلها فاصلة (CSV) 603
الفصل الثالث عشر
قواعد البيانات 605
مدخل 605
الاتصال مع مزود بيانات 605
إصدار أوامر SQL 609
استرداد نتائج من استعلام قاعدة بيانات 610
استعمال وسطاء SQL 613
استعمال الإجرائيات المخزنة 614
استعمال المناقلات 617
تخزين نتائج استعلام في الذاكرة 619
إنشاء جداول بيانات في الذاكرة يدوياً 623
كتابة جداول بيانات من الذاكرة في ملف XML 625
قراءة ملف XML في جداول بيانات في الذاكرة 626
الفصل الرابع عشر
تقنيات برمجية خاصة 629
مدخل 629
منع عدة مثيلات من تشغيل تطبيق 629
إنشاء عنصر تحكم مستخدم بسيط 632
وصف خصائص عنصر تحكم مستخدم 637
تشغيل تطبيقات أخرى باستعمال EXE أو Document أو URL 639
انتظار تطبيق حتى ينتهي 641
سرد جميع العمليات المشغلة 642
إنهاء عملية مشغلة 644
إيقاف تنفيذ برنامج بشكل مؤقت 646
التحكم بالتطبيقات بمحاكاة ضربات المفاتيح 647
مراقبة تغير ملف ودليل 652
إنشاء أيقونة في شريط النظام 656
الوصول إلى الحافظة 657
إضافة أداة تلميح إلى عنصر تحكم 662
سحب وإفلات ملفات في مربع قائمة 663
السحب والإفلات بين عناصر التحكم ListBox 666
التخلص من الكائنات بشكل مناسب 670
ضبط جمع النفايات 672
تحريك المؤشر (الفأرة) 674
معرفة جميع ضربات المفاتيح على نموذج 675
الوصول إلى المسجِّل 677
تشغيل إجرائيات في مسالك 683
قراءة XML في TreeView 688
إنشاء مستند XML 692
التحقق من صلاحية مستند XML 697
استعمال المجموعات العمومية 699
إنشاء شاشة توقف 701
جعل عناصر التحكم في نموذج محلية 708
إضافة مساعدة منبثقة لعناصر التحكم 712
الحفاظ على الإعدادات الخاصة بالمستخدم بين جلسات استعمال تطبيق 714
التحقق من رقم بطاقة ائتمان 716
التقاط خرج تطبيق سطر أوامر 718
قراءة تفاصيل تجمع 721
إنجاز عمليات دخل/خرج تسلسلية 725
إعادة تشغيل النظام 726
الفصل الخامس عشر
الاستثناءات 731
مدخل 731
التقاط استثناء 731
رفع استثناء 734
التقاط الاستثناءات غير المعالجة 735
عرض معلومات استثناء 738
إنشاء أنواع استثناءات جديدة 739
تجاهل الاستثناءات في كتلة شيفرة 742
الفصل السادس عشر
التعمية والضغط 745
مدخل 745
توليد تجزئة 745
تشفير وفك تشفير سلسلة محرفية 747
تشفير وفك تشفير ملف 752
توجيه مستخدم لإدخال اسم مستخدم وكلمة مرور 756
تداول كلمات المرور بشكل آمن 757
ضغط وفك ضغط سلسلة محرفية 759
ضغط وفك ضغط ملف 762
توليد أعداد عشوائية آمنة من حيث التعمية 765
السرد الكامل للوحدة النمطية Crypto.vb 767
السرد الكامل للوحدة النمطية Compress.vb 772
الفصل السابع عشر
التطوير للويب 775
مدخل 775
عرض صفحات الويب على نموذج 775
الوصول إلى المحتوى ضمن مستند HTML 780
الحصول على جميع الارتباطات من صفحة ويب 781
الحصول على عنوان IP للحاسب المحلي 783
ترجمة اسم مضيف أو عنوان IP لحاسب آخر 785
تنفيذ أمر Ping على عنوان IP 786
استعمال FTP لتحميل الملفات 787
استدعاء خدمة ويب 790
إرسال بريد إلكتروني باستعمال SMTP 793
الحصول على بريد POP3 الإلكتروني 795
إرسال رسالة إلى حاسب آخر 802
إضافة ارتباطات تشعبية إلى نموذج سطح مكتب 804
جدول المحتويات 807

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

شعار وردبرس.كوم

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   /  تغيير )

Google photo

أنت تعلق بإستخدام حساب Google. تسجيل خروج   /  تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   /  تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   /  تغيير )

Connecting to %s