ياسر العربى قام بنشر مارس 27, 2016 قام بنشر مارس 27, 2016 بسم الله الرحمن الرحيم الحمد لله الذي عز جلاله فلا تدركه الإفهام، وسما كماله فلا يحيط به الأوهام، وشهدت أفعاله أنه الحكيم العلام، الموصوف بالعلم والقدرة والكلام، سبحانه هو الله الواحد السلام، المؤمنون حبب إليهم الإيمان وشرح صدورهم للإسلام، ويقبل التوبة ويكشف الحوبة ويغفر الإجرام، تبارك اسم ربك ذي الجلال والإكرام واشهد إن لا اله إلا الله, وحده لا شريك له, له الملك, وله الحمد, وهو علي كل شيء قدير شهادة من قال ربى الله ثم استقام الله ربـى لا أريــد ســواه هل في الوجود حقيقة إلا هو يـا من وجب الكمال بذاته فالكل غاية فوزهم لقياه عجز الأنام عـن امتداحك انـه تتصاغر الأفكار دون مـداه من كان يعرف انـك الحق الذي بهر العقول فحسـبه وكفـاه وأشهد أن سيدنا وحبيبنا وشفيعنا محمد عبد الله ورسوله وصفيه من خلقه وحبيبه لم يزل صلى عليه الله وسلم يقاتل في الله بعزم واهتمام، حتى انقشع عن سماء الحق تراكم الغمام، وظل في أفق الإيمان بدر التمام إذا أرد أن تفـوز وتـرتـقي درج العلى أو تنال منه رضاه ادم الصلاة على محمد الـذي لولاه مـا فـتح المكـبر فـاه وله الوسيلة واللـواء وكوثـر يروى الورى وكذا يكون الجاه وعلي اله وأصحابه ومن سار على نهجه وتمسك بسنته واقتدى بهديه واتبعهم بإحسان إلي يوم الدين ونحن معهم يا أرحم الراحمين ثم أما بعد /:اليوم ندخل الى ارض جديدة داخل عالم البرمجة وهي لغة الفيجوال بيسك دوت نت طبعا احبتي لن اكون انا الاساس في هذا الموضوع باذن الله كلنا سنشارك في هذا الموضوع باذن الله فمن لديه معلومة ملحوظة مشروع فكرة يتم وضعها في الردود او ارسالها لنا ويتم وضعها في السلسلة او شرحها باذن الله يرجى ترك الردود والاستفسارات على الرابط المخصص لها بالاسفل رابط الردود الردود والاستفسارات عن سلسلة دروس الفيجوال بيسك دوت نت رابط البرنامج نسخة Visual Studio 2012 Ultimate ISO رابط جديد لنسخة 2012 الحجم 1.5 جيجا دي اللي هنعتمدها اي حد نزل نسخة تانية مفيش مشكلة الا اذا وجد خلاف او بعض الامور الغير متشابهه لو طلبت سيريال SERIAL KEY: RBCXF-CVBGR-382MK-DFHJ4-C69G8 بسم الله نبدأ طريقة فتح البرنامج ومكوناته وطريقة التعامل معهاولا من قائمة البدأ نختار كما بالشكل Visual Studio 2012 ثم تفتح معنا هذه النافذة وهي نافذة بداية البرنامج نختار منها مشروع جديد اما من القائمة FILE & NEW PROJECT او من الاختصار داخل الصفحة نفسها تحت كلمة START NEW PROJECT لتظهر نافذة جديدة ومنها نختار Windows Forms Application ثم تفتح لنا نافذة البرنامج الرئيسية مكونات الصفحة 1- شريط الادوات 2- مستعرض الحلول وهي نافذة المشروع 3- الخصائص وهي خصائص الادوات والفورم المستخدمة 4- صندوق الادوات وهو صندوق الادوات المستخدمة على سطح الفورم مثل الLABEL & TEXTBOX وغيرها 5- شاشة التصميم او مساحة العمل على الفورم 6- شاشة محرر الاكواد بعد عرض شاشة البرنامج الاساسية ومثل أي شرح لاي لغة برمجة يتم عمل المثال التمهيدي والافتتاحي واول برنامج لنا جميعنا على لغة برمجة الفيجوال دوت نت وهو مثال بسيط جدا في غاية السهولة ولكن يترتب عليه بعض الاساسيات التي تتضح لنا لمجرد بناء هذا البرنامج البسيط وهو برنامج الترحيب بالعالم الجديد Hello World ولكن هيبقي ترحيبنا باللغة الجديدة هي برنامج بسم الله الرحمن الرحيم طبعا البرنامج سهل ولا يحتاج لشئ هو مجرد رسالة تظهر فيها ما نكتبه عند تشغيل البرنامج او الضغط على زر ولكن يترتب علي عمل البرنامج فهم طريقة انشاء برنامج وضع الادوات على الفورم كتابة الاكواد داخل المحرر تشغيل البرنامج لاختباره حفظ مشروع البرنامج تحويل البرنامج لملف تنفيذي تحزيم البرنامج معرفة خصائص المشروع برنامج الترحيب بفتح مشروع جديد نقوم كما وضحنا سابقا نقوم بوضع زر امر على الفورم ونختار الزر من صندوق الادوات بعد ان نضع الزر على الفورم نقوم بالضغط عليه دبل كليك ليظهر محرر الاكواد هكذا ثم نكتب بداخله الرسالة الافتتاحية لهذا العالم الجديد Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'يتم عرض رسالة عن طريق هذا الكود MessageBox.Show("بسم الله الرحمن الرحيم") 'ومن الممكن ان نسترجع ذاكرتنا ونكتبها كما تعلمناهكذا MsgBox("الحمد لله") End Sub ثم نقوم بالضغط على start من شريط الادوات او الضغط على F5 لاختبار البرنامج ولحفظ المشروع من قائمة File & Save all وبعد كدا نكتب اسم المشروع ونحدد مكانه زي كدا وبيظهر المشروع بالشكل دا بعد الحفظ الملف المحدد دا ملف المشروع الاساسي يتم تشغل المشروع منه بعد حفظه في اي وقت وبمجرد تشغيل البرنامج الخاص بنا عن طريق f5 or start يتم انشاء نسخه تنفيذية للبرنامج داخل المجلد bin\Debug او نستطيع تحوله لتنفيذي وتحزيمه عن طريق بناء وتحزيم البرنامج من الخيار الاول ثم الثاني المحددين كما تستطيع التعديل على خصائص المشروع كما تعلمنا سابقا في الفيجوال6 هكذا 1- اسم المشروع 2- نوع النت فريم وورك المستخدم للبرنامج والذي سيعتمد عليه بمعنى انه عند اختيارك اصدار النت فريم وورك يشترط وجود نفس الاصدار او احدث على الجهاز الذي سيعمل عليه البرنامج 3- نوع مشروع البرنامج 4- طبعا كلنا عارفينها الفورم اللي هيبدأ عند تشغيل البرنامج نستطيع وضع اي فورم ليبدأ اولا 5- ايقونة البرنامج ونستطيع هنا اختيار ايقونات بدقة عالية عكس فيجوال 6 محدد على عدد الوان وبكسلات معينة مرفق مشروع البرنامج التمهيدي طبعا انا متعود على ان الردود تسبق الدروس بكثير مستني الابداع منكم اتمنى من الله ان اكون قد وفقت في تقديم البداية لدخول عالم الدوت نت بشكل مقبول الى هنا انتهى الدرس يتبع باذن الله تقبلوا تحياتي ياسر العربي test prog.rar 5
ياسر العربى قام بنشر مارس 29, 2016 الكاتب قام بنشر مارس 29, 2016 السلام عليكم ورحمة الله وبركاته اليوم باذن الله نبدأ بأول مثال لنا داخل الفيجوال دوت نت ومثل ما قمنا بعمل تصميم لبرنامج آله حاسبة داخل بيئة الفيجوال 6 سنقوم بعمل نفس البرنامج ولكن افضل طبعا من السابق يعني احنا بنتقدم ونعمل نفس القديم لا لازم يكون في احساس بأن فيه جديدوفي تغيير للافضل يلا الكل معايا يمسك الورقة والقلم( الماوس والكيبورد والبرنامج) طبعا هنفتح مشروع جديد عادي خالص مكونات الادوات على الفورم 17 زر button 1 تكست بوكس 1 ليبل لزوم كلمة اوفيسنا بس والقائمة Menustrip الجديد هنا موضوع القائمة دا كيفية عملها بعد وضع الاداة يظهر لنا ثلاث مستطيلات للكتابة داخلهم وهي اول مستطيل وهو اسم اول القائمة وهو فايل مثلا والثاني لجانبها الايمن وهو لاضافة قائمة بجانبها كما في 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 الكود سهل ولكن انظرو ماذا قمنا بانهائه وبشكل جميل وبرنامج ويعتمد عليه عكس تصميماتنا القديمة ومن الممكن وضع اضافات لاختصارات كتير ولكن نبدأ بالسهل ثم الاصعب اظن كدا دا انتاج محلى بقي المفروض نعتمد عليها ونسيب الآله الحاسبة بتاعه الويندوز ونشجع المنتج بتاعنا نشغل البرنامج بتاعنا ونشوف شكله ايه أي استفسارات طبعا موضوع الردود موجود ياريت نشوف الابداع انا عملت آله حاسبة انا عايز كيبورد مش آله حاسبة بس انا بقول كدا عشان عارف انكم عندكوا لمسات كويسة طبعا مرفق البرنامج عشان الجماعة اللي بيكسلوا يصمموا من الاول والسلام عليكم تقبلوا تحياتي ياسر العربي يتبع Calculator Yasser.rar Calculator Yasser.rar 3
ياسر العربى قام بنشر مارس 30, 2016 الكاتب قام بنشر مارس 30, 2016 السلام عليكم ورحمة الله وبركاته اليوم سنذكر طريقة اخرى لعمل آله حاسبة في حال اذا عمل الكود السابق على نظام 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 3
ياسر العربى قام بنشر مارس 31, 2016 الكاتب قام بنشر مارس 31, 2016 المتغيرات Variables سنبدأ بتعريف المتغير Variable و هو يشير إلى موقع تخزينى فى الذاكرة و يمكن أن يحتوى على بيانات (عددية أو حرفية) ، و يتم تعريف المتغير أثناء كتابة البرنامج ، و يمكن تغيير محتوى هذا المتغير أثناء سير البرنامج ، و كل متغير له اسم وحيد يعرف به و كل متغير له اسم وحيد يعرف به و لا يمكن وجود متغيرين أو أكثر بنفس الاسم فى مكان واحد بالذاكرة. عند تحديد اسم المتغير يجب اتباع شروط محددة: .2 أن يبدأ بحرف هجائى (انجليزى : A,B, …..Y,Z or a,b,….,y,z) .3 ألا يحتوى على علامات خاصة (؟،! ،: ، ....) .4 ألا يكون هذا الاسم من الكلمات المحفوظة فى اللغة البرمجية مثل End , Byte وغيرها .5 الاسم قد يتضمن أرقام و حروف.أنواع المتغيرات : نأتى لجزء مهم فى تكويد المتغيرات و هو تعريف المتغير و هو الإعلان عن اسم المتغير و نوعه داخل نافذة البرمجة ، و من صور المتغير داخل نافذة البرمجة: Dim VariableName As DataType أمثلة تعريف على أنواع المتغيرات السابقة: او من الممكن ان نعرفها هكذا Dim myIntegr As Integer myInteger =3 وهكذا مع جميع المتغيرات Variables وهذا درس مرفق لاخي الغالي ياسر ابو البراء عن المتغيرات Variables في الVBA وطبعا وجهه الشبه كبير بين الVBA والدوت نت من حيث المتغيرات وبعض الاكواد البرمجية بل ان معظم تعريف المتغيرات Variablesداخل نوافذ البرمجة عامة كلها شبه متطابقة طيب محتاجين مثال فيه متغيرات كتطبيق عملي اقول لكم لو قمتم بتطبيق درس الآله الحاسبة ستجدو ان به متغيرات من النوع Double و String المتغير Double تم تعريفه ليكون للقيم المدخلة من الآله الحاسبة ولماذا اختارنا هذا المتغير لانه يدعم الكسور لان العمليات الحسابية لن تخلو دائما من الكسور والمتغير String تم اختياره للعمليات الحسابية وهي العلامات + - * / واستخدمناه هنا ليتعامل مع العلامات على انها نص اتمنى ان اكون قد وصلت المعلومة بطريقة سهلة ياريت بقي نلاقي امثلة فيها متغيرات منوعه كدا من الجميع تقبلو تحياتي ياسر العربي يتبع المتغيرات نبدأ الحلقة.rar 2
ياسر العربى قام بنشر أبريل 2, 2016 الكاتب قام بنشر أبريل 2, 2016 الثوابت تنقسم الثوابت في لغة الفيجوال بسيك إلى ثلاثة اقسام رئيسية وهي نصية او رقمية ومنطقيةويمكننا تعريف ثابت في البرنامج من خلال الكلمة المحجوزة 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 ملاحظة هامة عند تعاملنا مع الثوابت يجب علينا ادخال القيمة للثابت في نفس جملة تعريف الثابت تقبلو تحياتي ياسر العربي يتبع 2
ياسر العربى قام بنشر أبريل 3, 2016 الكاتب قام بنشر أبريل 3, 2016 بسم الله الرحمن الرحيم احبتي في الله اليوم باذن الله سنقوم بشرح كيفية ربط الفيجوال بيسك دوت نت مع الاكسيل نقوم بفتح برنامج الفيجوال بيسك دوت نت ثم نقوم بعمل مشروع جديد ونقوم باضافة عدد واحد تكست بوكس textbox وخمسة زر button ووضعهم كما بالصورة وطبعا نقوم من تبويب الخصائص الخاص بالادوات بالتعديل على اي اداة من حيث تغيير الاسم ولون الاداة وشكلها وحجمها وحجم الخط بداخلها وغيرها وغيرها من خواص هناك طرق عدة لربط برامج كثيرة بالفيجوال ومنها الاكسيل وسوف نشرح الطريقة التى احبها واعرفها ايضا وهي ما قمت بشرحها بسلسلة الفيجوال6 وان شاء الله الاختلاف بسيط ولكن الاساس واحد وهنعتمد على المراجع وهنختار المكتبة الخاصة بالاكسيل داخل المراجع بالفيجوال كما شرحناها سابقا ومن يريد معلومة اضافية يدخل على سلسلة الفيجوال6 يراجع نفس الدرس المذكور اعلاه وهو ربط الفيجوال بالاكسيل وهذا هو الرابط سلسلة دروس الفيجوال بيسك 6 الان نقوم بالذهاب الى قائمة البرنامج الرئيسية ونختار منها بروجيكت ثم Add Reference ثم نقوم باختيار com ومنها نختار المكتبة الخاصة بالاكسيل كما موضح بالصورة الان قمنا بتصميم مشروعنا وقمنا بتجهيز المكتبات اللازمة لعمل البرنامج ينقص الان كود عمل البرنامج نضع هذا السطر في اول الكود في ال 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 انا قمت بوضع مثال لتكست بوكس فقط للتوضيح انا عايز منكم فهم الشرح وتطبيقه على نطاق اوسع شوية من المثال الموجود يعني عاوز برامج بجد شغل يعتمد عليه مش مجرد مثال يلا عايز اشوف شغل مش كلام ومش هحط مرفق نهائي الان لحد لما نشوف التفاعل والشغل تقبلو تحياتي ياسر العربي يتبع 1
ياسر العربى قام بنشر أبريل 8, 2016 الكاتب قام بنشر أبريل 8, 2016 السلام عليكم ورحمة الله وبركاته الدروس السابقة تم تحويلها على هيئة كتب الكترونية لمراجعتها اوف لاين باذن الله يتم تحويل كل درس لكتاب الكتروني لسهولة الوصول له خارج الانترنت تشغيل البرنامج ولمحة عن الشاشة الرئيسية تطبيق اول مثال على الفيجوال دوت نت آله حاسبة تطبيق مثال آله حاسبة بكود اخر وتوضيح شكل محرر الاكواد شرح المتغيرات والثوابت شرح كيفية ربط الفيجوال دوت نت بالاكسيل والتعامل معه تقبلوا فائق احترامي ياسر العربي يتبع 3
ياسر العربى قام بنشر أبريل 8, 2016 الكاتب قام بنشر أبريل 8, 2016 بسم الله الرحمن الرحيم درس اليوم بعنوان الحلقات التكرارية iterations & looping يعني ايه iterations & looping ويعني ايه حلقات تكرارية من الاصل الحلقات التكرارية في الاصل هي تكرار امر معين عدد من المرات كثيرا ما نحتاج في برامجنا تكرار بعض الاوامر عدد من المرات المحددة او الغير محددة يعني مثلا اقول لحبيبي ابو البراء قول ارنبنا فى منور انور وأرنب أنور فى منورنا عشر مرات مثلا كدا انا حددت عدد التكرار هنا عشر مرات دا ان عرف يعني يقولهم او حتى اخي احمد الفلاحجي هنا بقي نقول ان دي جمله تكرارية محددة او معروفة وتندرج تحت الاسم iterations طيب لو قلت لابو البراء قول بسيطه وماتستبسطهاش وصعبه وماتصتصعبهاش لحد ما يبان لك صاحب ههههههه كدا اول واحد هيظهر ويتعاطف مع الموقف حبيبي ابو يوسف ويقولي حرام عليك واخي الغالي عبد العزيز هيقول اشيل عنه شوية والفلاحجي هيستخبى طيب من المثال اللي فات فهمنا ايه انه لازم يفضل يعيد الجملة لحد ما يبان له صاحب يعني هنا حطينا شرط لايقاف الحلقة يبقي كدا اسمها جملة تكرارية شرطية وتندرج تحت الاسم 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 خليه يبقي كلهم هيتكتب فيهم الله اكبر ولحد هنا نتوقف ونكمل باذن الله باقي الدرس قريبا المثال المستخدم في الشرح حمل من هنا المثال تقبلو تحياتي ياسر العربي يتبع 4
ياسر العربى قام بنشر أبريل 9, 2016 الكاتب قام بنشر أبريل 9, 2016 بسم الله الرحمن الرحيم استكمالا لحلقات التكرار اليوم سنتحدث عن 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 وبكدا نكون شبه انتهينا من الجمل التكرارية المحددة والشرطية طبعا دا مجرد شرح مبسط اذا كان هناك اي استفسار يرجى طرحه داخل الردود الخاصة بالموضوع الردود والاستفسارات عن سلسلة دروس الفيجوال بيسك دوت نت تقبلو تحياتي ياسر العربي يتبع 3
ياسر العربى قام بنشر أبريل 15, 2016 الكاتب قام بنشر أبريل 15, 2016 اليوم باذن الله سنقوم بشرح المصفوفات (المصفوفات)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 (البعد الواحد) ودي صورة توضيحية لكيفية عملها وتستطيع تغيير الارقام في الكود التالي كما هي موضحه بالصور واشوف النتيجة 'اكتب واحد من الاسطر الاتية كل مره وشوف النتيجة 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 يبقي الخلية كما بالصورة هي المحددة بالكود هتفهموا الصورة دي يبقي كدا عرفنا المصفوفة ذات البعدين طيب نشوف كود المصفوفة دي بيتكتب ازاي 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 طيب صور توضيحية عشان نتأكد الجدول السابق بيبين لينا تقاطع الصفوف مع الاعمدة والارقا موضحه بالجدول العلوي والاسفل منه يوضح البيانات الموجودة بداخل الجدول مثلا طيب نشوف الصورة دي ياريت تكون الصورة وضحت اكتر بالنسبة للمصفوفات من نوع المتعددة الابعاد 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 يعني القيمة الرابعة لان الصفر يعتبر واحد وهي "أسيل" طبعا الكود معكوس هنا لما تنسخ وتحط داخل البرنامج هتوضح معاك ارجو أن أكون قد وفقت في الشرح .الردود والاستفسارات عن سلسلة دروس الفيجوال بيسك دوت نتفي امان الله . تقبلو تحياتي ياسر العربي يتبع 3
ياسر العربى قام بنشر مايو 11, 2016 الكاتب قام بنشر مايو 11, 2016 بسم الله الرحمن الرحيم اقدم لكم اليوم برنامج مصمم بلغة الفيجوال دوت نت البرنامج عبارة عن تركيب برواز وصورة شخصية مثلا تقوم باختيار البرواز المناسب او خلفية شفافة كما تحب المهم انت تكون بامتداد png اما الصورة الشخصية فصورة jpg تفى بالغرض ويتم تركيبهم وحفظهم بالامتداد المناسب كما موضح بالصور البرنامج مرفق معه الامثلة وبعض البوردرات للتجربة كما يمكن البحث عن بوردارت واضافتها عادي هذه الصورة الاصلية قبل تركيب البوردرات لها وهذه صور بعد تركيب البوردر لها وهذه صورة مع خلفية شفافة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 السورس كود مرفق تحميل االسورس كود رابط الردود الردود والاستفسارات عن سلسلة دروس الفيجوال بيسك دوت نت يتبع تحياتي ياسر العربي 2
الردود الموصى بها