اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

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


الحمد لله الذي عز جلاله فلا تدركه الإفهام، وسما كماله فلا يحيط به الأوهام، وشهدت أفعاله أنه الحكيم العلام، الموصوف بالعلم والقدرة والكلام، سبحانه هو الله الواحد السلام، المؤمنون حبب إليهم الإيمان وشرح صدورهم للإسلام، ويقبل التوبة ويكشف الحوبة ويغفر الإجرام، تبارك اسم ربك ذي الجلال والإكرام
واشهد إن لا اله إلا الله, وحده لا شريك له, له الملك, وله الحمد, وهو علي كل شيء قدير شهادة من قال ربى الله ثم استقام
الله ربـى لا أريــد ســواه هل في الوجود حقيقة إلا هو
يـا من وجب الكمال بذاته فالكل غاية فوزهم لقياه عجز الأنام عـن امتداحك انـه تتصاغر الأفكار دون مـداه
من كان يعرف انـك الحق الذي بهر العقول فحسـبه وكفـاه
وأشهد أن سيدنا وحبيبنا وشفيعنا محمد عبد الله ورسوله وصفيه من خلقه وحبيبه
لم يزل صلى عليه الله وسلم يقاتل في الله بعزم واهتمام، حتى انقشع عن سماء الحق تراكم الغمام، وظل في أفق الإيمان بدر التمام
إذا أرد أن تفـوز وتـرتـقي درج العلى أو تنال منه رضاه
ادم الصلاة على محمد الـذي لولاه مـا فـتح المكـبر فـاه
وله الوسيلة واللـواء وكوثـر يروى الورى وكذا يكون الجاه
وعلي اله وأصحابه ومن سار على نهجه وتمسك بسنته واقتدى بهديه واتبعهم بإحسان إلي يوم الدين ونحن معهم يا أرحم الراحمين


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

طبعا احبتي لن اكون انا الاساس في هذا الموضوع باذن الله كلنا سنشارك في هذا الموضوع باذن الله

فمن لديه معلومة ملحوظة مشروع فكرة يتم وضعها في الردود او ارسالها لنا ويتم وضعها في السلسلة او شرحها

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


رابط الردود

الردود والاستفسارات عن سلسلة دروس الفيجوال بيسك دوت نت

 

رابط البرنامج

نسخة 

Visual Studio 2012 Ultimate ISO

رابط جديد  لنسخة 2012

الحجم 1.5 جيجا

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

لو طلبت سيريال

SERIAL KEY: RBCXF-CVBGR-382MK-DFHJ4-C69G8

 


بسم الله نبدأ

طريقة فتح البرنامج  ومكوناته وطريقة التعامل معه
اولا من قائمة البدأ نختار كما بالشكل
Visual Studio 2012

MENU.png

ثم تفتح معنا هذه النافذة وهي نافذة بداية البرنامج

start.PNG

نختار منها مشروع جديد

اما من القائمة FILE   & NEW PROJECT

او من الاختصار داخل الصفحة نفسها تحت كلمة START

NEW PROJECT

لتظهر نافذة جديدة ومنها نختار

Windows Forms Application

1.PNG

ثم  تفتح لنا نافذة البرنامج الرئيسية

2.PNG

مكونات الصفحة

1-    شريط الادوات

MENU STAET.PNG

2-    مستعرض الحلول وهي نافذة المشروع

SOLUTION EXP.PNG

3-    الخصائص وهي خصائص الادوات والفورم المستخدمة

PROPERTIS.PNG

4-    صندوق الادوات وهو صندوق الادوات المستخدمة على سطح الفورم مثل الLABEL & TEXTBOX   وغيرها

TOOLBOX.PNG

5-    شاشة التصميم او مساحة العمل  على الفورم

FORMS.PNG

6-    شاشة محرر الاكواد

CODES.PNG

بعد عرض شاشة البرنامج الاساسية  ومثل أي شرح لاي لغة برمجة

يتم عمل المثال التمهيدي والافتتاحي واول برنامج لنا جميعنا على لغة برمجة الفيجوال دوت نت

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

وهو برنامج الترحيب بالعالم الجديد

Hello World

ولكن هيبقي ترحيبنا باللغة الجديدة

هي برنامج

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

طبعا البرنامج سهل ولا يحتاج لشئ هو مجرد رسالة تظهر فيها ما نكتبه عند تشغيل البرنامج او الضغط على زر

ولكن يترتب علي عمل البرنامج

فهم طريقة انشاء برنامج

وضع الادوات على الفورم

كتابة الاكواد داخل المحرر

تشغيل البرنامج لاختباره

حفظ مشروع البرنامج

تحويل البرنامج لملف تنفيذي

تحزيم البرنامج

معرفة خصائص المشروع

 

برنامج الترحيب

بفتح مشروع جديد نقوم

كما وضحنا سابقا

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

button.PNG

بعد ان نضع الزر على الفورم نقوم بالضغط عليه دبل كليك

ليظهر محرر الاكواد

هكذا

clickcode.PNG

ثم نكتب بداخله الرسالة الافتتاحية لهذا العالم الجديد

msg.PNG

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'يتم عرض رسالة عن طريق هذا الكود
        MessageBox.Show("بسم الله  الرحمن الرحيم")
        'ومن الممكن ان نسترجع ذاكرتنا ونكتبها كما تعلمناهكذا
        MsgBox("الحمد لله")

    End Sub

ثم نقوم بالضغط على start من شريط  الادوات او الضغط على F5 لاختبار البرنامج

ولحفظ المشروع من قائمة File  & Save all

SAVE.png

وبعد كدا نكتب اسم المشروع ونحدد مكانه

زي كدا

SAVE NAME.PNG

وبيظهر المشروع بالشكل دا بعد الحفظ

ملف المشروع.PNG

الملف المحدد دا ملف المشروع الاساسي يتم تشغل المشروع منه بعد حفظه في اي وقت

وبمجرد تشغيل البرنامج الخاص بنا عن طريق f5  or  start

يتم انشاء نسخه تنفيذية للبرنامج داخل المجلد

bin\Debug

exe.PNG

او نستطيع تحوله لتنفيذي  وتحزيمه عن طريق 

