تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف تبرمج برنامج يصنع برامج !
#1


إخواني و أخواتي الكرام أعضاء منتديات VB4Arab مرحبا بكم


مقدمة :


كثيراً ما نرى برامج تقوم بصنع برامج بالإعدادات التي أدخلها المستخدم

ومن أمثلة هذه البرامج :

1. Visual Studio
2. WinRAR
3. SetupFactory
4. إلخ...
ولكن هنا السؤال هل نستطيع صنع برامج مثل هذه البرامج؟
والجواب هو نعم نستطيع صنع برامج مثل هذه البرامج باستخدام أداة Microsoft.Build
وهي أداة من أدوات.Net Framework وظيفتها تحويل المشروع إلى ملف EXE
المتطلبات :
1.Microsoft Visual Studio
2. أداة Microsoft.Build
3. مشروعين
الأول المشروع الخاص بك
الثاني المشروع الخاص بالمستخدم


الشرح :
1. المشروع الأول

المتطلبات :
1. 1 Form
2. 4 TextBox
3. 4 Label
4. 1 Button

الخصائص :
غير النص في Form1 إلى "صانع البرامج"
غير النص في Label1 إلى "العنوان :"
غير النص في Label2 إلى "الرسالة عند الضغط على زر 1 :"
غير النص في Label3 إلى "الرسالة عند الضغط على زر 2 :"
غير النص في Label4 إلى "حفظ إلى"
غير النص في Button 1 إلى "حفظ"
من قائمة Project إختر Add Revrence ثم من أدوات .Net إختر أداة Microsoft.Build


ليكون شكل الفورم كالتالي :






والأوامر :



------------------------------------------------------------------------------
2. المشروع الثاني

المتطلبات :
1. 1 Form
2. 2 Button

الخصائص :
غير النص في Form1 إلى "Sample"
غير النص في Button 1 إلى "زر 1"
غير النص في Button 1 إلى "زر 2"
ليكون شكل الفورم كالتالي :



[b]------------------------------------------------------------------------------[/b]

قم بحفظ المشروعان بعد ذلك قم بنسخ المشروع الثاني إلى مجلد bin\Debug بدون ملف الsln
ليكون كالتالي :

وعند فتح المجلد Sample :


------------------------------------------------------------------------------
انتهى صنع المشروعان والآن الأوامر والشرح :

كود :
Public Class Form1

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       TextBox4.Text = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\Sample.exe"
       ' تحديد مسار حفظ البرنامج
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Try
           If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Then MsgBox("إملأ البيانات") : Exit Sub
           ' إذا كان أحد مربعات النص فارغة إظهار رسالة تحذيرية
           Dim R As New RichTextBox
           ' تعريف الكائن R بأنه أداة RichTextBox
           R.LoadFile("Sample\Form1.Designer.vb", RichTextBoxStreamType.PlainText)
           'فتح الملف  "Sample\Form1.Designer.vb" لتغيير عنوان الفورم
           For I = 0 To R.Lines.Count - 1
               ' للبحث عن أمر عنوان الفورم وتغييره
               If InStr(R.Lines.GetValue(I), "Me.Text") > 0 Then
                   R.Text = Replace(R.Text, R.Lines.GetValue(I), "        Me.Text = """ & TextBox1.Text & """")
                   Exit For
               End If
           Next
           ' لحفظ الملف
           R.SaveFile("Sample\Form1.Designer.vb", RichTextBoxStreamType.PlainText)
           ' كتابة أوامر الأزرار في ملف " "Sample\Form1.vb
           R.Text = "Public Class Form1"
           R.Text += vbNewLine
           R.Text += vbNewLine
           R.Text += "    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click"
           R.Text += vbNewLine
           R.Text += "        MsgBox(""" & TextBox2.Text & """)"
           R.Text += vbNewLine
           R.Text += "    End Sub"
           R.Text += vbNewLine
           R.Text += vbNewLine
           R.Text += "    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click"
           R.Text += vbNewLine
           R.Text += "        MsgBox(""" & TextBox3.Text & """)"
           R.Text += vbNewLine
           R.Text += "    End Sub"
           R.Text += vbNewLine
           R.Text += vbNewLine
           R.Text += "End Class"
           ' لحفظ الملف
           R.SaveFile("Sample\Form1.vb", RichTextBoxStreamType.PlainText)
           ' الخطوة الأهم وهي تعريف الكائن P على أنه مشروع وفتح المشروع الثاني
           Dim P As New Microsoft.Build.Evaluation.Project("Sample\Sample.vbproj")
           ' وأخيراً عمل Build للمشروع ونسخه إلى المكان المحدد
           If P.Build() = False Then MsgBox("خطأ") : Exit Sub
           My.Computer.FileSystem.CopyFile("Sample\bin\Debug\Sample.exe", TextBox4.Text) : MsgBox("تم")
       Catch ex As Exception
           MsgBox(ex.ToString)
       End Try
   End Sub
End Class


للتحميل في المرفقات



بالتوفيق للجميع إن شاء الله

وصلى الله على سيدنا محمد وعلى أله وصحبه وسلم




الملفات المرفقة
.rar   MakeEXEFile.rar (الحجم : 127.92 ك ب / التحميلات : 71)
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
كيف تبرمج برنامج يصنع برامج ! - بواسطة Osama_Ghareeb - 17-09-12, 09:51 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  نظرة على DropBox SDK و التعامل معها +برنامج رفع و تحميل ملفات ابو ليلى 5 5,974 16-08-24, 04:39 PM
آخر رد: ackore
  كيف تتعامل مع برنامج الإكسيل من برنامجك rinawi 7 7,229 12-11-22, 12:11 AM
آخر رد: خالد العصاوي
  برنامج مبيعات ومشتريات وإدارة أعمال ( الفاتورة الإلكترونية ) yassoo1985 2 2,820 04-06-22, 01:14 PM
آخر رد: yassoo1985
Heart طلب برنامج Advanced Installer أبو خالد الشكري 0 1,718 16-05-22, 09:12 PM
آخر رد: أبو خالد الشكري
  أهم طرق إدارة المخازن وتطبيقها على برنامج مخازن وارد ومنصرف Menna ahmeed 0 2,824 27-04-22, 12:52 PM
آخر رد: Menna ahmeed
  طريقة إنشاء برنامج طباعة ملصقات الباركود ملهمـ 1 5,023 22-12-21, 05:09 PM
آخر رد: alessam4pro
Heart [VB.NET] برنامج ادارة المطاعم و الكافيهات mgr21002100 6 7,412 14-01-21, 07:59 PM
آخر رد: abarrak
  تفعيل برنامج Visual Studio 2019 Adilo idabdellah 4 12,561 20-05-20, 11:48 AM
آخر رد: الفاضي
  برنامج المبيعات والمشتريات والمخازن و المطاعم mgr21002100 2 3,976 07-04-20, 04:29 AM
آخر رد: mgr21002100
  شرح انشاء برنامج دردشة بسيط CLARO 1 5,934 25-08-19, 04:30 AM
آخر رد: أمجد وضاح

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم