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

دروس فى Visual Basic.NET

مغلق
بدأه عبد العظيم غنيم في 18 فبراير 2003 · 17 رد · 2,949 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الدرس الأول

تعريف المتغيرات

Dim x As Integer

أو يمكن كتابتها بجعل قيمة افتراضية لها

Dim x As Integer=5

Dim s As String

أو يمكن كتابتها بجعل قيمة افتراضية لها

Dim s As String="عبد العظيم"

Dim s1, s2 As String

Dim o 'Implicitly Object

Dim obj As New Object()

Public name As String

Dim xx as Integer , ff as string , ddd as object

الدرس القادم

التعامل مع MessageBox بكل الطرق الممكنة

#2

طريقة VB.NET فى عمل MessagBox

 Dim msg As String = "عبد العظيم غنيم"

        MessageBox.Show(msg, "تجربة رسالة تحذير", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2, MessageBoxOptions.RtlReading)

وهذه طريقة VB6 فى عملMessagBox ويمكن استخدامها ايضا مع VB.NET

        MsgBox("عبد العظيم غنيم", MsgBoxStyle.Critical.OKCancel.MsgBoxRight.MsgBoxRtlReading, "تجربة رسالة تحذير")

الدرس القادم

التعامل مع TextBox أشياء لن تصدق

#3

كيفية التعامل مع TextBox فى VB.NET

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

قبل ان اخوض فى الدرس اتمنى ان تتمعنو النظر فى الصورة

السابقة هل رأيتم هذا من قبل

عندما تضغط زر Tab يتم التنقل خلال الخلايا والأزرار بصورة

او بترتيب انشاءها فاذا كنت انشأت الأزرار أولا سيحصل على

Focus قبل الذى يليه

فالموضوع هنا يوضح كيفيه انتقال Foucs من اداة الى اخرى

كيف يمكن عمل ذلك

من قائمة View اضغط Tab Order ثم قم بالضغط بالترتيب

كيف سيتم انتقال Foucs من اداة الى أخرى مع ملاحظة

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

انتقال Foucs مباشرة الى الأداة التى تليها

والأن نرى بعض مزايا TextBox الجديدة

كيف تفعل اذا اردت ان تجعل قيمة TextBox1 .Text =" قيمة معينة"

ثم اذا اردت اضافة شىء على هذا النص أو القيمة فسوف

تكتب كود كالتالى

Textbox1.text=TexTtbox1.Text & "Azim"

الجديد فى فى VB.NET  

TextBox1 .Text  =" قيمة معينة"

TextBox1.Appendext="Azim"

جرب الكود

ماذا اذا اردنا تفريغ TextBox سنكتب كود جديد

TextBox1.Clear

طبعا تسهيل كبير

طول النص المكتوب فى TextBox1  

TextBox1.MaxLength = 5

وهذا مهناه ان طول النص لن يزيد عن 5 حروف 

لجعل النص ذو حروف كبيرة

TextBox1.Text = TextBox1.Text.ToUpper

ويمكن ان نختار نص بعينه ونجعل حروفه كبيرة

TextBox1.SelectedText = TextBox1.SelectedText.ToUpper

وطبعا العكس اذا اردنا الحروف صغيرة

TextBox1.Text = TextBox1.Text.ToLower



بامكاننا اختيار نص معين من داخل TextBox 

TextBox1.Select(start, length)

TextBox1.Select(4, 6)

Undo Edit

خصائص رهيبة تمكن من الرجوع فى الكتابة جرب ان تكتب شىء فى Textbox وجرب الكود التالى

TextBox1.Undo

أشياء كثير وعديدة

ستعشق VB.NET من هذا الدرس انا متأكد

الدرس القادم

كيفية تعريف Sub Routines , Function واسناد المتغيرات لهما

مع تمنياتى بالتوفيق

#4

الصورة

#6

موعدنا اليوم معى درس انشاء Subroutine and Functions

Subroutines أو Function هما مجموعة من الاجراءات المتعاقبة

من مميزات استخدامها

  • يتم اللجوء اليها لتوفير الوقت والجهد اللازم
    عند الحاجة الى التعديل فى الاجراءات يكون التعديل فى مكان واحد فقط

أولا: كيف يتم تعريف Subroutine

Sub ShowDate

MsgBox(Today) 



End Sub

ويتم تشغيل Subroutine بالكود التالى

ShowDate

مثال أخر

Sub showdate(ByVal x As Integer, ByVal y As Integer)

        MsgBox(x + Math.Cos(30) * y * 6)

    End Sub