BUILD.png

بناء وتحزيم البرنامج من الخيار الاول ثم الثاني المحددين

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

PROPERTIS PROJECT.png

PROPERTIS PROJECT222.png

1- اسم المشروع

2- نوع النت فريم وورك المستخدم للبرنامج والذي سيعتمد عليه بمعنى انه عند اختيارك اصدار النت فريم وورك يشترط وجود نفس الاصدار او احدث على الجهاز الذي سيعمل عليه البرنامج

3- نوع مشروع البرنامج

4- طبعا كلنا عارفينها الفورم اللي هيبدأ عند تشغيل البرنامج نستطيع وضع اي فورم ليبدأ اولا

5- ايقونة البرنامج ونستطيع هنا اختيار ايقونات بدقة عالية عكس فيجوال 6 محدد على عدد الوان وبكسلات معينة

 

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

طبعا انا متعود على ان الردود تسبق الدروس بكثير مستني الابداع منكم

 

اتمنى من الله ان اكون قد وفقت في تقديم البداية لدخول عالم الدوت نت بشكل مقبول

الى هنا انتهى الدرس

يتبع باذن الله 

تقبلوا تحياتي

ياسر العربي

:fff::fff::fff::fff:

 

test prog.rar

  • Like 5
قام بنشر

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

 

اليوم باذن الله نبدأ بأول مثال لنا داخل الفيجوال دوت نت

ومثل ما  قمنا بعمل تصميم لبرنامج آله حاسبة داخل بيئة الفيجوال 6

سنقوم بعمل نفس البرنامج ولكن افضل طبعا من  السابق يعني احنا بنتقدم ونعمل نفس القديم لا لازم يكون في احساس

بأن فيه جديدوفي تغيير للافضل

يلا الكل معايا يمسك الورقة والقلم( الماوس والكيبورد والبرنامج)

طبعا هنفتح مشروع جديد عادي خالص

 

مكونات الادوات على الفورم

17 زر button

1 تكست بوكس

1 ليبل لزوم كلمة اوفيسنا بس

والقائمة  Menustrip

menu.png.e92f4e37449f815a5720136807bfbd3

autosize.PNG.cbe415eca329068a984ebee6cd8

menu1.PNG.681af686a359cda99db97deba8f5ba

الجديد هنا موضوع القائمة دا كيفية  عملها

بعد وضع الاداة يظهر لنا ثلاث مستطيلات للكتابة داخلهم وهي اول مستطيل وهو اسم اول القائمة وهو فايل مثلا

والثاني لجانبها الايمن وهو لاضافة قائمة بجانبها كما في about

والثالث اسفل القائمة لاضافة عناصر داخل القائمة نفسها

وكل هذا يتم اضافته بطريقة سهله مجرد تحديد المستطيل والكتابة داخله فقط

اما موضوع كيفية وضع لكل عنصر كود برمجي فهو كالتالي يتم الضغط مرتين على اي عنصر لوضوع الكود داخل هذا العنصر مثله مثل ا اداة عادي

هنا وضعنا كود لنسخ التكست في copy

وكود خروج من البرنامج في Exit

وكود رسالة  في About

 

طريقة عمل الآله الحاسبة واكوادها

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'هذا الكود داخل الزر رقم واحد وهو لكتابة رقم واحد داخل التكست ويتم تطبيق نفس الكود على باقي الارقام والعلامات
        TextBox1.Text = TextBox1.Text & "1"
    End Sub
    Private Sub AboutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AboutToolStripMenuItem.Click
'في التبويب about  وضعنا هذه الرسالة فقط
        MsgBox("تصميم وبرمجة أوفيسنا مصطبة الحبايب -_-")
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        TextBox1.Text = TextBox1.Text & "2"
    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        TextBox1.Text = TextBox1.Text & "3"
    End Sub
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        TextBox1.Text = TextBox1.Text & "4"
    End Sub
    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        TextBox1.Text = TextBox1.Text & "5"
    End Sub
    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        TextBox1.Text = TextBox1.Text & "6"
    End Sub
    Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        TextBox1.Text = TextBox1.Text & "7"
    End Sub
    Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
        TextBox1.Text = TextBox1.Text & "8"
    End Sub
    Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
        TextBox1.Text = TextBox1.Text & "9"
    End Sub
    Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
        TextBox1.Text = TextBox1.Text & "0"
    End Sub
    Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
        TextBox1.Text = TextBox1.Text & "."
    End Sub
    Private Sub CopyToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CopyToolStripMenuItem.Click
'في التبويب نسخ وضعنا كود تحديد ما بداخل التكست ونسخها
        TextBox1.SelectAll()
        TextBox1.Copy()
    End Sub
    Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
        TextBox1.Text = TextBox1.Text & "/"
    End Sub
    Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click
'هنا وضعنا متغير من نوع اوبجكت وهو سكربت كنترول وهو لتحويل العمليات الحسابية داخل التكست الى ناتج  لا اعلم هل سيعمل مع كافة انظمة التشغيل ..
        Dim Y As Object = CreateObject("ScriptControl")
        Y.Language = "VBScript"
        TextBox1.Text = Y.Eval(TextBox1.Text)
        Y = Nothing
    End Sub
    Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
        TextBox1.Text = TextBox1.Text & "*"
    End Sub
    Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
        TextBox1.Text = TextBox1.Text & "-"
    End Sub
    Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
        TextBox1.Text = TextBox1.Text & "+"
    End Sub
    Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click
'انهاء البرنامج
        End
    End Sub
    Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
' لمسح محتوي التكست لعملية جديدة
        TextBox1.Text = ""
    End Sub

End Class

الكود سهل ولكن انظرو ماذا قمنا بانهائه وبشكل جميل وبرنامج  ويعتمد عليه عكس تصميماتنا القديمة

ومن الممكن وضع اضافات لاختصارات كتير ولكن نبدأ بالسهل ثم الاصعب

اظن كدا دا انتاج محلى بقي المفروض نعتمد عليها ونسيب الآله الحاسبة بتاعه الويندوز ونشجع المنتج بتاعنا

نشغل البرنامج بتاعنا ونشوف شكله ايه

cal.PNG.cbdbb1c17e1327b1d1c34c2a29d5baae

