الفهرس

 

·       مقدمة الناشر ...................................

1

·       مقدمة المؤلف ..................................

5

·       منهج الكتاب ...................................

5

 

-1-

من الحصاة إلى فيجيوال بيزيك دوت نت 2008

 

·       من الحصاة إلى الحاسوب ........................

9

-       مراحل تطور الحاسب .......................

10

-       تاريخ تطور الحاسب ........................

12

-       وقفة لا بد منها ...........................

25

·       أنظمة التشغيل. من البطاقات المثقبة إلى الويندوز ...........

26

-       نظام التشغيل OS/360 ......................

27

-       نظام التشغيل يونيكس UNIX ...................

28

-       نظام التشغيل CP/M .......................

28

-       نظام التشغيل دوس DOS .....................

29

-       واجهة الاستخدام المرئية والويندوز Windows ..........

30

·       من لغة الآلة إلى اللغات عالية المستوى ................

31

-       تطور لغات البرمجة ........................

33

·       قصة حياة لغة البيزيك .........................

35

-       ميلاد لغة البيزيك ..........................

35

-       ميكروسوفت تقوم على أكتاف البيزيك ...............

36

-       الجيل الأول البيزيك والدوس DOS ................

37

-       الجيل الثاني البيزيك والويندوز ...................

37

-       الجيل الثالث البيزيك ودوت نت ...................

38

-       وقفة ثانية لا بد منها ........................

39

 

-2-

التفكير البرمجي

 

·       الخوارزمية Algorithm .........................

41

·       مخطط تنفيذ البرنامج Flowchart ....................

42

·       مجرد آلة حاسبة متطورة .........................

42

·       مجالات البرمجة ..............................

43


-3-

إعداد اللغة

 

·       إعداد IIS .................................

47

·       إعداد Visual Studio .NET ......................

48

·       بيئة التطوير المتكاملة IDE ........................

53

·       بدء مشروعٍ جديد .............................

54

 

- 4 -

المتغيرات Variables والثوابت Constants

 

·       المتغيّرات Variables .........................

59

-       تعريف المتغيرات Declaring Variables ............

60

-       نهاية الأمر في فيجوال بيزيك ...................

61

-       وضع التعليقات في الكود ......................

62

-       حالة الأحرف ...........................

62

-       لماذا نعرّف المتغيّر؟ ........................

63

-       الشروط الواجب توافرها عند تعريف المتغيرات ..........

69

-       التعامل مع قيم المتغيرات ......................

70

-        أنواع المتغيرات Types of Variables .............

70

-        الاختصارات المحدّدة للأنواع Data Type Identifiers .....

71

-       التحويل بين أنواع المتغيّرات Converting Variable Types ..

72

-       التحويل التلقائي Explicit Conversion .............

73

·       الثوابت Constants ..........................

76

·       المُرقَّمَات Enumerators ......................

78

 

-5-

التعامل مع الأرقام

 

·       أنواع المتغيّرات الرقميّة ........................

81

·       العمليّات على الأرقام .........................

82

·       ترتيب تنفيذ العمليات الحسابية ....................

83

·       زيادة قيمة متغير رقمي ........................

84

·       تجاوز قيمة المتغير الرقمي Overflow ...............

86

·       تصحيح البرنامج Debugging ....................

88

·       اختبار دقة الأعداد العشريّة ......................

90

·       المتغيرات العشريّة Decimal Data Type .............

91

·       القيم الشاذّة ..............................

92

-       ما لا نهاية Infinity .......................

92

-       ليس رقما NaN .........................

94

·       بعض دوال التعامل مع الأرقام .....................

95

-       دالة العدد الصحيح Fix ......................

95

-       دالة العدد الصحيح Int ......................

96

-       دالة الرقم العشوائي Rnd .....................

96

-       دالة التجزئة Partition ......................

98

-       تنسيق عدد FormatNumber ..................

99

-       تنسيق نسبة مئويّة FormatPercent ...............

100

-       تنسيق عملة FormatCurrency .................

100

-       تنسيق Format .........................

100

-       الدوال الإحصائية في فيجيوال بيزيك ...............

