إخواني و أخواتي الكرام أعضاء منتديات VB4Arab مرحبا بكم
مقدمة :
كثيراً ما نرى برامج تقوم بصنع برامج بالإعدادات التي أدخلها المستخدم
ومن أمثلة هذه البرامج :
والجواب هو نعم نستطيع صنع برامج مثل هذه البرامج باستخدام أداة Microsoft.Build
وهي أداة من أدوات.Net Framework وظيفتها تحويل المشروع إلى ملف EXE
المتطلبات :
1.Microsoft Visual Studio
2. أداة Microsoft.Build
3. مشروعين
الأول المشروع الخاص بك
الثاني المشروع الخاص بالمستخدم
1. Visual Studio
2. WinRAR
3. SetupFactory
4. إلخ...
ولكن هنا السؤال هل نستطيع صنع برامج مثل هذه البرامج؟2. WinRAR
3. SetupFactory
4. إلخ...
والجواب هو نعم نستطيع صنع برامج مثل هذه البرامج باستخدام أداة Microsoft.Build
وهي أداة من أدوات.Net Framework وظيفتها تحويل المشروع إلى ملف EXE
المتطلبات :
1.Microsoft Visual Studio
2. أداة Microsoft.Build
3. مشروعين
الأول المشروع الخاص بك
الثاني المشروع الخاص بالمستخدم
الشرح :
1. المشروع الأول
1. المشروع الأول
المتطلبات :
1. 1 Form
2. 4 TextBox
3. 4 Label
4. 1 Button
2. 4 TextBox
3. 4 Label
4. 1 Button
الخصائص :
غير النص في Form1 إلى "صانع البرامج"
غير النص في Label1 إلى "العنوان :"
غير النص في Label2 إلى "الرسالة عند الضغط على زر 1 :"
غير النص في Label3 إلى "الرسالة عند الضغط على زر 2 :"
غير النص في Label4 إلى "حفظ إلى"
غير النص في Button 1 إلى "حفظ"
من قائمة Project إختر Add Revrence ثم من أدوات .Net إختر أداة Microsoft.Build
غير النص في Form1 إلى "صانع البرامج"
غير النص في Label1 إلى "العنوان :"
غير النص في Label2 إلى "الرسالة عند الضغط على زر 1 :"
غير النص في Label3 إلى "الرسالة عند الضغط على زر 2 :"
غير النص في Label4 إلى "حفظ إلى"
غير النص في Button 1 إلى "حفظ"
من قائمة Project إختر Add Revrence ثم من أدوات .Net إختر أداة Microsoft.Build
ليكون شكل الفورم كالتالي :
والأوامر :
------------------------------------------------------------------------------
2. المشروع الثاني
المتطلبات :
1. 1 Form
2. 2 Button
2. 2 Button
الخصائص :
غير النص في Form1 إلى "Sample"
غير النص في Button 1 إلى "زر 1"
غير النص في Button 1 إلى "زر 2"
ليكون شكل الفورم كالتالي :
غير النص في 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
للتحميل في المرفقات
بالتوفيق للجميع إن شاء الله
وصلى الله على سيدنا محمد وعلى أله وصحبه وسلم