أي استفسارات  طبعا موضوع الردود موجود 

ياريت نشوف الابداع انا عملت آله حاسبة انا عايز كيبورد مش آله حاسبة بس :wink2:

انا بقول كدا عشان عارف انكم عندكوا لمسات كويسة

طبعا مرفق البرنامج عشان الجماعة اللي بيكسلوا يصمموا من الاول

والسلام عليكم

تقبلوا تحياتي

ياسر العربي

يتبع

:fff::fff::fff::fff:

Calculator Yasser.rar

Calculator Yasser.rar

  • Like 3
قام بنشر

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

 

اليوم سنذكر طريقة اخرى لعمل آله حاسبة  في حال اذا عمل الكود  السابق على نظام 32 بت فقط

اما اليوم سنذكر طريقة تفي لكل الاغراض

الكود كالتالي

Public Class Form1
'سنقوم بالاعلان عن ثلاثة متغيرات لتخزين القيمة الاولي والعملية الحسابية والقيمة الثانية
'القيمةالاولى
    Dim nn1 As Double
'القيمة الثانية
    Dim nn2 As Double
'العملية الحسابية
    Dim nn As String

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        TextBox1.Text = TextBox1.Text & "1"
    End Sub
    Private Sub AboutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AboutToolStripMenuItem.Click
        MsgBox("تصميم وبرمجة أوفيسنا مصطبة الحبايب -_-")
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        TextBox1.Text = TextBox1.Text & "2"
    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        TextBox1.Text = TextBox1.Text & "3"
    End Sub
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        TextBox1.Text = TextBox1.Text & "4"
    End Sub
    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        TextBox1.Text = TextBox1.Text & "5"
    End Sub
    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        TextBox1.Text = TextBox1.Text & "6"
    End Sub
    Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        TextBox1.Text = TextBox1.Text & "7"
    End Sub
    Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
        TextBox1.Text = TextBox1.Text & "8"
    End Sub
    Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
        TextBox1.Text = TextBox1.Text & "9"
    End Sub
    Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
        TextBox1.Text = TextBox1.Text & "0"
    End Sub
    Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
        TextBox1.Text = TextBox1.Text & "."
    End Sub
    Private Sub CopyToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CopyToolStripMenuItem.Click
        TextBox1.SelectAll()
        TextBox1.Copy()
    End Sub
    Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
'يكرر هذا الكود في العمليات الحسابيةكلها
'هنا يتم حجز قيمة التكست بوكس داخل المتغر الاول
        nn1 = Val(TextBox1.Text)
'مسح قيمة التكست بوكس
        TextBox1.Text = ""
'حجز العملية الحسابية داخل المتغير الخاص بالعملية الحسابية
        nn = "/"
    End Sub
    Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click
'حجز القيمة الثانية في المتغير الخاص بالقيمة الثانية
        nn2 = Val(TextBox1.Text)
'هنا نستخدم if & elsif لتحديد نوع العملية وحسابها واخراج الناتج
'بمعنى اذا كان المتغير الخاص بالعملية الحسابية ان ان يساوي (-) اذا متغير القيمية الاولى - متغير القيمة الثانية
        If nn = "-" Then
            TextBox1.Text = nn1 - nn2
        ElseIf nn = "+" Then
            TextBox1.Text = nn1 + nn2
        ElseIf nn = "*" Then
            TextBox1.Text = nn1 * nn2
        ElseIf nn = "/" Then
            TextBox1.Text = nn1 / nn2
        End If
    End Sub
    Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
        nn1 = Val(TextBox1.Text)
        TextBox1.Text = ""
        nn = "*"
    End Sub
    Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
        nn1 = Val(TextBox1.Text)
        TextBox1.Text = ""
        nn = "-"
    End Sub
    Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
        nn1 = Val(TextBox1.Text)
        TextBox1.Text = ""
        nn = "+"
    End Sub
    Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click
        End
    End Sub

    Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
'البدأ من جديد بالغاء قيمة التكست  وقيم المتغيرات
        TextBox1.Text = ""
        nn = Nothing
        nn1 = Nothing
        nn2 = Nothing
    End Sub
End Class

طبعا نفس الآله الحاسبة مجرد تبديل الكود الخاص بالزر = & + & - & / & *

مرفق المثال

 

يتبع

Calculator Yasser - Copy.rar

  • Like 3
قام بنشر

المتغيرات Variables 


سنبدأ بتعريف المتغير Variable و هو يشير إلى موقع تخزينى فى الذاكرة و يمكن أن يحتوى على
بيانات (عددية أو حرفية) ، و يتم تعريف المتغير أثناء كتابة البرنامج ، و يمكن تغيير محتوى هذا
المتغير أثناء سير البرنامج ، و كل متغير له اسم وحيد يعرف به

و كل متغير له اسم وحيد يعرف به و لا يمكن وجود متغيرين أو أكثر بنفس الاسم فى
مكان واحد بالذاكرة.
عند تحديد اسم المتغير يجب اتباع شروط محددة:
.2 أن يبدأ بحرف هجائى (انجليزى : A,B, …..Y,Z or a,b,….,y,z)
.3 ألا يحتوى على علامات خاصة (؟،! ،: ، ....)
.4 ألا يكون هذا الاسم من الكلمات المحفوظة فى اللغة البرمجية مثل End , Byte وغيرها
.5 الاسم قد يتضمن أرقام و حروف.

أنواع المتغيرات :

varn.PNG

نأتى لجزء مهم فى تكويد المتغيرات و هو تعريف المتغير و هو الإعلان عن اسم المتغير و نوعه
داخل نافذة البرمجة ، و من صور المتغير داخل نافذة البرمجة:

Dim VariableName As DataType

أمثلة تعريف على أنواع المتغيرات السابقة:

var22.PNG

او من الممكن ان نعرفها هكذا

Dim myIntegr As Integer

myInteger =3

وهكذا مع جميع المتغيرات Variables

وهذا درس مرفق لاخي الغالي ياسر ابو البراء عن المتغيرات Variables في الVBA وطبعا وجهه الشبه كبير بين الVBA والدوت نت من حيث المتغيرات وبعض الاكواد البرمجية بل ان معظم تعريف المتغيرات Variablesداخل نوافذ البرمجة عامة كلها شبه متطابقة