103

 

-6-

نظام العدّ الثنائي والعمليات المنطقية

 

·       النظام الثنائي والحاسب ........................

105

·       أنظمة العد ...............................

106

·       أقصى عدد عشري يقبله عدد من الخانات في النظام الثنائي ......

109

·       الوحدة الثنائية Byte .........................

109

·       الإزاحة إلى اليمين واليسار ......................

110

·       الأعداد الموجبة والأعداد السالبة ...................

112

·       العمليّات الحسابيّة ...........................

112

·       المتغيرات المنطقية Boolean Variables ..............

113

·       العمليّات المنطقيّة ...........................

116

-       المعامل "ليس" NOT .......................

116

-       المعامل "و" AND ........................

118

-       المعامل "أو" OR .........................

120

-       المعامل "أو المقصورة" XOR ..................

124

·       إجراء عملية الجمع باستخدام العمليات المنطقية ............

126

·       المؤشّرات Flags والأقنعة Masks .................

129

-       تكوين قناع And .........................

130

-       تكوين قناع Or ..........................

132

-       تكوين قناع XOR ........................

133

-       المرقّمات Enums كمؤشّرات Flags ...............

134

·       أنظمة عد أخرى ...........................

135

-7-

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

 

·       تعريف واستخدام متغير الوقت والتاريخ ................

139

·       دوال التعامل مع التواريخ .......................

140

-       الآن Now ............................

140

-       الوقت الحالي TimeOfDay ...................

140

-       نَصّ الوقت الحالي TimeString .................

141

-       اليوم الحالي Today .......................

141

-       نَصّ التاريخ الحالي DateString .................

142

-       الميقاتي Timer .........................

142

-       تكوين التاريخ DateSerial ....................

142

-       تكوين الوقت TimeSerial ....................

143

-       قيمة الوقت TimeValue ....................

144

-       الثانية Second ..........................

144

-       الدقيقة Minute .........................

144

-       الساعة Hour ..........................

144

-       قيمة التاريخ DateValue ....................

145

-       اليوم Day ............................

145

-       يوم الأسبوع Weekday .....................

145

-       الشهر Month ..........................

145

-       السنة Year ...........................

145

-       اسم يوم الأسبوع WeekdayName ...............

146

-       اسم الشهر MonthName ....................

146

-       إضافة تاريخ DateAdd .....................

146

-       الفرق بين تاريخين DateDIff() .................

147

-       جزء من التاريخ DatePart ...................

148

-       تنسيق التاريخ FormatDateTime ...............

148

-       تنسيق Format .........................

149

 

-8-

جمل الشرط

 

·       جملة الشرط If…Then .......................

155

-       جملة الشرط If…Then…Else .................

157

-       كيف تعمل جملة الشرط ......................

159

-       اختصار الشرط Short-Circuiting ...............

161

·       جملة اختيار الحالة Select Case ..................

163

·       دالة الاختيار IIf ...........................

168

·       دالة الاختيار Choose ........................

169

·       الانتقال الحرّ عن طريق GoTo ....................

196

 

-9-

جمل التكرار Loops

 

·       جملة التكرار "من إلى" For…Next .................

173

-       فهم كيفية عمل جملة For ....................

174

-       التكرار المعكوس .........................

176

-       إنهاء التكرار بجملة Exit For ..................

176

-       إنهاء اللفة الحالية .........................

176

-       معاملات جملة For .......................

177

·       جملة الدوران Do…Loop .....................

179

-       صيغة الدوران اللانهائيّة .....................

179

-       صيغة "نفّذ بينما" Do While ...................

180

-       صيغة "نفّذ حتّى" Do Until ...................

181

-       إنهاء اللفة الحالية .........................

182

·       جملة التكرار "بينما"  While.....................

183

·       الجمل المتداخلة ............................

183

 

-12-

المصفوفات Arrays

 

·       ما هي المصفوفة؟ ...........................

187

·       كيف نعرّف المصفوفة؟ ........................

188

·       حجز عدد خانات المصفوفة ......................

188

·       كيف نتعامل مع المصفوفة؟ ......................

189

