الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لمبرمجي vb6 تحولوا إلى الدوت نت

مغلق
بدأه programmer4fun في 10 أكتوبر 2006 · 15 رد · 2,529 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لعل الكثير من مبرمجي vb6 سمعوا عن الدوت نت و من لم يسمع فإليك مميزات هذه التقنية الجديدة

يحتوي إطار العمل .net framework على العديد من class التي تساعد المبرمج

وهو نظام معقد و بحر ليس له بداية أو نهاية .

يمكن برمجة الدوت نت بالعديد من اللغات مثل vb.net و delphi .net و c sharp و iron pyton …

اللغات لها نفس القوة فمعايير clr تنطبق على جميع لغات الدوت نت

لأن الكل يترجم إلى msil

تمنحك الدوت نت إستقلالية عن منصات العمل فبإمكانك كتابة برامج ويندوز . برامج pocket pc .خدمات ويندوز . خدمات ويب . مواقع asp.net إلخ ...

كما أن الدوت نت يدعم العربية أحسن من vb6

هذا إضافة إلى الترجمة jit و دعم الدوت نت لمختلف التقنيات المعاصرة

هذا إضافة لعملية compile الأوتوماتيكية حيث يعرض لك vb.net رسائل الخطأ عند كتابة الكود -_-

عموما عليك الإنتقال إلى الدوت نت لأن win32 على حافة الإنقراض .

ستقول لماذا ؟ win32 لن تدعمه معالجات 64bit الجديدة و أظن أن windows vista هو أخر نظام مايكروسوفت يدعم win32

أما عن توقف دعم مايكروسوفت ل vb6 فهذه مشكلة أخرى

هذه مقدمة في عجالة لإستعراض كيفية الإنتقال من vb6 إلى vb.net

- الإختلافات بين vb و vb.net

أول شيء يجب أن تعرفه هو أن vb.net لغة قوية جدا أي أنها تدعم كل مميزات oop و هي مبنية بالكامل عليها لذا إنسى تسلط مبرمجي c++ و سخريتهم من مبرمجي vb

سأعرض بعض أمثلة الأكواد المتبدلة بين vb6 و vb.net إلا أنك يجب أن لا تتوقع مني أن أعرض لك كل التغيرات لأن هذا يحتاج إلى كتاب كامل

أولا لاحظ الكود التالي

Dim str As String
str = "Ma chaine de caracteres"
str = UCase(str)
MsgBox str

الكود ب vb6 لاحظ شبيهه بالدوت نت

Dim str As String
str = "Ma chaine de caracteres"
str = str.ToUpper()
MessageBox.Show(str)

لاحظ أنك عندما تكتب str. تظهر لك قائمة intelissence مما يغنيك عن دراسة كافة طرق الفئة string

str_mTTember.png

المثال الثاني .: الدوال

لاحظ الكود ب vb6

Private Function x(str As String) As String
  MaFonction = LCase(str)
End Sub

لقد ظهرت كلمة محجوزة جديدة هي return

ترجع هذه الكلمة القيم المحصل عليها بالدالة

لاحظ الكود

Private Function x(ByVal str As String) As String
  Return str.ToLower()
End Function

ملحوظة : برامترات الدلة في vb6 كانت ترسل بالمرجع أما في الدوت نت فهي ترسل بالقيمة

يمكنك إرسالها بالمرجع عبر الكلمة المحجوزة byref

لاحظ الإختلافات عن vb6 في الكود الأولي

لاحظ الكود الأولي ب vb.net

Public Class Form1
Inherits System.Windows.Forms.Form
Public Sub New()
  MyBase()
  InitializeComponent()
  End Sub

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  If disposing Then
	If Not (components Is Nothing) Then
	  components.Dispose()
	End If
  End If
  MyBase.Dispose(disposing)
End Sub

Private components As System.ComponentModel.IContainer<System.Diagnostics.DebuggerStepThrough()> Private
Sub InitializeComponent()
  Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
  Me.ClientSize = New System.Drawing.Size(292, 266)
  Me.Name = "Form1"
  Me.Text = "Form1"
End Sub

End Class

بينما في vb6

Option Explicit