طيب محتاجين مثال فيه متغيرات كتطبيق عملي

اقول لكم لو قمتم بتطبيق درس الآله الحاسبة ستجدو ان به متغيرات من النوع Double و String

المتغير Double

تم تعريفه ليكون للقيم المدخلة من الآله الحاسبة ولماذا اختارنا هذا المتغير لانه يدعم الكسور لان العمليات الحسابية لن تخلو دائما من الكسور 

والمتغير  String

تم اختياره للعمليات الحسابية وهي العلامات + - * / واستخدمناه هنا ليتعامل مع العلامات على انها نص

اتمنى ان اكون قد وصلت المعلومة بطريقة سهلة

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

تقبلو تحياتي

ياسر العربي

يتبع

:fff::fff::fff::fff:

 

المتغيرات نبدأ الحلقة.rar

  • Like 2
قام بنشر

الثوابت

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

const

ولاحظ هنا اخي الكريم في الفيجوال بيسك لا يمكنك تعريف ثابت إلا من خلال المبدأ التالي

Const name as type = value 

Const اسم الثابت as قيمته = نوعه

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

Const name As String = "Yasser" 
ثابت من نوع نص
Const age As Integer = 30 
 ثابت من نوع عدد صحيح
Const marry As Boolean = True 
 ثابت من نوع قيمة منطقية


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

الطريقة التقليدية تعريف ثابت ونسب قيمة له مثل 
Const name As String = "Aseel" 
 كتابة الثابت بدون تحديد نوع له مثل 
Const name = "Mohamed" 
كتابة اكثر من ثابت مع تحديد القيمة لها في سطر واحد :- مثل 
Const name As String = "Mohamed", age As Integer = 30 
كتابة اكثر من ثابت بدون تحديد نوع الثابت مثل 
Const name = "Mohamed", age = 33, marry = False 


لاحظ هنا اننا لم نستخدم كلمة تعريف الثابت إلا في بداية الجملة فقط 


الأخطاء المتوقع حدوثها عند تعاملك مع الثوابت


تغيير قيمة الثابت في البرنامج او اثناء التشغيل مثال لذلك 

Const age As Integer = 20
age = 22 


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

Const age As Integer 
age = 18 


ملاحظة هامة

عند تعاملنا مع الثوابت يجب علينا ادخال القيمة للثابت في نفس جملة تعريف الثابت

تقبلو تحياتي

ياسر العربي

يتبع

:fff::fff::fff::fff:

 

  • Like 2
قام بنشر

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

 

احبتي في الله

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

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

ثم نقوم بعمل مشروع جديد

ونقوم باضافة عدد

واحد تكست بوكس textbox

وخمسة زر button

ووضعهم كما بالصورة

excel.PNG

وطبعا نقوم من تبويب الخصائص الخاص بالادوات بالتعديل على اي اداة من حيث تغيير الاسم ولون الاداة

وشكلها وحجمها وحجم الخط بداخلها وغيرها وغيرها من خواص

هناك طرق عدة لربط برامج كثيرة بالفيجوال ومنها الاكسيل

وسوف نشرح الطريقة التى احبها واعرفها ايضا وهي ما قمت بشرحها بسلسلة الفيجوال6

وان شاء الله الاختلاف بسيط ولكن الاساس واحد

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

يدخل على سلسلة الفيجوال6 يراجع نفس الدرس المذكور اعلاه وهو ربط الفيجوال بالاكسيل

وهذا هو الرابط

سلسلة دروس الفيجوال بيسك 6

الان نقوم بالذهاب الى قائمة البرنامج الرئيسية ونختار منها بروجيكت ثم Add Reference

1.png

ثم نقوم باختيار com

ومنها نختار المكتبة الخاصة بالاكسيل كما موضح بالصورة

2.png

الان قمنا بتصميم مشروعنا  وقمنا بتجهيز المكتبات اللازمة لعمل البرنامج

ينقص الان كود عمل البرنامج

نضع هذا السطر في اول الكود في ال General في التصريحات العامة

يعني نفتح محرر الاكواد ونيجي على اول سطر بالظبط ونضع هذا الكود به

السطر دا بيربط بين المرجع وبين البرنامج

Imports Excel = Microsoft.Office.Interop.Excel

ثم نقوم بالاعلان عن متغيرات لسهولة التعامل مع الاكسيل من داخل برنامجنا

كما بالكود التالي ولقد قمنا بشرح مثله في سلسلة الفيجوال6

Public Class Form1
'نضع  المتغيرات في بداية تصريحات الفورم 1
'المتغير الاول يشير الى برنامج الاكسيل
        Dim xlApp As Excel.Application
'المتغير الثاني يشير الى ملف مصنف الاكسيل 
        Dim xlWorkBook As Excel.Workbook
'المتغير الثالث يشير الى ورقة العمل 
        Dim xlWorkSheet As Excel.Worksheet







End Class

ثم نضع في حدث تحميل الفورم الكود التالي

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        xlApp = New Excel.ApplicationClass 'فتح برنامج الاكسيل جديد
        xlWorkBook = xlApp.Workbooks.Open("d:\test.xlsx") 'فتح ملف اكسيل 
        xlWorkSheet = xlWorkBook.Worksheets("sheet1")'تم الاشارة للمتغير هنا بالورقة 1
        xlApp.Visible = False'اخفاء البرنامج
    End Sub

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

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim last As Long'نقوم بانشاء متغير من نوع long
'قمنا بتعريف  المتغير هنا على اساسا حساب عدد الصفوف بالعمود الاول التى يوجد بها بيانات بالاضافة +1
        last = xlWorkSheet.Cells(xlWorkSheet.Rows.Count, "a").End(Excel.XlDirection.xlUp).Row + 1
'هنا نحدد الخلية a& last
وهي اخر خليه بها بيانات بالاضافة 1 للكتابة في السطر التالي الفارغ قيمة ما بداخل التكست بوكس1
        xlWorkSheet.Range("a" & last).Value = TextBox1.Text
    End Sub