·       تجاوز عدد خانات المصفوفة .....................

190

·       وضع القيم الابتدائيّة للمصفوفات Initializing Arrays ......

191

·       المصفوفة والجمل التكرارية Loops .................

192

-       جملة التكرار "لكلّ عنصر في" For Each… In .........

194

·       نسخ المصفوفات ...........................

195

·       حدود المصفوفة Array Limits ..................

197

·       المصفوفات المرنة Dynamic Arrays ..............

198

-       الاحتفاظ ببيانات المصفوفة عند تغيير حجمها ...........

200

-       محو المصفوفة ..........................

204

·       البحث في المصفوفة .........................

205

·       عكس خانات المصفوفة ........................

207

·       أصغر وأكبر قيمة في المصفوفة ....................

209

·       ترتيب المصفوفة ...........................

210

-       الترتيب بالاختيار Selection Sort ................

212

·       المصفوفة متعدّدة الأبعاد Multidimensional Array .......

214

-       وضع القيم الابتدائية في المصفوفات متعدّدة البعد .........

215

-       المرور عبر خانات مصفوفة متعددة الأبعاد ............

216

-       تغيير عدد خانات المصفوفة متعددة الأبعاد .............

219

·       مصفوفة المصفوفات Arrays of Arrays .............

221

-       مصفوفة المصفوفات متعددة الأبعاد ................

223

 

-11-

التعامل مع الحروف والنصوص

 

·       ترميز ASCII …...........................

225

·       الحروف Characters ........................

228

·       النصوص Strings ..........................

229

·       النصوص والحروف ..........................

231

·       النصوص والأرقام ...........................

232

·       تشبيك النصوص Concatenation .................

233

·       هل النصوص مرنة حقا؟ .......................

235

·       مقارنة النصوص ...........................

237

·       دوال التعامل مع النصوص ......................

241

-       قيمة النص Val .........................

241

-       هل هو رقم IsNumeric .....................

241

-       النص Str ............................

242

-       طول النص Len .........................

242

-       التحويل إلى حروف صغيرة LCase ...............

243

-       التحويل إلى حروف كبيرة UCase ................

243

-       عكس النص StrReverse ....................

243

-       مقارنة نصين StrComp .....................

243

-       تهذيب أيسر LTrim .......................

244

-       تهذيب أيمن RTrim .......................

244

-       تهذيب كامل Trim ........................

244

-       محاذاة يسرى LSet .......................

244

-       محاذاة يمنى RSet ........................

245

-       مسافة Space ..........................

245

-       تكرار النص StrDup ......................

245

-       يسار النص Left .........................

245

-       يمين النص Right ........................

246

-       منتصف النص Mid .......................

246

-       البحث في النص InStr ......................

248

-       البحث العكسي في النص InStrRev ...............

253

-       ترشيح النص Filter .......................

253

-       استبدال Replace ........................

255

-       ضم النص Join .........................

255

-       تجزئة النص Split ........................

256

-       تحويل النص StrConv .....................

256

 

 

-11-

التعامل مع الكائنات Objects

 

·       تعريف الكائن .............................

259

·       القيمة "لا شيء" Nothing ......................

260

·       إنشاء نسخة جديدة من الكائن باستخدام الكلمة New ..........

261

·       الأنواع القيمية Value Types والأنواع المرجعية Reference Types ..

262

·       تعريف مصفوفة من الكائنات .....................

264

·       الربط المتأخر Late Binding والربط المتقدم Early Binding ..

264

·       فحص نوع المتغير ..........................

265

-       هل هو رقم IsNumeric .....................

265

-       هل هو تاريخ IsDate ......................

266

-       هل هو لا شيء IsNothing ...................

266

-       هل هو عدم IsDBNull .....................

267

-       هل هو مرجع IsReference ...................

267

-       هل هو مصفوفة IsArray ....................

267

·       استنتاج نوع المتغير Type Inference ...............

267

 


-13-

كتابة واستخدام الدوال Functions

 

·        لماذا نحتاج إلى الدوال؟ ........................

269

·       تعريف الإجراءات الفرعيّة .......................

270

-       كيف يتمّ استدعاء الإجراء؟ ....................