أكبر الإختلافات هي في oop

لاحظ الكود التالي ب vb6

Option Explicit

Public tata As String
Private m_toto As Integer

إستعمال الخصائص'
Friend Property Let toto(ByVal vData As Integer)
  m_toto = vData
End Property

Friend Property Get toto() As Integer
  toto = m_toto
End Property
إستعمال الدوال '
Public Function maFonction() As String
  Dim str As String
  ...
  maFonction = str
End Function

إستعمال الإجرائات ' 
Public Sub MaSub()
  ...
End Sub

لا حظ الكود بالدوت نت

الوراثة'
Inherits classbase

  Public tata As String
  Private m_toto As Integer مشيد'
  Public Sub New()
   ' ...
  End Sub
 مهدم'
  Public Sub Finalize()
   ' ...
  End Sub
إستعمال الخصائص'
  Friend Property toto As Integer
	Get
	  Return m_toto
	End Get
	Set(ByVal vData As Integer)
	  m_toto = vData
	End Set
  End Property

إستعمال الدوال '
  Public Function maFonction() As String
	Dim str As String
	'...
	Return str
  End Function

إستعمال الإجرائات ' 
  Public Sub MaSub()
	'...
  End Sub
End Class

كما تلا حظ vb.net لغة قوية في oop وليست ك vb6

يوجد إختلاف أخر عن vb6 حيث يبدأ ترقيم في الجداول ب 0 سواء أردت أم كرهت حيث لم يعد بإمكانك تحديد البداية

هذه هي إختلافات هذا اليوم و سأعرض إختلافات أخرى إن شاء الله في وقت لاحق

أنتظر ردودكم

;)

تم تعديل هذه المشاركة بواسطة programmer4fun في 10 أكتوبر 2006 في 23:48

#2

شكراً لك على المقالة... لكن هل هذه المقالة منقولة أو مترجمة؟؟ إن كانت فأرجو ذكر المصدر... و شكراً..

تم تعديل هذه المشاركة بواسطة محمد عبد العليم في 10 أكتوبر 2006 في 23:29

رأس الحكمة الإيمان بالله

#3

أشكرك جزيل الشكر

اعتقد انه لا يوجد احد يعارضك الرأي من ناحية الانتقال من vb6 الى دوت نت.

انا أستخدم vb6 وانتظر اللحظة التي سأستغني عنها وأبدأ باستخدام الدوت نت.

إن معرفتي بـ vb6 متوسطة أي انني لم أصل الى مستوى متقدم جداً. هل تنصحني بتركها مباشرة أم انتظر حتى اتقدم بـ vb6 ؟؟؟

عندي بعض الأسئلة وأرجو ان تفيدني لأنني جديد على بيئة دوت نت ولا أعرف عنها الكثير وأريد ان اتعرف عليها:

ما هو framework؟؟ (اسمع به كثيرا ولكنني لا اعرف ما هو!!)

ما المقصود بمعايير clr؟؟

ما هو msil؟؟ (انا أعرف ان البرامج تترجم الى لغة الأسمبلي او لغة الآلة!!)

ما المقصود بالترجمة jit؟؟

ما هي الأمور المشتركة بين اللغات التي تقع تحت فيجوال ستديو دوت نت؟؟؟ هل اشتراكها بعبارة "دوت نت" يجعلها مشتركة في أمور محددة؟؟

هل يمكن القول بأن احتراف الدوت نت هو آخر ما يطمح إليه المبرمج؟؟؟

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

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

#4

أخ محمد عبد الحليم المقالة من صياغتي الخاصة إلا أني إعتمدت على كتاب قرنسي في إنشائها و سأستمر إن شاء الله فيها حتى تصبح نعم الزاد للمنتقل من vb إلى vb.net

اقتباس
أشكرك جزيل الشكر

اعتقد انه لا يوجد احد يعارضك الرأي من ناحية الانتقال من vb6 الى دوت نت.

انا أستخدم vb6 وانتظر اللحظة التي سأستغني عنها وأبدأ باستخدام الدوت نت.

إن معرفتي بـ vb6 متوسطة أي انني لم أصل الى مستوى متقدم جداً. هل تنصحني بتركها مباشرة أم انتظر حتى اتقدم بـ vb6 ؟؟؟