الكود التالي زر اظهار برنامج الاكسيل

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'كود سهل وهو اظهار برنامج الاكسيل
        xlApp.Visible = True
    End Sub

الكود التالي زر اخفاء برنامج الاكسيل

   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        xlApp.Visible = False
    End Sub

الكود التالي زر حفظ التغييرات بملف الاكسيل

  Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        xlWorkBook.Save()
    End Sub

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

 Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        xlWorkBook.Save()
        xlWorkBook.Close()
        xlApp.Quit()
        xlApp = Nothing
        xlWorkBook = Nothing
        xlWorkSheet = Nothing
        MsgBox("تم اغلاق ملف الاكسيل")
    End Sub

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

وهذا هو  الكود كامل

Imports Excel = Microsoft.Office.Interop.Excel
Public Class Form1
        Dim xlApp As Excel.Application
        Dim xlWorkBook As Excel.Workbook
        Dim xlWorkSheet As Excel.Worksheet
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        xlApp = New Excel.ApplicationClass
        xlWorkBook = xlApp.Workbooks.Open("d:\test.xlsx")
        xlWorkSheet = xlWorkBook.Worksheets("sheet1")
        xlApp.Visible = False
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        xlApp.Visible = True
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim last As Long
        last = xlWorkSheet.Cells(xlWorkSheet.Rows.Count, "a").End(Excel.XlDirection.xlUp).Row + 1
        xlWorkSheet.Range("a" & last).Value = TextBox1.Text
    End Sub
    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        xlWorkBook.Save()
        xlWorkBook.Close()
        xlApp.Quit()
        xlApp = Nothing
        xlWorkBook = Nothing
        xlWorkSheet = Nothing
        MsgBox("تم اغلاق ملف الاكسيل")
    End Sub
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        xlWorkBook.Save()
    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        xlApp.Visible = False
    End Sub
End Class

انا قمت بوضع مثال لتكست بوكس فقط للتوضيح انا عايز منكم فهم الشرح وتطبيقه على نطاق اوسع شوية من المثال الموجود

يعني عاوز برامج بجد شغل يعتمد عليه مش مجرد مثال

يلا  عايز اشوف شغل مش كلام :Rules:

:wink2:

ومش هحط مرفق نهائي الان لحد لما نشوف التفاعل والشغل

 

تقبلو تحياتي

ياسر العربي

يتبع

:fff::fff::fff::fff:

  • Like 1
قام بنشر

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

 

الدروس السابقة تم تحويلها  على هيئة كتب الكترونية لمراجعتها اوف لاين

باذن الله يتم تحويل كل درس لكتاب الكتروني لسهولة الوصول له خارج الانترنت

 

تشغيل البرنامج ولمحة عن الشاشة الرئيسية

 

تطبيق اول مثال على الفيجوال دوت نت آله حاسبة

 

تطبيق مثال آله حاسبة بكود اخر وتوضيح شكل محرر الاكواد

 

شرح المتغيرات والثوابت

 

شرح كيفية ربط الفيجوال دوت نت بالاكسيل والتعامل معه

 

تقبلوا فائق احترامي

:fff::fff::fff::fff:

ياسر العربي

يتبع

  • Like 3
قام بنشر

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

 

درس اليوم بعنوان

الحلقات التكرارية iterations & looping

 

يعني ايه iterations & looping  ويعني ايه حلقات تكرارية من الاصل

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

يعني مثلا اقول لحبيبي ابو البراء قول     ارنبنا فى منور انور وأرنب أنور فى منورنا  عشر مرات مثلا

كدا انا حددت عدد التكرار هنا عشر مرات دا ان عرف يعني يقولهم او حتى اخي احمد الفلاحجي :wink2:

هنا بقي نقول ان دي جمله تكرارية محددة او معروفة وتندرج تحت الاسم  iterations

 

طيب لو قلت لابو البراء قول بسيطه وماتستبسطهاش وصعبه وماتصتصعبهاش لحد ما يبان لك صاحب ههههههه

كدا اول واحد هيظهر ويتعاطف مع الموقف حبيبي ابو يوسف ويقولي حرام عليك واخي الغالي عبد العزيز هيقول اشيل عنه شوية والفلاحجي هيستخبى :wavetowel:

طيب من المثال اللي فات فهمنا ايه انه لازم يفضل يعيد الجملة لحد ما يبان له صاحب

يعني هنا حطينا شرط لايقاف الحلقة

يبقي كدا اسمها جملة تكرارية شرطية  وتندرج تحت الاسم  looping

 

ومن الامثلة السابقة نقدر نقسم الحلقات التكرارية المحددة والشرطية كما بالاسفل

 

iterations

For.........Next

For.........Each

looping

Do.........Loop

Do...........While

Do...........Until

While

ناخد مثال على الجز الاول وهو   iterations

For.........Next

وتكتب هكذا

      
        For i = 1 To 10

            MsgBox(i)

        Next

نوضح الجمله اولا بدأنا الجملة بكلمة محجوزة For وبعدها حرف i وهو هنا يسمي بالمتغير وبالاصح العداد المتغير

وبعدها = تساوي ايه بقي تساوي القيمة الابتدائية للمتغير  to  القيمة النهائية للمتغير والتي اذا وصل لها توقف عن العمل ونختتم الكود ب Next  للتكرار حتى نهاية القيمة

يبقي المثال اللي فات ايه اللي هيحصل فيه لما نشغله

هيظهر لينا رسائل متتاليه من 1 الى 10 وبعدها تتوقف لانتهاء عمل الكود

طيب لو احنا محتاجين زيادة بمقدار مختلف يعني مثلا يزيد كل مره رقمين مش واحد زي ما موجود

يعني بدل ما يبقي 1 2 3 4 5 6 7 8 9 10

يبقي كدا مثلا 1 3 5 7 9  وطبعا مش هيجيب ال10 لان مسافتها من بعد ال9 رقم واحد يبقي هيتوقف عند ال9 فقط

ازاي نعمل الكود دا نشوف

 For i = 1 To 10 Step 2

            MsgBox(i)

        Next

زودنا هنا كلمة step 2  وهنا يعني مقدار الخطوة 2 للمتغير