272

·       تعريف الدوال .............................

273

-       دالة التحقق من صحة المدخلات ..................

275

·       المعاملات Parameters .......................

276

-       بالقيمة ByVal وبالمرجع ByRef ................

277

o     بالقيمة ByVal ........................

277

o     بالمرجع ByRef .......................

278

o     فيمَ يفيدنا تعريف المعاملات بالمرجع؟ .............

280

o     التعبئة Boxing والتفريغ Unboxing ............

281

-       ملاحظات على استدعاء الدوال والإجراءات ............

282

-       المعاملات Parameters .....................

283

-       المعاملات الاختياريّة Optional Arguments ..........

283

-       مصفوفة المعاملات RarmArray ................

284

-       المعامل المصفوفة Array Parameter ..............

286

·       أنواع أخرى للقيم المعادة .......................

287

·       دالة ترتيب الفقاعة Bubble Sort..................

292

·       المتغيرات مستمرة القيمة Static Variables ............

298

·       الدوال والإجراءات عامة النوع Generic Type ...........

300

·       المندوب Delegate .........................

301

-       تعريف المندوب ..........................

302

-       استخدام إجراء كمعامل لإجراء آخر ................

304

-       المندوب عام النوع Generic Type Delegate .........

305

·       استدعاء الإجراء باستخدام متغيّر ...................

307

·       الدوال الفورية Lambda Expressions  ..............

308

·       إجراء بداية البرنامج Program Startup .............

310

 

-14-

الإجراءات الارتدادية Recursive Procedures

 

·       استدعاء الإجراء لنفسه  ........................

315

·       تنفيذ جملة تكراريّة Loop بإجراء ارتداديّ  ..............

317

·       حساب مجموع مصفوفة ارتداديّا  ...................

319

·       دالة المضروب Factorial  ......................

321

·       الترتيب السريع Quick Sort  ....................

322

·       البحث الثنائيّ Binary Search  ...................

334

 

-15-

السجلات Structures

 

·       تعريف السجلات ............................

341

·       السجلات الجزئية Partial Structures ...............

344

·       نسخ سجل إلى آخر ..........................

345

·       اختبار تساوي سجلين ..................

346

·       استبدال المعامل Operator Overriding .............

347

·       مقطع With… End With .....................

350

·       السجلات والمصفوفات .........................

350

·       السجلات ثابتة الطول .........................

352

·       الدوال والسجلات ...........................

354

-       الدوال التي تعيد سجلات .....................

354

-       السجلات كمعاملات للإجراءات والدوال ..............

358

-       الإجراءات كأعضاء للسجلات ...................

359

·       العناصر المشتركة Shared Members ...............

361

·       حدث إنشاء السجلّ  Constructor .................

365

·       السجلات المتداخلة Nested Structures ..............

365

·       الخصائص Properties .......................

367

-       المتغيّرات كخصائص .......................

368

-       تعريف الخصائص ........................

371

-       الخصائص التي يمكن قراءتها فقط Read-Only Properties ..

372

-       الخصائص التي يمكن تغييرها فقط Write-Only Properties ..

373

-       معاملات الخاصية ........................

373

-       مجالات تعريف مختلفة للخاصية .................

374

-       الخاصية الافتراضية Default Property ............

375

-       السجل المصفوفة .........................

376

·       تعريف وإطلاق الأحداث Events ...................

377

-       تعريف الحدث ..........................

378

-       سجل المنبه Clock Structure .................

378

-       الحدث Event والمندوب Delegate ...............

382

-       الأحداث التي تعيد قيمة ......................

383

 

-16-

المجلدات Folders

 

·       جدول أماكن الملفات File Allocation Table (FAT) ......

387

·       التعامل مع المحرّكات Drives والمجلّدات Directories .......

389

-       إنشاء مجلّد MkDir .......................

389

-       حذف مجلّد RmDir .......................

391

-       المجلّد الحاليّ CurDir ......................

393

-       تغيير المجلّد ChDir .......................

393

-       تغيير المحرّك ChDrive ....................

394

-       المجلد الرئيسي "." ........................

394