عندي بعض الأسئلة وأرجو ان تفيدني لأنني جديد على بيئة دوت نت ولا أعرف عنها الكثير وأريد ان اتعرف عليها:

ما هو framework؟؟ (اسمع به كثيرا ولكنني لا اعرف ما هو!!)

ما المقصود بمعايير clr؟؟

ما هو msil؟؟ (انا أعرف ان البرامج تترجم الى لغة الأسمبلي او لغة الآلة!!)

ما المقصود بالترجمة jit؟؟

ما هي الأمور المشتركة بين اللغات التي تقع تحت فيجوال ستديو دوت نت؟؟؟ هل اشتراكها بعبارة "دوت نت" يجعلها مشتركة في أمور محددة؟؟

هل يمكن القول بأن احتراف الدوت نت هو آخر ما يطمح إليه المبرمج؟؟؟

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

لا أريد ان تعطيني صفحات ومجلدات عن أسئلتي، ولكن أريد جواب مختصر جداً، يعني لو اعطيتني سطر او سطرين او ثلاثة على كل سؤال بتكون قمت بالمطلوب وجزاك الله خيراً

أخ abc_amjad لا أنصحك بالتقدم في vb لأن ذلك بدون فائدة

أما عن أسئلتك فهي تحتاج إلى كتاب كامل :wacko:

و لكنني سأقوم بعرض إجابات صغيرة فقط

.net framework إطار عمل معقد يضمن التوسعية لعدة لغات و يحتوي على العديد من القئات التي تساعد المبرمج

معايير clr هي معايير موحدة تلتزم بها لغات .net framework

msil هي لغة مايكروسوفت الوسيطة

الترجمة jit هي just in time compiling و تعطي العديد من المميزات للترجمة على .net framework

لغات الدوت نت تشترك في القوة (بعض التغييرات الطفيفة لا تضر ) و لكنها تختلف في SYNTAX فقط

حاليا الإحتراف في الدوت نت أخر ما أطمح إليه

هذا إن لم تظهر تقنيا جديدة أتبعها :wacko:

#5

أشكرك جزيل الشكر على ما قمت به. مع أنني لم احصل على ما أريد.

كلامك جعلني أهتم كثيرا بـ framework .net لذلك ما هي الخطوة الأولى لأتعرف عليه؟؟

كما أنني أريد أن أبدأ في فيجوال بيسك دوت نت،

اعتقد انه عندي visual basic 2005 express ، هل هذا هو المطلوب؟؟

يوجد عندي كتب الكترونية عن الفيجوال بيسك دوت نت، ولكن أريد أن تخبرني (حسب خبرتك) بالكتاب الأفضل لصعود الدرجة الأولى من السلم. ولك جزيل الشكر.

بصراحة أنا غير مقتنع بما قلته بأن الاختلاف في syntax، فهذا كلام غير منطقي، فمن غير المعقول ان يقوموا بإيجاد عائلة من لغات البرمجة الاختلاف بينها في syntax !!!

لو قلت لي أنها مكملة لبعضها لاقتنعت.

#6

يوجد 3 كتب باللغة العربية أنصحك بإثنان منهما :

إحتراف فيجوال بيسك دوت نت

برمجة إطار عمل .net بإستخدام visual basic .net لتركي العسيري و هو الأفضل فالشرح ممتاز و يدخلك إلى الدوت نت من أوسع أبوابه

أما عن خبرتي فإني لست خبيرا بالدوت نت حتى الأن :(

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

لو قلت لي أنها مكملة لبعضها لاقتنعت.

الإختلاف بين لغات الدوت نت هو في syntax إلا أنه توجد بعض الفروق الصغيرة في visual studio 2005

مثل دعم c # ل safe code و الصنف my في vb.net و لكنها غير كبيرة

لقد أنتجت مايكروسوفت الدوت نت لتبعد فوارق القوة بين اللغات حيث الإختلاف في المقروئية و الإنتاجية فقط

.net framework نعمة على مبرمجي visual basic.net إذ يمنحهم قوة إضافية B)

#7

