التنبيهات التالية ظهرت :
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.4.33 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



تقييم الموضوع :
  • 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 ك ب / التحميلات : 67)
الرد }}}
تم الشكر بواسطة:


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

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف تتعامل مع برنامج الإكسيل من برنامجك rinawi 7 6,652 12-11-22, 12:11 AM
آخر رد: خالد العصاوي
  نظرة على DropBox SDK و التعامل معها +برنامج رفع و تحميل ملفات ابو ليلى 4 4,885 08-09-22, 11:54 AM
آخر رد: saif2023
  برنامج مبيعات ومشتريات وإدارة أعمال ( الفاتورة الإلكترونية ) yassoo1985 2 2,266 04-06-22, 01:14 PM
آخر رد: yassoo1985
Heart طلب برنامج Advanced Installer أبو خالد الشكري 0 1,425 16-05-22, 09:12 PM
آخر رد: أبو خالد الشكري
  أهم طرق إدارة المخازن وتطبيقها على برنامج مخازن وارد ومنصرف Menna ahmeed 0 1,998 27-04-22, 12:52 PM
آخر رد: Menna ahmeed
  طريقة إنشاء برنامج طباعة ملصقات الباركود ملهمـ 1 4,416 22-12-21, 05:09 PM
آخر رد: alessam4pro
Heart [VB.NET] برنامج ادارة المطاعم و الكافيهات mgr21002100 6 6,685 14-01-21, 07:59 PM
آخر رد: abarrak
  تفعيل برنامج Visual Studio 2019 Adilo idabdellah 4 11,562 20-05-20, 11:48 AM
آخر رد: الفاضي
  برنامج المبيعات والمشتريات والمخازن و المطاعم mgr21002100 2 3,592 07-04-20, 04:29 AM
آخر رد: mgr21002100
  شرح انشاء برنامج دردشة بسيط CLARO 1 5,555 25-08-19, 04:30 AM
آخر رد: أمجد وضاح

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


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