-       اقرإ السمات GetAttr ......................

395

-       غيّر السمات SetAttr ......................

399

-       محتويات المجلّد Dir .......................

399

·       التعامل مع الملفّات ..........................

403

-       تاريخ الملفّ FileDateTime ..................

403

-       طول الملفّ FileLen ......................

404

-       نسخ ملفّ FileCopy ......................

404

-       إعادة التسمية Rename .....................

405

-       نقل ملف .............................

405

-       حذف الملف Kill ........................

406

·       الحصول على كل ملفات مجلد .....................

406

·       الحصول على كل ملفات مجلد ومجلداته الفرعية ...........

407

-       حساب حجم مجلد .........................

411

-       الدالة العامة ScanDir ......................

412

-       حذف مجلد بكل محتوياته .....................

415

-       نسخ مجلد بكل محتوياته .....................

418

-       نقل مجلد بكل محتوياته من موضع إلى آخر ............

423

·       إنشاء سجل المسار ..........................

428

·       إنشاء سجل المجلد ..........................

432

·       إنشاء سجل المحرّك ..........................

436

·       إنشاء سجلّ الملف ..........................

436

 

 


-17-

الفئات Classes

 

·       ما هي الفئة؟ .............................

439

·       بناء الفئات ..............................

439

·       تعريف عناصر الفئة ..........................

440

·       الفئات الجزئية Partial Classes ..................

444

·       تعدد تعريفات الوسائل Method Overloading ..........

445

-       الشروط التي يجب مراعاتها عند تعدّد التعريفات ..........

447

·       الوسائل الإضافية Extension Methods ..............

448

·       حدث إنشاء الفئة Class Constructor ...............

450

·       تعريف وإطلاق الأحداث في الفئات ...................

451

·       وضع القيم الابتدائية للكائنات Object Initialization .......

458

·       الأنواع المجهولة Anonymous Types ..............

460

·       تنظيم الفئات داخل نطاقات الأسماء Namespaces ..........

461

-       الكلمة "عام" Global .......................

464

·       القوالب Modules ..........................

465

-       ترقية عناصر القالب Module members promotion .....

466

·       مجالات العناصر Members Scobe .................

468

·       مجالات المتغيرات Variables Scobe ................

469

-       متغيرات الحقول Field Variables ...............

469

-       المتغيّرات الموضعيّة Local Variables .............

469

-       المتغيرات المقطعية Block Variables .............

470

-       عمر المتغيّر Variable Lifetime ................

472

·       اختبار أنواع المتغيّرات ........................

474

 

-18-

نماذج الويندوز Windows Forms

 

·       تطبيقك الأول في عالم النوافذ .....................

477

-       في بيئة التطوير IDE ......................

478

-       الفئات في كل مكان ........................

479

-       بعض خصائص مربع النص ...................

481

o     خاصيّة الاسم Name ....................

482

o     الخاصيّة "نص" Text ....................

482

o     خاصية "متعدد الأسطر" MultiLine .............

482

o     خاصية "المنزلقات" ScrollBars ...............

482

-       تجربة البرنامج ..........................

483

-       كتابة بعض الكود .........................

484

·       استخدام فئة المنبه في تطبيقات الويندوز ...............

486

·       عرض رسالة للمستخدم Message Box ...............

488

·       مربع الإدخال InputBox ......................

492

·       استخدام الكائناتObjects  كمعاملات للإجراءات ...........

493

 

-19-

تراكيب البيانات Data Structures

 

·       المجموعات Collections ......................

499

·       القائمة الخطية Linear List ....................

499

-       إجراء الترتيب Sort .......................

503

-       وسيلة الإضافة Add .......................

505

-       وسيلة الإدراج Insert ......................

505

-       إضافة مصفوفة AddArray ...................

510

-       إدراج مصفوفة InsertArray ..................

510

-       موضع العنصر IndexOf ....................

512

-       آخر موضع للعنصر LastIndexOf ...............

513

-       وسيلة البحث في الخانات Find ..................

514

-       وسيلة حذف خانة RemoveAt ..................

514

-       وسيلة حذف نطاق من الخانات RemoveRange .........

