العودة   منتديات عميد التعريب > >

الملاحظات

فيجوال بيسك Visual Basic.NET ـ كل ما يتعلق بمجال برمجة الفيجوال بيسك



إضافة رد

قديم 2010-10-16, 15:36   رقم المشاركة :1
معلومات العضو
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي بعض المبادئ لنطرق باب الإحتراف, لمن يريد أن يتعلم الدوت نت (8)


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

هناك مشكلة في التعريب: عند محاولتي لتعريب المصطلحات البرمجية ولكني أثرت دائماً على كتابة المصطلح بلغته في جميع هذه الدروس أعذروني على تعريبي لهذه المصطلحات التي يمكن أن تكونوا غير متألفين عليها فأتمنى أن تحفظوها في لغتها على أنه مصطلح غير قابل لتعريب.

أنواع النظام المشتركة - Common Type System (CTS)
تعرف أنواع النظام المشتركة Common Type System (CTS) كيفية التصيريح وأستخدامم وأدارة النوع Type في وقت التشغيل Runtime وهي أيضاً من أهم الأجزاء التي تدعم التوفقية بين تعددية اللغات المستخدمة cross-language integration. ينجز أنواع النظام المشتركة Common Type System (CTS) الوظائف التالية :
• يأسس المكاتب التي تساعد على التوفقية بين تعددية اللغات المستخدمة cross-language integration و أنواع أمنه وتنفيذ عالي الأداء للكود.
• يزود أنواع يمكن إعادة إستخدامها والتطوير عليها (نماذج غرضية التوجه Object-Oriented Model).
• تعريف مجموعة من القواعد التي يجب أن تتبعها جميع اللغات في تعريف الأنواع Types لكي تضمن توافقية في تصدير الكود بين اللغات وتساعد من التأكد من الكائن المنشأ في أحد اللغات يمكن أن يتفاعل مع لغات مختلفة.
لمحة عن أنواع النظام المشتركة - Common Type System (CTS) Overview
يصف هذا القسم المفاهيم لأنواع النظام المشتركة Common Type System (CTS) ويعرّف الشروط التي ستساعدك على فهمها كيفية العمل معها في لغتك:
تصنيف الأنواع - Classification of Types
تدعم أنواع النظام المشتركة Common Type System (CTS) نوعين رئيسيين:
• نوع القيمة Value types
وهو عبارة عن منطقة في الذاكرة تقوم بتخزين مباشر للبيانات, وأي حالة Instances من هذا النوع تخزن مباشرة في مكدس العملية stack أو تخزن مباشرة في التنظيم, أو تأتي معرفة مسبقاً داخل وتنجز أثناء التشغيل وكأمثله عليه : البيانات المعرفة من قبل المستخدم User-Defined Type – التعداد Enumeration
• نوع الإشارة Reference types
وهو عبارة عن منطقة في الذاكرة تقوم بتخزين مؤشر لعناوين للبيانات وجميع هذه الأنواع تخزن في منطقة في الذكرة تابع للبرنامج يطلق عليها اسم الكومه Heap أنواع الإشارة Reference types يمكن أن تكون أنواع وصف ذاتية،أمثله على هذه الأنواعPointer types أو Interface typesالنوع من نوع الإشارة Reference types يمكن أن تحدد من قيم أنواع الوصف الذاتية. الأنواع ذات الوصف الذاتي تنقسم إلى أنواع المصفوفات Array والصفوف Class. إنّ أنواع الصنف Class أصناف معرّفة من قبل المستخدم, الأصناف المعلبة Boxed Value Types والمندوبين Delegates.
المتحولات التي تكون من نوع القيمة Value types كل متحول يملك نسخته الخاصة للبيانات، ولذا العمليات التي نقوم بها على متحول لا تؤثّر على المتحولات الأخرى. نوع المتحولات التي تكون من نوع الإشارة Reference types يمكن أن تشير إلى نفس الكائن Object ،لذلك العمليات التي نقوم بها على متحول سوف تؤثّر على نفس الكائن Object المشار إليه لذلك حميع المتحولات التي تشير على نفس الكائن يمكنها أن ترى التغير الذي حدث علية.
تشتقّ كل الأنواع من System.Object الأساسي.
سنرى في المثال التالي الإختلاف بين أنواع الإشارة وأنواع القيمة


كود:
 
Imports System
Class Class1
Public Value As Integer = 0
End Class 'Class1
Class Test
Shared Sub Main()
Dim val1 As Integer = 0
Dim val2 As Integer = val1
val2 = 123
Dim ref1 As New Class1()
Dim ref2 As Class1 = ref1
ref2.Value = 123
Console.WriteLine("Values: {0}, {1}", val1, val2)
Console.WriteLine("Refs: {0}, {1}", ref1.Value, ref2.Value)
End Sub 'Main
End Class 'Test
كود:
 
using System;
class Class1
{
public int Value = 0;
}
class Test
{
static void Main() {
int val1 = 0;
int val2 = val1;
val2 = 123;
Class1 ref1 = new Class1();
Class1 ref2 = ref1;
ref2.Value = 123;
Console.WriteLine("Values: {0}, {1}", val1, val2);
Console.WriteLine("Refs: {0}, {1}", ref1.Value, ref2.Value);
}
}
كود:
 
Values: 0, 123
Refs: 123, 123
وكل نوع من هذه الأنواع مقسم إلى مجموعة من الأقسام.
يبين المخطط التالي العلاقة بين الأنواع المختلفة. ملاحظة تلك الحالات Instances من الأنواع يمكن أن تكون نوع القيمة Value typesأو أنواع وصف ذاتية، بالرغم من أنّ هناك أصناف مشتقة من هذه الأنواع.




القيم والكائنات Values and Objects
القيم تمثيل ثنائي من البيانات، والأنواع تزوّد طرق لترجمة هذه البيانات. ونوع القيمة Value typesمخزنه مباشرة كتمثيل ثنائي البيانات. إنّ نوع الإشارة Reference types مؤشر لموقع سلسلة من القطع التي تمثّل البيانات.
كلّ قيمة لها نوع مضبوط الذي يعرّف تمثيل القيمة بالكامل والعمليات المعرّفة على القيمة. قيم أنواع الوصف الذاتية تدعو الكائنات Object. بينما هو محتمل دائما لتقرير النوع المضبوط لجسم بفحص قيمته، أنت لا تستطيع عمل ذلك مع نوع قيمة أو نوع مؤشر .قيمة يمكن أن تأخذ أكثر من نوع واحد. الأنواع التي تطبّق وصلةInterface أيضا هي قيمة من نوع الوصلة الذي طبقته. على نفس النمط :الأنواع التي تشتقّ من نوع أساسي Base Typeأيضا هي قيمة من نوع ذلك الصنف الأساسي الذي أشتقت منه.
كود:
 
Class Class1 
Implements MyInterface
{
……
}

Dim obj As Class1 = new Class1();
Dim obj As MyInterface = new Class1();

الأنواع والتجمعات Types and Assemblies
يستخدم وقت التشغيل Runtime التجمعات لتحديد أماكن الأنواع ليقوم بتحميلها. تحتوي قائمة شحن الجمعية Assembly Manifest المعلومات التي يستخدم وقت التشغيل Runtimeليقوم بحل كلّ إشارات النوع التي جعلت ضمن مجال التجمع.
ينقسم اسم النوع في وقت التشغيل Runtime إلى قسمين منطقيّان: اسم التجمع واسم النوع ضمن التجمع. النوعان اللذان يملكان نفس الاسم ولكن في تجمعات المختلفة يعرفوا كنوعان مختلفين.
تزوّد التجمعيات إتساقا بين مجال الأسماء التي يراها المطوّر ومجال الأسماء من منظور المكاتب المستخدمه لتطوير. مثال نستطيع أن نقوم بإنشاء نوع مطلقين عليه اسم موجود مسبقاً ولكن في تجمع آخر
الأنواع وفضاء العناوين Types and Namespace
من جهة نظر وقت التشغيل Runtime فضاء العناوين Namespace ليس إلا مكان لتخزين أسماء الأنواع يمكن لإحد اللغات أن تقوم بعملية تسهيل للمبرمجين بأن يتم حذف اسم النوع الكامل ولكن كما قلنا مسبقأ فهذا لتسهيل فقط يعني عندما تقوم بإحدى اللغات بكتابة String حصراً سو ف يراه وقت التشغيل Runtime بالاسم الكامل System.String

تعريف الأنواع Type Definitions
نحن نقوم بتعريف أنواعنا عن طريق الأنواع المبني داخلأ Built-in value types مثل Int – Boolean … أو المؤشرات Pointers أو المصفوفات Arrays أو المندوبين Delegates. ويمكن لهذه الأنواع أن تتراكب ضمن بعضها البعض.


يتضمن تعريف الأنواع:
• الصفات Attributes التي تعرف على النواع.
• مدى رؤية النوع (مجال الرؤيه) Type Accessibility.
• أسم النوع.
• النوع الأساسي للنوع Base Type.
• الوجهات interfaces التي يرثها النوع.
• التعاريف لكلّ من أعضاء النوع Members.
الصفات Attributes
تزيد خصائص إذافية من قبل المبرمج: وتطبق على أغلب عناصر اللغة مثل الأنواع Types , الخصائص Properties، والمناهج Methods ... إلخ
مجال الرؤيا Type Accessibility
كلّ الأنواع لها معدّل وصول الذي يحكم وصول الأنواع الأخرى إليها. يصف الجدول التالي طرق الوصول Accessibilities المدعومه من قبل وقت التشغيل RunTime.



الوصول إلى الأنواع المتراكبه ضمن النواع مرتبط إلى نوع مجال رؤيته ومحال رؤية مكان تواجد النوع على ذلك نبين أنه لا يمكن لأي عضو تجاوز رؤية المجال المصرح بداخله
لتوضيح ذلك نفترض لدينا عضو ما نطلق عليه اسم X في صنف قمنا بإنشائه مطلقين عليه اسم MyClass في احد البرامج ونطبق عليه مجالات الرؤيا Type Accessibility :
كود:
 
Accessibility Class MyClass
Accessibility X :: Integer
End Class
• إذا قمنا بتعريف الصنف MyClass Class بـ Private سوف يكون مجال رؤية العضو X Members ضمن هذا النوع فقط
• إذا قمنا بتعريف الصنف MyClass Class بـ Internal C#– Friend VB سوف يكون مجال رؤية العضو X Members ضمن هذا التجمع Assemblies ومرتبط برؤية مجال النوع التي سوف نأتي على ذكرها بعد قليل.
• إذا قمنا بتعريف الصنف MyClass Class بـ Internal C#– Friend VB أوPublic سوف يكون مجال رؤية العضو X Members مرتبط على حسب تعريفه:
 إذا قمنا بتعريف مجال رؤية العضو X Members بـ Private لن نستطيع رؤية هذا العضو Members من خارج الصنف MyClass Class .
 إذا قمنا بتعريف مجال رؤية العضو X Members بـ Public نستطيع رؤية هذا العضو Members من خارج الصنف MyClass Class .
 إذا قمنا بتعريف مجال رؤية العضو X Members بـ Internal C#– Friend VB نستطيع رؤية هذا العضو Members من خارج الصنف MyClass Class ولكن ضمن هذا التجمع Assemblies.
 إذا قمنا بتعريف مجال رؤية العضو X Members بـ Protected لن نستطيع رؤية هذا العضو Members من خارج الصنف MyClass Class إلا إذا قمنا بوراثة هذا الصنف أي من ضمن الأصناف المشتقة derived .
 إذا قمنا بتعريف مجال رؤية العضو X Members بـ Protected Internal C#– Protected Friend VB نستطيع رؤية هذا العضو Members من خارج الصنف MyClass Class ولكن ضمن هذا التجمع Assemblies و من ضمن الأصناف المشتقة derived .

أسم النوع Type Names
يفرض نواع النظام المشتركة Common Type System (CTS) قيدين فقط على الأسماء:
1. كلّ الأسماء مشفّرة كنصوص نظام الحروف الدولي الموحد (16 بت) Unicode (16-bit) characters .
2. لاي يسمح للأسماء أن تتضمن قيمة 0x0000 .
كلّ المقارنات تعمل على قاعدة بايت بايت byte-by-byte ، وهو حساس لحالت الحروفحcase-sensitive ومكان التعريف.
بما أننا نستطيع الوصول إلى الأنواع من قبل تجمعات Assemblies آخرى، لذلك يجب على الأسم أن يحمل أسم فريد ضمن فضاء الأسماء Namespace المعرف بداخلة لأن نواع النظام المشتركة Common Type System (CTS) يتبع نظام الأسم بالكامل ليتم التعرف على النوع كما ذكرنا مسبقاً كمثال على ذلكً System.IO.File .
الأنواع الأساسية والواجهات Base Types and Interfaces
يمكن للأنواع أن ترث القيم والسلوك من نوع آخر. نواع النظام المشتركة Common Type System (CTS) لا يسمح للأنواع أن ترث من أكثر من نوع أساسي واحد.
يمكن للأنواع أن تقوم بتطبّق أيّ عدد من الواجهات. لتطبيق واجهه Interfaces ويجب تطبيق جيمع الأعضاء الإفتراضية Virtual Method ضمن النوع المعرفه من قبل الواجهه Interfaces.
نوع الأعضاء Type Members
إنّ السلوك وحالة النوع معرّف من قبل أعضاء النوع من : الأحداث Events و الحقول Fields و الأنواع المتراكبه Nested Types و الطرق Methods والخصائص Properties.