طيب ينفع بدل ما ازود انقص مثلا اه تمام ينفع نعكس العمليه

        For i = 10 To 1 Step -1

            MsgBox(i)

        Next

يعني ايه الكود السابق يعني المتغير يفضل يقل من 10 لحد 1 بمقدار -1

طيب احنا هنقضيها مقدار ارقام لا ممكن  نعلن عن متغيرات تحمل الارقام دي ازاي بقي

        Dim x As Byte = 1
        Dim y As Byte = 10

        For i = x To y

            MsgBox(i)

        Next

اظن كدا واضحة لينا احنا اعلنا عن متغيرين من نوع بايت واحد قيمته1 والتاني 10

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

 

 

ندخل بعد كدا على الFor Each

بنستخدم امتى الفور ايتش دي

بنستخدمها مع الكولكشن زي المصفوفات كدا مثلا

هناخد المصفوفات دي بس بعدين المهم هنعرف ازاي نعلن عنها ونعرفها في الجملة فور ايتش في المثال التالي

        Dim myarr() As String = {"الفلاحجي", "ابو البراء", "ابو يوسف", "البسكري", "ياسر العربي"}


        For Each i In myarr

            MsgBox(i)

        Next

هنا اعلنا عن مصفوفه من نوع استرنج نصي يعني وعرفناها  بما هو مكتوب بين الاقواس

وبعدها جينا لجملة التكرار For Each

ووضعنا متغير i  بيساوي المصفوفة myarr

الكود السابق عند تطبيقه سيعرض لنا الاسماء  الموجودة بالمصفوفة على التوالي داخل رسالة وعند الانتهاء من كل محتويات المصفوفة يتوقف عمل الكود

زي ما بنعملها في الاكسيل كدا مثلا

Dim rng As Range
For Each rng In Sheet1.Range("a1:a100")
rng = "الله اكبر"
Next rng

هنا بنعلن عن متغير rng وحددنا له مساحة يشتغل داخلها من الخلية a1 :a100  ونقدر نطبق على هذا النطاق ما نريده

مثلا نحدد المتغير ونقول انه  المتغير هيكون قيمته

الله اكبر

ونطاق الحلقة التكرارية هو 100 خليه  يبقي كلهم هيتكتب فيهم

الله اكبر

 

ولحد هنا نتوقف ونكمل باذن الله باقي الدرس قريبا

المثال المستخدم في الشرح

حمل من هنا المثال

 

تقبلو تحياتي

ياسر العربي

يتبع

:fff::fff::fff::fff:

 

  • Like 4
قام بنشر

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

 

استكمالا لحلقات التكرار

اليوم سنتحدث عن  looping

 

ونسترجع ان اللوبنج من الحلقات التكرارية الشرطية

وسنتطرق الى الجمل الاتية في الحلقات التكرارية الشرطية

Do.........Loop

While

Do...........While

Do...........Until

 

اولهم

Do.........Loop

وطريقة كتابة الاكواد هتبقى ازاي نشوف المثال التالي

        Do
            MsgBox("Yasser")
        Loop

الكود السابق بدايته DO  ثم  الاكواد الخاصة بنا داخل الجملة التكرارية ثم Loop لاعادة تنفيذ الكود مرة اخرى

طيب لما نطبق الكود دا ايه اللي هيحصل

اللي هيحصل ان البرنامج هيطلع لينا رسالة باسم ياسر

بس كدا لا دا هيفضل يطلعها على طول كل ما تطلع من واحده تيجي تانيه الى مالا نهاية ايه السبب

هي جملة شرطية طيب فين الشرط احنا مش حطينا شرط يبقي البرنامج هيفضل شغال رسايل على طول

وطبعا دا لو كود غير  الرسالة مع التكرار الى مالا نهاية سيتعرض دائما برنامجنا الى التهنيج من كثرة التكرار

طيب عايزين نحل المشكلة ونحط شرط للموضوع دا

نشوف المثال التالي ونركز فيه شوية

        Dim x As Byte = 1
        Do
            MsgBox(x)
            x = x + 1
            If x = 10 Then
                Exit Do
            End If
        Loop

اول الكود مجرد اعلنا عن متغير من نوع بايت وعرفناه برقم1

وبعدين بدأنا الجملة ب Do

ثم رسالة بها قيمة المتغير

والسطر اللي بعده رفعنا قيمة المتغير +1 لكل حلقة تكرارية

وبعدين عشان نضع الشرط للجمله نستخدم IF

ونقول لو المتغير X يساوي 10 ايه اللي يحصل اخرج من الجملة التكرارية دي

يبقي الكود السابق هيحصل فيه ايه

بداية الكود المتغير x  هيساوي1 وبعدين هنخش الجملة وتظهر رسالة برقم المتغير اللي هو 1 وهننزل على السطر اللي بعده

هنلاقي انه المتغير زاد رقم بقي 2 يروح على الجملة الشرطية وهي ان المتغير يبقي عشرة والمتغير لسه 2 يبقي هيتجاهل الشرط ويكمل ينزل يلاقي لووووب هوب يرجع تاني وهكذا

لحد اول ما الرقم يوصل 10 يروح للشرط يلاقي انه 10 يقوله عندك اخرج بقي من الدوخة دي واللفه دي

وبكدا عرفنا الجملة Do.........Loop

 

ندخل على الجملة الثانية وهي While

        Dim x As Byte = 1
        While x < 10
            MsgBox("الحمد لله" & x)
            x = x + 1
        End While

ايه الكود دا نفس المتغير x

وندخل على الجملة While  ودي جد على طول بتقولك الشرط ايه عشان اعرف اشتغل عليه من الاول بنقلها لو قيمة الاكس اصغر من 10

يطبع الحمد لله ورقم المتغير جمبها

والسطر اللي بعده طبعا عارفينه وهو زيادة المتغير +1

ويرجع تاني لحد ما يتحقق الشرط عند الرقم 10 تتوقف الجمله الموضوع سهل ومفيهوش اي صعوبة

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

وندخل على الجملة الثالثة وهي Do...........While

        Dim x As Byte = 1
        Do While x < 10
            MsgBox("الحمد لله" & x)
            x = x + 1
        Loop