515

-       وسيلة حذف عنصر Remove ..................

516

-       وسيلة حذف الكل RemoveAll .................

516

-       وسيلة محو العناصر Clear ...................

517

-       وسيلة التحويل إلى مصفوفة ToArray ..............

517

-       مشروع القائمة ..........................

518

·       المجموعة الجاهزة Collection ...................

519

·       المجموعات عامة النوع Generic Type Collections ......

521

·       المصفوفة المترابطة Linked List .................

525

-       إجراء إضافة عنصر Add ....................

526

-       الفئة والسجل ...........................

527

-       الدالة GetCell ..........................

528

-       خاصية العنصر Item ......................

529

-       إضافة مصفوفة AddArray ...................

531

-       إضافة قائمة مترابطة أخرى AddList ..............

531

-       نسخ قائمة أخرى CopyList ...................

533

-       القائمة الجزئية SubList .....................

533

-       نسخ جزء من القائمة CopySubList ..............

534

-       إجراء إدراج عنصر Insert ...................

534

-       إدراج قائمة مترابطة أخرى InsertList .............

536

-       نسخ قائمة إلى موضع CopyListTo ...............

536

-       إدراج مصفوفة InsertArray ..................

537

-       محو القائمة Clear ........................

537

-       حذف العنصر رقم.. RemoveAt ................

537

-       حذف العنصر الأخير RemoveLastItem ............

538

-       حذف نطاق من الخانات RemoveRange ............

539

-       العنصر الحالي CurItem ....................

540

-       خاصية أول عنصر، وخاصية آخر عنصر ............

542

-       حوّل إلى مصفوفة ToArray ...................

543

-       إزاحة العناصر إلى اليمين ShiftRight .............

544

-       إزاحة العناصر إلى اليسار ShiftLeft ..............

545

-       ترتيب المصفوفة المترابطة ....................

546

-       البحث في القائمة المترابطة ....................

546

-       تعريف بعض المعاملات للقائمة ..................

547

o     المعامل =  ..........................

548

o     المعامل <> .........................

549

o     المعاملات < و > و <= و >= ................

549

o     المعامل Not .........................

549

o     المعامل Like ........................

550

o     المعامل &  ..........................

552

o     المعاملات الحسابية ......................

553

o     تحويل النوع CType ....................

556

o     المعامل And ........................

559

o     معاملي الإزاحة إلى اليمين << واليسار >> ..........

559

o     المعاملان IsTrue و IsFalse ................

560

-       قائمة القوائم ............................

561

·       فئة الطابور Queue Class .....................

561

-       الطابور المبني على القائمة المترابطة ...............

567

-       فيم نستخدم فئة الطابور؟ .....................

569

·       فئة الرصة Stack ..........................

569

-       الرصة المبنية بالقائمة المترابطة ..................

573

-       استخدامات الرصة ........................

576

o     عكس خانات مصفوفة باستخدام الرصة ............

576

o     الرصة والإجراءات الارتدادية ................

576

o     المرور عبر محتويات مجلد باستخدام الرصة .........

576

o     التراجع والإعادة .......................

580

o     إنشاء آلة حاسبة باستخدام الرصة ...............

594

o     التعويض في المعادلات ....................

602

·       فئة الشجرة Tree Class ......................

603

-       ترتيب مصفوفة باستخدام الشجرة .................

608

-       إنشاء آلة حاسبة باستخدام الشجرة .................

611

-       الشجرة متعددة الأفرع .......................

618

-       حفظ تركيب المجلدات في شجرة .................

621

·       مصفوفة الخانات الثنائية BitArray .................

622

 

-20-

الوراثة Inheritance

 

·       إعادة استخدام الكود .........................

627

·       الوراثة Inheritance ........................

628

·       تعدد تعريفات الوسائل Method Overloading ..........

630

·       إخفاء وسائل الفئة الأم Shadows ..................

632

·       استبدال الوسائل Overriding Methods .............

634

-       التحكم في استدعاء الدوال المستبدلة ................

636

-       الاستبدال Overriding وتعدد التعريف Owverloading معا ..

638