موعدنا إن شاء الله في الدروس القادمة أتمنى لكم التوفيق






وليد السند غير متواجد حالياً   رد مع اقتباس


قديم 2010-10-16, 18:32   رقم المشاركة :2
معلومات العضو
saidasd
عميد
إحصائية العضو





مستوى التقييم: 5
saidasd is on a distinguished road
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي



السلام عليكم ورحمة الله وبركاته


saidasd غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-16, 19:26   رقم المشاركة :3
معلومات العضو
أسيرالشوق
الإدارة
 
الصورة الرمزية أسيرالشوق
إحصائية العضو





مستوى التقييم: 10
أسيرالشوق is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي




أسيرالشوق غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-17, 07:41   رقم المشاركة :4
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


اقتباس : المشاركة الأصلية كتبت بواسطة banibrahim اقرأ: [ مشاهدة المشاركة ]
السلام عليكم ورحمة الله وبركاته



بارك الله فيك اخوي الغالي ,, الف شكر على مرورك الرائع,, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-17, 07:42   رقم المشاركة :5
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


اقتباس : المشاركة الأصلية كتبت بواسطة أسيرالشوق اقرأ: [ مشاهدة المشاركة ]

بارك الله فيك اخوي الغالي ,, الف شكر على مرورك الرائع,, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-17, 13:35   رقم المشاركة :6
معلومات العضو
عوض الغامدي
دائما معكم
 
الصورة الرمزية عوض الغامدي
إحصائية العضو





مستوى التقييم: 10
عوض الغامدي is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


عاجز عن شكرك على موضوعك الرائع .... بارك الله فيك و أحسن الله إليك

مشكوووووور والله يعطيك الف عافيه


عوض الغامدي غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-18, 20:01   رقم المشاركة :7
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


بارك الله فيك اخوي الغالي ,, الف شكر على مرورك الرائع,, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس

قديم 2010-11-08, 01:38   رقم المشاركة :8
معلومات العضو
ali harbi
الإدارة
 
الصورة الرمزية ali harbi
إحصائية العضو





مستوى التقييم: 10
ali harbi is on a distinguished road

مشاهدة أوسمتي

إرسال رسالة عبر MSN إلى ali harbi
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


مشكور الله يعطيك العافيه
بارك الله فيك على الطرح الرائع والمتميز


ali harbi غير متواجد حالياً   رد مع اقتباس

قديم 2010-11-08, 19:36   رقم المشاركة :9
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي



بارك الله فيك اخوي الغالي ,, الف شكر على مرورك الرائع,, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع إبحث في الموضوع
إبحث في الموضوع:

البحث المتقدم
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML متاحة

الانتقال السريع


الساعة الآن 12:39

جميع المشاركات المكتوبة تعبّر عن وجهة نظر صاحبها .. ولا تعبر عن وجهة نظر إدارة المنتدى بأي شكل من الأشكال



ساهم معنا
تبرع لتساعد على الاستمرار ومواصلة تعريب البرامج للعالم العربي.
ساهم في صمود وبقاء ونشر اللغة العربية في العالم من أجل الأجيال القادمة.
تودع مبالغ التبرعات في احد الحسابات التالية
اسم البنك
رقم الحساب
بنك الراجحي _ من خارج السعودية
IBAN - SA2880000141608010128882
بنك الراجحى _ من داخل السعودية 141608010128882



Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
جميع الحقوق محفوظة لموقع منتديات عميد التعريب 2010 - 2017 ©