التحكم في نوع الخط فى نظام الباركود - nabil.1710 - 10-05-18
السلام عليكم اخوتي
اردة تعديل بسيط على الكود من فضلكم
اضفط على Form1 عدد 1 combobox و اريد من خلاله التحكم في نوع الخط و يسمع على الملسق بعد الطباعة
حاولت التعديل من الموديول بهذه الطريقة ولكن اعطتني خطاء
قبل التعديل
GraphZ.DrawString(Company, New Font("times new roman", 12, FontStyle.Bold), New SolidBrush(Color.Black), 0, 50)
بعد التعديل
GraphZ.DrawString(Company, New Font(form1.combobox1.text), New SolidBrush(Color.Black), 0, 50)
السورس كود فى المرفقات
RE: التحكم في نوع الخط فى نظام الباركود - mrnooo2000 - 13-05-18
إقتباس :قبل التعديل
GraphZ.DrawString(Company, New Font("times new roman", 12, FontStyle.Bold), New SolidBrush(Color.Black), 0, 50)
بعد التعديل
GraphZ.DrawString(Company, New Font(form1.combobox1.text), New SolidBrush(Color.Black), 0, 50)
شىء طبيعى أن يحدث خطأ فى الموديول لأن الفونت لم يتم تكوينه بشكل صحيح يمكنك استخدام الكود التالى ليعمل معك
كود :
GraphZ.DrawString(TheText, New Font(form1.combobox1.text, 9, FontStyle.Bold), New SolidBrush(Color.Black), 70, 40)
لكن
لكى تحصل على ما تريد بطريقة أفضل اليك الخطوات
1- ستقوم بتغيير فى تعريف الدالة فى الموديول حتى يستقبل متغير الخط و يكون بهذا الشكل
كود :
Function Code128(ByVal TheText As String, ByVal CodeLetter As String, Optional Font As Font = Nothing, Optional Price As String = Nothing, Optional ByVal Kind As String = Nothing, Optional ByVal Company As String = Nothing) As Image
ثم تعدل الكود بنهاية الدالة الى هذا الكود
كود :
' رسم النص المراد ترميزه اسفل الكود
If Font Is Nothing Then
Font = New Font("times new roman", 9, FontStyle.Bold)
End If
Dim Font2 = New Font(Font.FontFamily, Font.Size + 3, FontStyle.Bold)
GraphZ.DrawString(TheText, Font, New SolidBrush(Color.Black), 70, 40)
Dim format1 As New StringFormat(StringFormatFlags.NoClip)
format1.Alignment = StringAlignment.Center
GraphZ.DrawString(Kind, Font2, New SolidBrush(Color.Black), 0, 3)
GraphZ.DrawString(Price, Font, New SolidBrush(Color.Black), 0, 40)
GraphZ.DrawString(Company, Font2, New SolidBrush(Color.Black), 0, 50)
الان يمكنك تعيين الخط من داخل النموذج مباشرة
كود :
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
PicBarCode.BackgroundImage = Code128(TextBox3.Text, "A", New Font(ComboBox1.Text.ToString, 9, FontStyle.Bold), TextBox4.Text & " " & "L.E", TextBox2.Text, TextBox1.Text)
End Sub
Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
PicBarCode.BackgroundImage = Code128(TextBox3.Text, "A", New Font(ComboBox1.Text.ToString, 9, FontStyle.Bold), TextBox4.Text & " " & "L.E", TextBox2.Text, TextBox1.Text)
End Sub
و بالتوفيق
RE: التحكم في نوع الخط فى نظام الباركود - nabil.1710 - 14-05-18
(13-05-18, 09:46 AM)mrnooo2000 كتب : إقتباس :قبل التعديل
GraphZ.DrawString(Company, New Font("times new roman", 12, FontStyle.Bold), New SolidBrush(Color.Black), 0, 50)
بعد التعديل
GraphZ.DrawString(Company, New Font(form1.combobox1.text), New SolidBrush(Color.Black), 0, 50)
شىء طبيعى أن يحدث خطأ فى الموديول لأن الفونت لم يتم تكوينه بشكل صحيح يمكنك استخدام الكود التالى ليعمل معك
كود :
GraphZ.DrawString(TheText, New Font(form1.combobox1.text, 9, FontStyle.Bold), New SolidBrush(Color.Black), 70, 40)
لكن
لكى تحصل على ما تريد بطريقة أفضل اليك الخطوات
1- ستقوم بتغيير فى تعريف الدالة فى الموديول حتى يستقبل متغير الخط و يكون بهذا الشكل
كود :
Function Code128(ByVal TheText As String, ByVal CodeLetter As String, Optional Font As Font = Nothing, Optional Price As String = Nothing, Optional ByVal Kind As String = Nothing, Optional ByVal Company As String = Nothing) As Image
ثم تعدل الكود بنهاية الدالة الى هذا الكود
كود :
' رسم النص المراد ترميزه اسفل الكود
If Font Is Nothing Then
Font = New Font("times new roman", 9, FontStyle.Bold)
End If
Dim Font2 = New Font(Font.FontFamily, Font.Size + 3, FontStyle.Bold)
GraphZ.DrawString(TheText, Font, New SolidBrush(Color.Black), 70, 40)
Dim format1 As New StringFormat(StringFormatFlags.NoClip)
format1.Alignment = StringAlignment.Center
GraphZ.DrawString(Kind, Font2, New SolidBrush(Color.Black), 0, 3)
GraphZ.DrawString(Price, Font, New SolidBrush(Color.Black), 0, 40)
GraphZ.DrawString(Company, Font2, New SolidBrush(Color.Black), 0, 50)
الان يمكنك تعيين الخط من داخل النموذج مباشرة
كود :
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
PicBarCode.BackgroundImage = Code128(TextBox3.Text, "A", New Font(ComboBox1.Text.ToString, 9, FontStyle.Bold), TextBox4.Text & " " & "L.E", TextBox2.Text, TextBox1.Text)
End Sub
Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
PicBarCode.BackgroundImage = Code128(TextBox3.Text, "A", New Font(ComboBox1.Text.ToString, 9, FontStyle.Bold), TextBox4.Text & " " & "L.E", TextBox2.Text, TextBox1.Text)
End Sub
و بالتوفيق
تم المطلوب شكرا لك
RE: التحكم في نوع الخط فى نظام الباركود - حافظ حافظ - 14-05-18
من فضلك اخي نبيل ارفع لنا الملف بعد التعديل ما عرفت اضبطو شكرا
RE: التحكم في نوع الخط فى نظام الباركود - atefkhalf2004 - 14-05-18
يا ريت الملف بعد التعديل
بعد اذنكم
RE: التحكم في نوع الخط فى نظام الباركود - nabil.1710 - 23-05-18
السلام عليكم اخوتي
اسف على التاخير فى الرد
كان عندي مشكلة فى النت
الملف فى المرفقات و بالتوفيق للجميع
|