-       منع الاستبدال بكلمة NotOverridable .............

638

·       وراثة فئات إطار العمل Framework ................

639

·       منع الوراثة بكلمة NotInheritable ................

641

·       تعدد الأشكال Polymorphism ...................

642

-       فئة الشكلShape  ........................

642

-       فئة المستطيل ...........................

643

-       فئة المربع ............................

644

-       فئة المثلث ............................

647

-       فئة الدائرة ............................

648

-       التحويل من وإلى الفئة الأم ....................

651

·       منشئ الكائن Constructor .....................

653

·       هادم الكائن Destructor ......................

655

·       حتمية الوراثة MustInherit وحتمية الاستبدال  MustOverride.

656

·       مجال الفئة وحماية الأعضاء الخاصة .................

658

 

-21-

السمات Attributes

 

·       استخدام السمات Attributes .....................

661

·       إنشاء السمات الخاصة .........................

661

·       تعريف حقول عامة للسمة .......................

663

·       تحديد العناصر المسموح باستخدام السمة معها .............

663

·       استخدام قيم السمات ..........................

664

 

-22-

الملفات

 

·       أنواع الملفّات .............................

667

·       دوال الكتابة في الملف والقراءة منه .................

668

·       فتح الملفّ في الذاكرة .........................

670

-       دالة فتح الملف ..........................

671

·       إغلاق الملف .............................

673

·       ملفّات الوصول المتتابع Sequential Files .............

674

-       فتح ملف وصول متتابع للكتابة ..................

674

-       الكتابة في ملف وصول متتابع ..................

675

o     طباعة Print وطباعة سطر PrintLine ...........

675

o     كتابة Write وكتابة سطر WriteLine ...........

677

o     الإضافة إلى ملف وصول متتابع ...............

678

-       فتح ملف وصول متتابع للقراءة ..................

680

-       القراءة من ملف وصول متتابع ..................

680

o     إدخال Input ........................

680

o     قراءة سطر LineInput ...................

683

o     قراءة نصّ InputString ..................

684

·       الملفّات الثنائيّة Binary Files ...................

686

-       فتح ملف ثنائي ..........................

686

-       كتابة البيانات في ملف ثنائي ...................

686

-       القراءة من الملف الثنائي .....................

691

-       قراءة وتغيير الموضع الحالي من الملف ..............

693

-       دالة تشبيك النصوص .......................

695

-       ملفات صور BMP .......................

697

·       ملفّات الوصول العشوائيّ Random Files .............

708

-       فتح ملف الوصول العشوائي ...................

709

-       الكتابة في ملفّ الوصول العشوائي ................

710

-       القراءة من ملفّ الوصول العشوائي ................

712

-       برنامج بيانات الطلاب ......................

713

·       مسجل قيم الويندوز Windows Registry .............

717

-       التعامل مع مسجل القيم بدوال فيجيوال بيزيك ...........

717

 

-23-

تطبيقات على الوراثة والملفات

إنشاء فئات الملفات File Classes

 

·       الفئة العامة "مجرى البيانات" Stream ................

721

-       فئة بيانات الذاكرة MemoryStream ..............

723

-       فئة بيانات الملف FileStream ..................

730

·       الفئتين BinaryWrriter و BinaryReader .............

742

·       فئات النصوص  ............................

742

-       الفئة TextWriter ........................

742

-       الفئة StringWriter .......................

749

-       فئة كاتب الملف النصي StreamWriter .............

753

-       فئة قارئ النص TextReader ..................

755

-       فئة قارئ النصوص StringReader ...............

757

-       فئة قارئ الملف النصي StreamReader ............

758

·       فئة سجلات البيانات Record ....................

760

-       فئة سجلات الذاكرة MemoryRecord .............

763

-       فئة سجلات الملف FileRecord .................

767

 

-24-

الواجهات Interfaces

 

·       ما هي الواجهة Interface ......................

773

·       تعريف الواجهة ............................

773

·       تمثيل الواجهات Implementing Interfaces ...........

774

-       تمثيل أكثر من واجهة .......................

776

-       تشابه أسماء عناصر أكثر من واجهة ...............

780