باختصار الجملة دي تجمع Do & While مع بعض لان Do لوحدها كنا بنستخدم فيها If

اما الان الشرط موجود معها فلا داعي الى IF

 

ندخل على الجملة Do...........Until

والجملةدي عكس ال Do...........While

بمعني ان Do...........Until  بتقول افعل الى ان يتحقق الشرط

Do...........While  افعل عندما يتحقق الشرط

        Dim x As Byte = 1
        Do Until x > 10
            MsgBox("الحمد لله" & x)
            x = x + 1
        Loop

هنا هيفضل يكرر الجملة الى ان تصل قيمة المتغير x  الى اكبر من 10

وبكدا نكون شبه انتهينا من الجمل التكرارية المحددة والشرطية

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

الردود والاستفسارات عن سلسلة دروس الفيجوال بيسك دوت نت

تقبلو تحياتي

ياسر العربي

يتبع

:fff::fff::fff::fff:

  • Like 3
قام بنشر

73772.png

 

اليوم باذن الله سنقوم بشرح المصفوفات

(المصفوفات)Arrays

Arrays (المصفوفات) : يتم التخزين في المصفوفة باحجام ثابتة و متتابعة و تكون العناصر من نفس النوع يعني مثل (string , integer ) يتم استخدام Arrays (المصفوفة) في تخزين البيانات و سهولة  ترتيب الاكواد و اختصارها و تستخدم دائما في المشاريع الكبيرة .
وتعريف أبسط : هي عبارة عن مجموعة من المتغيرات من نفس النوع مخزنه في مصفوفة

نروح لمثال لتطبيق عدد من المتغيرات String

كالاتي


        Dim aa As String
        Dim bb As String
        Dim cc As String
        Dim dd As String
        Dim ee As String
        Dim ff As String
        Dim gg As String

        aa = "ياسر"
        bb = "محمد"
        cc = "اسيل"
        dd = "ابو البراء"
        ee = "ابو يوسف"
        ff = "الفلاحجي"
        gg = "عبد العزيز"

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

طيب اللي فات متغيرات واحنا أخدناها من قبل طيب ايه نظام المصفوفات دي

نشوف الكود التالي


        Dim aa(6) As String

        aa(0) = "ياسر"
        aa(1) = "محمد"
        aa(2) = "اسيل"
        aa(3) = "ابو البراء"
        aa(4) = "ابو يوسف"
        aa(5) = "الفلاحجي"
        aa(6) = "عبد العزيز"

الكود اللي فات دا بيعبر عن مصفوفه بسيطة تتكون من سبع عناصر مع العلم اننا قمنا بتحديد العدد 6 في الاعلان ؟؟؟؟

لانه المصفوفة بتبدأ من الصفر كما ظهر في التعريف اسفل الاعلان

وممكن نكتبها بطريقة اخرى ايضا مثل الكود التالي

 Dim aa() As String = {"ياسر", "محمد", "اسيل", "ابو البراء", "ابو يوسف", "الفلاحجي", "عبد العزيز"}

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

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

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

TextBox1.Text = aa(0)

ايه اللي هيظهر لما نطبق الكود دا هيظهر لينا ياسر في كلتا الحالتين السابقتين من كتابة المصفوفة

طيب المصفوفه اللي اخدناها دي تعتبر مصفوفة ذات البعد الواحد

مصفوفة الone dimensional (البعد الواحد) 

ودي صورة توضيحية  لكيفية عملها

zzzzzzzzzzz.PNG

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

'اكتب واحد من الاسطر الاتية كل مره وشوف النتيجة
TextBox1.Text = aa(0)
TextBox1.Text = aa(1)
TextBox1.Text = aa(2)
TextBox1.Text = aa(3)
TextBox1.Text = aa(4)
TextBox1.Text = aa(5)
TextBox1.Text = aa(6)

طيب دي مصفوفة مكونة من صف واحد فقط ازاي نقدر نحدد صفوف اكتر ودا في القسم الثاني من شرحنا

 

المصفوفة ذات البعدين

Two dimensional (البعدين)

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

Cells(1, 2).Select

rrrrrrrrttttt.PNG

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

طيب نشوف كود المصفوفة دي بيتكتب ازاي

        Dim aa(2, 3) As String

        aa(0, 0) = "ياسر"
        aa(0, 1) = "محمد"
        aa(0, 2) = "اسيل"
        aa(0, 3) = "ابو البراء"
        '--------------------
        aa(1, 0) = "ابو يوسف"
        aa(1, 1) = "الفلاحجي"
        aa(1, 2) = "عبد العزيز"
        aa(1, 3) = "ياسر1"
        '---------------------
        aa(2, 0) = "ياسر2"
        aa(2, 1) = "ياسر3"
        aa(2, 2) = "ياسر4"
        aa(2, 3) = "ياسر5"

        TextBox1.Text = aa(2, 1)

ركزو معايا المفروض دي عبارة عن ثلاثة صفوف واربعة اعمدة وبنعلن عنها كدا (2,3) لان الصفر عندنا يعتبر عمود وصف

طيب الكود السابق دا  التكست بوكس1 الناتج هيكون ايه ؟؟؟؟؟؟؟ هيطلع ياسر3

طيب صور توضيحية عشان نتأكد

xxxxxxxx.PNG

الجدول السابق بيبين لينا تقاطع الصفوف مع الاعمدة والارقا موضحه بالجدول العلوي والاسفل منه يوضح البيانات الموجودة بداخل الجدول مثلا

طيب نشوف الصورة دي

asdasdasd.PNG

ياريت تكون الصورة وضحت اكتر بالنسبة للمصفوفات من نوع المتعددة الابعاد

Arrays Multi dimension

وممكن نكتبها بالطريقة الاخرى هكذا

        Dim aa(,) As String = {{"ياسر", "محمد", "اسيل", "ابو البراء", "ابو يوسف", "الفلاحجي", "عبد العزيز"}, {"1", "2", "3", "4", "5", "6", "7"}, {"8", "9", "10", "11", "12", "13", "14"}}

        TextBox1.Text = aa(0, 2)

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

طيب التكست بوكس اللي في الكود هتساوي ايه