ويتم تشغيل  Subroutine بالكود التالى



[code]



showdate(10, 20)

اضافة الى ما سبق هل يمكننا ان نجعل زر معين ينفذ هذا

Subroutine عند الضغط على الزر ؟ نعم

أضافت تكنولوجيا .NET الاجراء التالى

Handels

فيمكنك ان تسند هذا الاجراء لينفذ عن الضغط على زر او حصول TextBox على Foucs

وهذا ما سوف نراه فى الدرس القادم باذن الله

ثانيا: كيف يتم تعريف Function

  Function Upper(ByVal x As String) As String

        Upper = x.ToUpper

    End Function

وانظر الى التالية

هى Function لعكس اتجاه النص

وقد عبرت هذه المرة بكلمة Return

اذا يمكنك التعبير اما باسم Function أو بكلمة Return

  Function ReversString(ByVal x As String) As String

        Return StrReverse(x)

    End Function

MsgBox(ReversString("abcdefg")(



جرب لترى النتيجة

ما الغريب فى التعريفات السابقة

فقط قم بتعريف اسم Function أو Sub

اذا فتحت قوس اكتب فقط اسماء المتغيرات وسوف يقوم البرنامج باسناد

بالقيمة ByVal اليها الا اذا كتبتها انت بنفسك بالمرجعية ByRef

ما الفرق بين الاثنين

Function Add(ByRef num1 As Integer, ByRef num2 As Integer) As Integer

Add = num1 + num2

num1 = 0

num2 = 0

End Function

انظر الفرق لتعرف الفرق بينهما

Dim a As Integer = 10

        Dim b As Integer = 20

        Dim sum As Integer = a + b

        sum = Add(a, b)

        MsgBox(a)

        MsgBox(b)

        MsgBox(sum)

قيمة a تعود الى مرجعيتها = 0

قيمة b تعود الى مرجعيتها = 0

قيمة sum = 30

الدرس القادم

كيفية انشاء Control فى Runtime واسناد احداث اليها

#7

الدرس الرابع

كيف يمكن انشاء Control فى Runtime واسناد Event اليها

كما تعرفون ان Textbox لها أحداث Events مث

Enter

Leave

وغيرها كثير

ربما احتجنا ان ننشىء هذه ال Control أو غيرها أثناء تشغيل البرنامج Runtime فكيف نفعل ذلك

أولا: ننشى متغير بشرط أن يكون خارج أى Subroutine

Public WithEvents Tbox As New TextBox

ودعونا ان ننشىء Subroutine ليتم تشغيله عند الحدث الذى نرغبه



Private Sub TBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tbox.Enter

        MsgBox("أهلا ومرحبا عبد العظيم")

    End Sub

والأن فى الحدث الذى نود من عنده انشاء Textbox أو أى Control

نضع الكود التالى

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Tbox.Size = New System.Drawing.Size(100, 20)

        Tbox.Location = New System.Drawing.Point(20, 20)

        Me.Controls.Add(Tbox)

        AddHandler Tbox.TextChanged, AddressOf TBox_TextChanged

    End Sub

ما معنى الكود السابق

لقد قمنا بتحديد مقاس Textbox عن طريق Size وكتبنا الطول والعرض

ثم حددنا مكان Textbox عن طريق Point Location اى الاحداثى السنى والصادى لأعلى نقطة لليسار

ثم أضفنا الأداة الى Control ونعنى بها مجموهة الأدوات الموجودة داخل الفورم

ثم استخدمنا AddHandler لنشير الى الحدث الذى سينفذ

الأن جرب أن تجعل Foucs على Textbox الجديدة

ما النتيجة

لقد نجحنا

حاول ان تجرب هذه الطريق مع عدة أدوات أخرى وسترى انك ستنطلق مع vb.net بسرعة الصاروخ

عبد العظيم غنيم

#9

استاذى العزيز السلام عليكم ورحمة الله

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

حقيقة اعجبنى اسلوبك الجميل وشرحك الواضح الذى شجعنى على ولوج هذه اللغة العجيبة والجميلة والجديدة فهل ساعدتنى استاذى غنيم.

اولا هلى معلوماتى عن البرمجة بالفيجيوال بيسك يمكن ان تساعدنى فى تعلم هذه اللغة .؟

ثانيا هل هى صعبة التعلم ؟

ثالثا ما الفرق بينها وبين الفيجيوال بيسك ؟

رابعا ما هى مزاياها وعيوبها ؟

خامسا ماهى انواع قواعد البيانات التى يمكن ان تتعامل معها ؟

سادسا اين اجد هذا البرنامج ؟

اتمنى ان يوفقك الله ويزيدك من علمه وفضله. وجزاك الله خيرا

#10

شكرا لك على التفاعل مع الدروس

خبرتك مع vb6 تؤهلك لتعلم vb.net مع اعتبار vb.net لغة جديدة

وهى سهلة التعلم فوق ما تتصور

اما عن الفرق بينها وبين الفيجوال بيسك فهذا سؤال ربما يرى البعض انه سؤال

لا قيمة له ويجيب بأن الاثنين فيجوال بيسك

لكن الصحيح ان الفرق كبير ولا تستغرب ان vb.net هى #c ولكن لغرض تجارى

اطلقت عليها microsoft اسم vb.net حتى لا تخسر زبائنها من مطورى برامج

visual basic

وهى تدعم قواعد بيانات جميع قواعد البيانات التى تعرفها

وأخيرا تابع سلسلة الدروس لتعرف المزايا والعيوب

الدرس القادم ان شاء الله

انشاء Control خاصة بك

TextBox مثلا

#11

ربما احتجت ان تنشىء TextBox خاصة بك أو Label أو غيرها من الأدوات

ما عليك الا انشاء مشروع جديد Window Control Library

وفكرة الأداة أنها أداة يمكنك أن تغير لونها الى اللون الذى ترغب فيه عند حصولها على Foucs ولون أخر عندما تفقد Foucs

وستختاره بنفسك من قائمة Proparties

قم بتسمية المشروع FocusedTextBox

امسح ما يدل على User Control

ثم ادخل مكانها هذا الكود

Public Class FocusedTextBox

    Inherits TextBox



End Class

هكذا نكون قد أنشأنا Class جديد

الأن نقوم بعمل الخواص الجديدة التى نرغب فيها

أولا خاصية الحصول على Foucs

Dim _enterFocusColor, _leaveFocusColor As Color

    Property EnterFocusColor() As Color

        Get

            EnterFocusColor = _enterFocusColor

        End Get

        Set(ByVal Value As Color)

            _enterFocusColor = Value

        End Set

    End Property

فقد قمنا بعمل متغير يحمل قيمة اللون الى سوف نختارها بأنفسنا من قائمة Proparties

ثانيا خاصية فقد Foucs

Property LeaveFocusColor() As Color

        Get

            LeaveFocusColor = _leaveFocusColor

        End Get

        Set(ByVal Value As Color)

            _leaveFocusColor = Value

        End Set

    End Property

وتفسير ذلك هو نفس تفسير الخطوة السابقة

ثالثا عمل أحداث Events بما سيحدث عندما نغير اللون من قائمة Proparties

  Private Sub FocusedTextBox_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Enter

        Me.BackColor = _enterFocusColor

    End Sub



    Private Sub FocusedTextBox_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Leave



        Me.BackColor = _leaveFocusColor



    End Sub

واذا تأملنا الجملة Handles MyBase.Enter

والجملة Handles MyBase.Leave

فمعناها

اسند هذا الحدث الى الأداة عند حصولها على Foucs ومعنى Foucs تغير الى Enter ومثلها فى الجمله التى تليها اسند هذا الحدث عند فقد الأداة ل Foucs

وعنى الأداة هنا = MyBase

يمكنك أيضا ان تضيف اى احداث تناسبك بالطريقة السابقة

وبالله التوفيق

الأن جاء دور تنفيذ المشروع

قم بالضغط على اسم المشروع من Solution Exeplorer بالزر الأيمن للماوس

ثم اضغط Proparties

ثم حدد نوع Otput typp الى Class Library

قم بتحويل Debug الى Release

ثم قم بعمل Build للمشروع سوف تحصل على اداة بامتداد .dll

لتجربة الأداة أنشىء مشروع جديد واضف الأداة وغير الخواص من Proparties

وسترى النتيجة

الدرس القادم التعريف بالفئات Classes

#12

بسم الله الرحمن الرحيم

أخي عبد العظيم غنيم شكراً جزيلاً، وجزاك الله خير

#13

مشكور

#14

جزاك الله خيراً.

#15

جزاك الله خيرا .

#16

الف شكر للاستاذ عبد العظيم غنيم على المبادرة هذة ((في ميزان اعمالك ان شاء الله )

#17

مشكور

#18

بسم الله الرحمن الرحيم

شكرا بارك الله فيك

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

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