-       إخفاء بعض عناصر الفئة ....................

781

-       وراثة فئة Class ممثلة لواجهةInterface  ............

782

·       الواجهة كامتداد للفئات ........................

783

·       واجهة القابلية للمقارنة IComparable ...............

785

-       ترتيب القائمة المترابطة ......................

788

-       البحث الثنائي في القائمة المترابطة المرتبة ............

790

-       المعامل And في القائمة المترابطة المرتبة ............

791

-       المعامل Or في القائمة المترابطة المرتبة .............

792

-       المعامل  Xor في القائمة المترابطة المرتبة ............

793

 

-25-

تشفير وضغط البيانات

 

·       حماية البيانات الثنائية ........................

795

·       حماية البيانات النصية .........................

798

·       تشفير البيانات Data Encoding ..................

800

-       التشفير بإزاحة ترميز ASCII ..................

800

-       فئة الملف المشفر EncodedFile ................

801

-       التشفير باستخدام جدول التحويل ..................

807

-       تشفير سجل ...........................

811

-       التشفير باستخدام XOR .....................

812

-       حل الشفرة ............................

816

·       ضغط البيانات Data Compression ................

818

-       ضغط الصورة Bitmap .....................

819

-       فئة المخزن المؤقت Buffer ...................

823

-       خوارزميات ضغط الصورة النقطية ................

828

-       تشفير الطول المتكرر Run Length Encoding ........

828

 

-26-

الاستعلام المتكامل مع اللغة

Language-Integrated Query (LINQ)

 

·       SQL و LinQ ...........................

833

·       واجهة العد IEnumerator وواجهة القابلية للعد IEnumerable .

834

·       كتابة الاستعلامات المتكاملة LinQ ..................

836

·       فقرات الاستعلام LinQ Cluases ..................

839

-       فقرة من From Clause .....................

839

-       فقرة التحديد Select Clause ..................

841

-       فقرة "حيث" Where Clause ..................

842

-       تعريف متغير باستخدام الفقرة Let ................

842

-       فقرة "تجاوز"Skip Clause  ...................

843

-       فقرة "تجاوز بينما" Skip while Clause ............

843

-       فقرة "خذ" Take Clause ....................

843

-       فقرة "خذ بينما" Take While Clause .............

843

-       فقرة الترتيب Order By Clause ................

844

-       الفقرة "مستقل" Distinct Clause ................

845

-       تجميع البيانات Joining Data ..................

846

o     فقرة التجميع Group By Clause ..............

849

o     فقرة التجميع Aggregate Clause .............

850

o     إنشاء دوال تجميع خاصة بك ................

853

 

 

-27-

استخدام دوال API

 

·       برمجة الويندوز Windows Programming ...........

857

·       فيجوال بيزيك تدعم API .......................

861

·       أين توجد دوال API؟ ........................

862

·       استدعاء دالة API في فيجيوال بيزيك ................

862

·       منح الدالة اسما مستعارا .......................

864

·       أمثلة على استخدام دوال API ....................

864

-       عرض مربع حوار اختيار مجلد .................

864

-       تغيير شكل النموذج ........................

867

-       إغلاق الجهاز من برنامجك ....................

868

 

 

-28-

أبدع حاسب، وأبدع نظام تشغيل

 

·       الإنسان يطوّر، لكن لا يخلق ......................

875

·       لغة الكيمياء ..............................

878

·       تطبيقات برمجية ونظام تشغيل .....................

880

·       الدقّة حيث لا مجال للعبث ........................

881

·       مصانع عالية التقنية ..........................

882

·       فبأيّ حديث بعده يؤمنون؟ .......................

883

·       وللرياضيات كلمة ...........................

884

·       برنامج لرسم الموناليزا بالصدفة! ....................

887

·       إنتاج البشر ...............................

890

·       البعث والحساب علميا .........................

894

·       لكن. لماذا يكفرون؟ ..........................

895

·       البحث عن الضلال ...........................

900

·       نحن نأكل البشر ............................

902

·       من نحن؟ ................................

904

·       البرامج الحية ..............................

905

 

 

·       المراجع ....................................

909