اولها  الصف وهو صفر يعني الصف الاول والثاني العمود ورقمة 3 يعني القيمة الرابعة  لان الصفر يعتبر واحد وهي "أسيل" طبعا الكود معكوس هنا لما تنسخ وتحط داخل البرنامج هتوضح معاك

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

تقبلو تحياتي

ياسر العربي

يتبع

  • Like 3
  • 4 weeks later...
قام بنشر

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

 
 
اقدم لكم اليوم برنامج مصمم بلغة الفيجوال دوت نت
 
البرنامج عبارة عن تركيب برواز وصورة شخصية مثلا
 
تقوم باختيار البرواز المناسب او خلفية شفافة كما تحب المهم انت تكون بامتداد png
 
اما الصورة الشخصية فصورة jpg تفى بالغرض
 
ويتم تركيبهم وحفظهم بالامتداد المناسب
 
كما موضح بالصور
 
 البرنامج مرفق معه الامثلة وبعض البوردرات للتجربة كما يمكن البحث عن بوردارت واضافتها عادي
 
undefined
هذه الصورة الاصلية قبل تركيب البوردرات لها
 
Yasser_Elaraby0.01401764.jpg
 
Yasser_Elaraby0.2895625.jpg
 
Yasser_Elaraby0.301948.jpg
 
Yasser_Elaraby0.533424.jpg
 
Yasser_Elaraby0.5795186.jpg
 
Yasser_Elaraby0.7055475.jpg
 
undefined
وهذه صور بعد تركيب البوردر لها
 
undefined
وهذه صورة مع خلفية شفافةpng
 


اما الكود

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'هنا يتم حفظ الصورة بنفس الشكل داخل البكتشر بوكس  وحفظها بامتداد جي بي جاي وباسم ياسر  
        'وادخلنا عليها الدالة رند لاضافة ارقام عشوائية بجانب الاسم حتى لا يتكرر اسم الحفظ
        Dim bmp As New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)
        Me.PictureBox1.DrawToBitmap(bmp, Me.PictureBox1.ClientRectangle)
        bmp.Save(Application.StartupPath & "\Yasser_Elaraby" & Rnd(11111111) & ".jpg", Imaging.ImageFormat.Jpeg)
        MsgBox("تم الحفظ بصغة JPG")
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        'هنا يتم اختيار الصورة للاداة البكتشر بوكس وهي صورة الباك جروند ليتم وضعها خلف البوردر او الخلفية الشفافة
        Dim ofd As New OpenFileDialog
        ofd.Filter = "JPEG|*.jpg|Bitmap|*.bmp"
        If ofd.ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub
        Try
            Dim bmp As New Bitmap(ofd.FileName)
            If Not IsNothing(PictureBox1.BackgroundImage) Then PictureBox1.BackgroundImage.Dispose()
            PictureBox1.BackgroundImage = bmp
        Catch
            MsgBox("Not a valid image file.")
        End Try
    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        'هنا يتم حفظ الصورة بنفس الشكل داخل البكتشر بوكس  وحفظها بامتداد بي ان جي وباسم ياسر  
        'وادخلنا عليها الدالة رند لاضافة ارقام عشوائية بجانب الاسم حتى لا يتكرر اسم الحفظ
        Dim bmp As New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)
        Me.PictureBox1.DrawToBitmap(bmp, Me.PictureBox1.ClientRectangle)
        bmp.Save(Application.StartupPath & "\Yasser_Elaraby" & Rnd(11111111) & ".png", Imaging.ImageFormat.Png)
        MsgBox("تم الحفظ بصيغة PNG")
    End Sub
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        'هنا يتم اختيار الصورة للاداة البكتشر بوكس وهي صورة البوردر او صورة شفافة
        Dim ofd As New OpenFileDialog
        ofd.Filter = "png|*.png|gif|*.gif"
        If ofd.ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub
        Try
            Dim bmp As New Bitmap(ofd.FileName)
            If Not IsNothing(PictureBox1.Image) Then PictureBox1.Image.Dispose()
            PictureBox1.Image = bmp
        Catch
            MsgBox("Not a valid image file.")
        End Try
    End Sub
    Private Sub اخترالصورةالاصليةToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles اخترالصورةالاصليةToolStripMenuItem.Click
        'هذه عناصر القائمة  الموجودة بالبرنامج وكلها اختصار لعمل الاكواد يعني هنا نقول له عند اختيار هذا العنصر يتم تنفيذ ما بالزر بوتن2
        Button2.PerformClick()
    End Sub
    Private Sub اخترالبروازToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles اخترالبروازToolStripMenuItem.Click
        Button4.PerformClick()
    End Sub
    Private Sub حفظبامتدادJPGToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles حفظبامتدادJPGToolStripMenuItem.Click
        Button1.PerformClick()
    End Sub
    Private Sub حفظبامتدادPNGToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles حفظبامتدادPNGToolStripMenuItem.Click
        Button3.PerformClick()
    End Sub
    Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click
        End
    End Sub
    Private Sub حذفالبراوزToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles حذفالبراوزToolStripMenuItem.Click
        PictureBox1.Image = Nothing
    End Sub
    Private Sub حذفالصورةالاصليةToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles حذفالصورةالاصليةToolStripMenuItem.Click
        PictureBox1.BackgroundImage = Nothing
    End Sub
    Private Sub عنالمبرمجToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles عنالمبرمجToolStripMenuItem.Click
        MsgBox("تصميم واعداد / ياسر العربي" & vbCrLf & vbCrLf & " تليفون محمول رقم / 01097192367" & vbCrLf & vbCrLf & "Email: Yasserelaraby86@gmail.com", MsgBoxStyle.Information)
    End Sub
    Private Sub عنالبرنامجToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles عنالبرنامجToolStripMenuItem.Click
        MsgBox("برنامج تركيب الصور يقوم بتركيب صورة شخصية مثلا على برواز  او على خلفية  اخرى شفافة بامتدادPNG")
    End Sub

End Class

السورس كود مرفق

تحميل االسورس كود

 

رابط الردود

الردود والاستفسارات عن سلسلة دروس الفيجوال بيسك دوت نت

 

يتبع

تحياتي

ياسر العربي

  • Like 2
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information