أشكرك على تواصلك

هل visual basic express 2005 هو البرنامج المطلوب؟؟؟ أم انه يوجد فيجوال بيسك دوت نت؟؟ وهل يجب ان اقوم بتحميل كل الفيجوال ستديو دوت نت؟؟؟

#8

لا أنصحك بتحميل كل الفيجوال ستديو إلا إذا أردت أن تبرمج بأكثر من لغة

VISUAL BASIC EXPRESS 2005 هو نسخة من فيجوال ستديو الموجه إلى المبتدئين بشكل عام رغم أنه يحتوي أدوات مهمة و لا أرى فروقا كبيرة بينه و بين PRO

في 2003 أصدرت مايكروسوفت أول فيجوال ستديو داعم ل .NET أسمته VISUAL STUDIO.NET على فكرة

أنا أرى VB EXPRESS 2005 أحسن من VISUAL STUDIO.NET الغير المجاني :angry:

إذ أنه الإصدارة الأخيرة من VB.NET

#9

أشكرك جزيل الشكر على تواصلك وجزاك الله خيراً

هذا يعني ان ابدأ بالإكسبرس إديشن

#10

نعم إبدأ ب vbexpress2005 و الإخوة في المنتدى لن يخيبوك في أي سؤال تعرضه عليهم

لكن أول شيء راجع هذا الرابط

/index.php?showtopic=74923

#11

مشكورين اخواتى على هذه المعلومات الغالية وانا فعلا كنت اود اسأل نفس الاسئلة

يارب سمعنا واطعنا والله غالب على أمره . مهما كاان الظاهر ومهما كاان الغالب ومهما كاان المغلوب فأن الغالب الحق والحاكم الحق والمسبب الحق هو انت يارب

لقد أبتليت بالهزيمة حتى حبيبك المصطفى . انك لاتظلم الناس شئ يارب ولكن الناس انفسهم يظلمون .

انا آمنا وصدقنا

نعم لقد ظلمنا انفسنا حيث لم نتوحد فى سبيلك وانما فرقتنا الاهواء وباعدت بيننا الشهوات

يظلمنا العدو لأاجل ظلمنا لأنفسنا يارب

نعوذ بك من ظلم العدو ونعوذ بك من غضبك . لقد غدونا من الغافلين المذنبين فبتنا من المحكومين المغلوبين .

لم نستيقظ لصوت القرآن والسنة فأيقظنا غزوا أعدائنا . فألطف بنا يارب

وامنحنا قوة وطاقة ندفع بهما ذلك الغزو . انعم علينا بالثبات والصبر الجميل .

اللهم بجاه نبيبنا الكريم الذى بعثته بالاسلام دين السلام أعنا على آلا نترك اخلاقه فى الحرب وابعدنا عن المحرمات فى القتال .

#13

انا اعمل على الفيجوال بيسك وانا متوسط الخبره

وبحثت عن ادوات تدعم او تندمج مع الفيجوال لكي ابرمج برامج للجوالات بصيغة sis ولكن لم اجد الا القليل وغير مجانيه ومتعبه للغايه

وسمعت ان الفيجوال دوت نت قد يستطيع عمل برمجه برامج للجوال بهذه الصيغه واذا كان صحيح فسأتحول الى الدوت نت دون تردد اذا كنت اقدر اصنع بمه ماريده

اريد جواب كافي وشافي حتى اختار حلا مناسب لاصل لما اريده

بانتظاركم

#14

أنا لا أعرف إذا كان الفيجوال بيسك دوت نت يدعم برمجة نظام symbian

و لكنني أعرف أنه يستطيع برمجة pocket pc و windows mobile 2002 &2003 إضافة إلى windows ce 4.41 فما فوق

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

#15

شكرا

#16
اقتباس
شكرا على الموضوع الجميل، لكن يا ريت تنقلة الى منتدى الفيجوال بيزك 6 ليستفيد منه اكبر عدد من الاعضاء هناك.

هذا عمل المشرفين

تم تعديل هذه المشاركة بواسطة programmer4fun في 20 أكتوبر 2006 في 00:33

هذا الموضوع مغلق.

مواضيع مشابهة