تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] افضل ما توصلت له لنظام الباركود
#11
(23-09-16, 11:39 PM)ابو ليلى كتب : عذراً للتاخير اخي الكريم.....كثرة المشاغل
لتحديد الطابعة من الطابعات المثبتة لديك انت تحتاج الى تمرير اسم الطابعة مباشرة الى اعدادت الطباعة او كفكرة موسعة
لنقم باضافة الطابعات المتوفرة الى ListBox1 و اضافة من عندي نضيف ايضاً الدقة الى ListBox2
و نمرر اسم الطابعة و الدقة الى اجراء الطباعة
المطلوب منك اضافة ListBox1-ListBox2 الى النموذج
و الكود التالي استبدله بكود النموذج لديك

كود النموذج

PHP كود :
Imports System.Drawing.Printing

Public Class Form1
    Dim PrintDoc 
As Printing.PrintDocument = New Printing.PrintDocument()
 
   Dim pd_PrintDialog As New PrintDialog
    
' Dim MyImage As System.Drawing.Image = PicBarCode.BackgroundImage

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        ActiveControl = TextBox3

        Dim Print_name As String
        For i As Integer = 0 To PrinterSettings.InstalledPrinters.Count - 1
            Print_name = PrinterSettings.InstalledPrinters.Item(i)
            ListBox1.Items.Add(Print_name)
        Next

        ListBox2.DataSource = pd_PrintDialog.PrinterSettings.PrinterResolutions.OfType(Of Printing.PrinterResolution).Select(Function(x) New PrintQuality(x)).ToArray
        ListBox2.Enabled = ListBox2.Items.Count > 0
        ListBox2.SelectedItem = ListBox2.Items.OfType(Of PrintQuality).FirstOrDefault

    End Sub

    ' 
تم ايقاف هذا الاجراء و لم يعد يستخدم و ترك مؤقتا 
    Public Sub PrintBarCodeV
()

 
       pd_PrintDialog.UseEXDialog True
        pd_PrintDialog
.AllowPrintToFile False

        
'تحديد عدد النسخ المراد طباعتها
        pd_PrintDialog.PrinterSettings.Copies = nud_Count.Value

        '
عرض صندوق حوار اختيار الطابعة
        If pd_PrintDialog
.ShowDialog Windows.Forms.DialogResult.OK Then
            PrintDoc
.PrinterSettings pd_PrintDialog.PrinterSettings
            AddHandler PrintDoc
.PrintPageAddressOf PrintDocHandler

        End 
If

 
   End Sub


    Private Sub TextBox3_TextChanged
(sender As ObjectAs EventArgsHandles TextBox3.TextChanged
        PicBarCode
.BackgroundImage Code128(TextBox3.Text"A"TextBox4.TextTextBox2.Text)
 
   End Sub


    
'This is the event handler for printing bar codes
    Private Sub PrintDocHandler(ByVal sender As Object, ByVal ev As Printing.PrintPageEventArgs)
        ev.Graphics.DrawImage(PicBarCode.BackgroundImage, nud_MarginH.Value, nud_MarginW.Value, nud_MarginWBrcode.Value, nud_MarginHBrcode.Value)

    End Sub





    Private Sub butPageSetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butPageSetup.Click


        '
اعداد الصفحة

        PageSetupDialog1
.Document PrintDoc
        PageSetupDialog1
.ShowDialog()
 
   End Sub

    Private Sub Button1_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click


        
'معاينة قبل الطباعة

        AddHandler PrintDoc.PrintPage, AddressOf PrintDocHandler

        '
تحديد عدد النسخ المراد طباعتها
        pd_PrintDialog
.PrinterSettings.Copies nud_Count.Value

        PrintPreviewDialog1
.Document PrintDoc
        PrintPreviewDialog1
.ShowDialog()


 
   End Sub



    Private Sub Button5_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button5.Click

        Close
()
 
   End Sub


    Private Sub طباعة_الباركود_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        Try


            
'كتابة اسم المنتج على ملصق الباركود
            '
Dim a As Graphics PicBarCode.CreateGraphics
            
'a.DrawString(TextBox2.Text, Me.Font, Brushes.Black, 100, 5)


            '
ActiveControl TextBox3

        Catch ex 
As Exception

        End 
Try
 
   End Sub

    Private Sub Button11_Click
(ByVal sender As System.ObjectByVal e As System.EventArgs)
 
       PrintBarCodeV()
 
   End Sub







    Private Sub Button11_Click_2
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button11.Click


        
'طباعة الباركود
        If TextBox3.Text = "" Then '
الباركود فارغ 
            MsgBox
("من فضلك تأكد من كتابة النص المراد تحويله الى باركود"MsgBoxStyle.DefaultButton1"ogy soft")
 
           Exit Sub

        Else

            pd_PrintDialog
.PrinterSettings.DefaultPageSettings.PrinterSettings.PrintToFile False
            
'تحديد عدد النسخ المراد طباعتها.
            pd_PrintDialog.PrinterSettings.Copies = nud_Count.Value

            PrintDoc.PrinterSettings = pd_PrintDialog.PrinterSettings
            PrintDoc.PrinterSettings.PrinterName = ListBox1.Text


            '
دقة الطباعة
            Dim PrintQuality 
TryCast(ListBox2.SelectedItemPrintQuality)
 
           If PrintQuality IsNot Nothing Then
                PrintDoc
.DefaultPageSettings.PrinterResolution PrintQuality.Resolution
            End 
If


 
           AddHandler PrintDoc.PrintPageAddressOf PrintDocHandler
            
'امر الطباعة
            PrintDoc.Print()
        End If
    End Sub





    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

        '
كتابة اسم المنتج على ملصق الباركود
        PicBarCode
.BackgroundImage Code128(TextBox3.Text"A"TextBox4.TextTextBox2.Text)


 
   End Sub

    Private Sub Timer2_Tick
(sender As ObjectAs EventArgsHandles Timer2.Tick

        
'كتابة سعر  المنتج على ملصق الباركود
        PicBarCode.BackgroundImage = Code128(TextBox3.Text, "A", TextBox4.Text, TextBox2.Text)
    End Sub

End Class


'
كلاس للدقة
Public Class PrintQuality
    Public Property Resolution 
As Printing.PrinterResolution

    Public Overrides 
Function ToString() As String
        If Resolution
.Kind Printing.PrinterResolutionKind.Custom Then
            Return 
"Custom (" Resolution." x " Resolution." DPI)"
 
       Else
            Return Resolution
.Kind.ToString
        End 
If
 
   End Function

 
   Public Sub New(Resolution As Printing.PrinterResolution)
 
       Me.Resolution Resolution
    End Sub
End 
Class 

و لا تنسى ترفع الملف بعد التعديل لمن طلبه الاصدارة لدي لا تتوافق مع اغلب الاصدارات عند الاعضاء
شكرا لك اخى ابو ليلى و قد اضفت على النموذج TextBox1 و اسميته في Module1 باسم Company حتى يظهر به اسم الشركة 

و قد اضفت هذا الكود فى Module1
 GraphZ.DrawString(Company, New Font("times new roman", 12, FontStyle.Bold), New SolidBrush(Color.Black), 0, 50)

و قمت باعدة تنسيق الباركود 

و عدلة فى هذا الكود لاظهار رمز العملة على السعر و اضافة اسم الشركة فى الطباعة
PicBarCode.BackgroundImage = Code128(TextBox3.Text, "A", TextBox4.Text & " " & "L.E", TextBox2.Text, TextBox1.Text)

و اهم ما فى هذه المشاركة اخى ابو ليلى انى فهمت الكود جيدا و شكرا جزيلا لك و تم اضافة النموذج فى المرفقات 

نسأل الله ان يستفيد الجميع و ان يرزق كل طالب علم كل ما يتمناه

و نشكر مرتا اخرى الاخ ابو ليلى و نسأل الله ان يزيده علما


الملفات المرفقة
.rar   باركود.rar (الحجم : 99.12 ك ب / التحميلات : 185)
الرد }}}
تم الشكر بواسطة: جميل علي , ابو ليلى , Adrees
#12
(24-09-16, 03:49 AM)nabil.1710 كتب :
(23-09-16, 11:39 PM)ابو ليلى كتب : عذراً للتاخير اخي الكريم.....كثرة المشاغل
لتحديد الطابعة من الطابعات المثبتة لديك انت تحتاج الى تمرير اسم الطابعة مباشرة الى اعدادت الطباعة او كفكرة موسعة
لنقم باضافة الطابعات المتوفرة الى ListBox1 و اضافة من عندي نضيف ايضاً الدقة الى ListBox2
و نمرر اسم الطابعة و الدقة الى اجراء الطباعة
المطلوب منك اضافة ListBox1-ListBox2 الى النموذج
و الكود التالي استبدله بكود النموذج لديك

كود النموذج

PHP كود :
Imports System.Drawing.Printing

Public Class Form1
    Dim PrintDoc 
As Printing.PrintDocument = New Printing.PrintDocument()
 
   Dim pd_PrintDialog As New PrintDialog
    
' Dim MyImage As System.Drawing.Image = PicBarCode.BackgroundImage

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        ActiveControl = TextBox3

        Dim Print_name As String
        For i As Integer = 0 To PrinterSettings.InstalledPrinters.Count - 1
            Print_name = PrinterSettings.InstalledPrinters.Item(i)
            ListBox1.Items.Add(Print_name)
        Next

        ListBox2.DataSource = pd_PrintDialog.PrinterSettings.PrinterResolutions.OfType(Of Printing.PrinterResolution).Select(Function(x) New PrintQuality(x)).ToArray
        ListBox2.Enabled = ListBox2.Items.Count > 0
        ListBox2.SelectedItem = ListBox2.Items.OfType(Of PrintQuality).FirstOrDefault

    End Sub

    ' 
تم ايقاف هذا الاجراء و لم يعد يستخدم و ترك مؤقتا 
    Public Sub PrintBarCodeV
()

 
       pd_PrintDialog.UseEXDialog True
        pd_PrintDialog
.AllowPrintToFile False

        
'تحديد عدد النسخ المراد طباعتها
        pd_PrintDialog.PrinterSettings.Copies = nud_Count.Value

        '
عرض صندوق حوار اختيار الطابعة
        If pd_PrintDialog
.ShowDialog Windows.Forms.DialogResult.OK Then
            PrintDoc
.PrinterSettings pd_PrintDialog.PrinterSettings
            AddHandler PrintDoc
.PrintPageAddressOf PrintDocHandler

        End 
If

 
   End Sub


    Private Sub TextBox3_TextChanged
(sender As ObjectAs EventArgsHandles TextBox3.TextChanged
        PicBarCode
.BackgroundImage Code128(TextBox3.Text"A"TextBox4.TextTextBox2.Text)
 
   End Sub


    
'This is the event handler for printing bar codes
    Private Sub PrintDocHandler(ByVal sender As Object, ByVal ev As Printing.PrintPageEventArgs)
        ev.Graphics.DrawImage(PicBarCode.BackgroundImage, nud_MarginH.Value, nud_MarginW.Value, nud_MarginWBrcode.Value, nud_MarginHBrcode.Value)

    End Sub





    Private Sub butPageSetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butPageSetup.Click


        '
اعداد الصفحة

        PageSetupDialog1
.Document PrintDoc
        PageSetupDialog1
.ShowDialog()
 
   End Sub

    Private Sub Button1_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click


        
'معاينة قبل الطباعة

        AddHandler PrintDoc.PrintPage, AddressOf PrintDocHandler

        '
تحديد عدد النسخ المراد طباعتها
        pd_PrintDialog
.PrinterSettings.Copies nud_Count.Value

        PrintPreviewDialog1
.Document PrintDoc
        PrintPreviewDialog1
.ShowDialog()


 
   End Sub



    Private Sub Button5_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button5.Click

        Close
()
 
   End Sub


    Private Sub طباعة_الباركود_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        Try


            
'كتابة اسم المنتج على ملصق الباركود
            '
Dim a As Graphics PicBarCode.CreateGraphics
            
'a.DrawString(TextBox2.Text, Me.Font, Brushes.Black, 100, 5)


            '
ActiveControl TextBox3

        Catch ex 
As Exception

        End 
Try
 
   End Sub

    Private Sub Button11_Click
(ByVal sender As System.ObjectByVal e As System.EventArgs)
 
       PrintBarCodeV()
 
   End Sub







    Private Sub Button11_Click_2
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button11.Click


        
'طباعة الباركود
        If TextBox3.Text = "" Then '
الباركود فارغ 
            MsgBox
("من فضلك تأكد من كتابة النص المراد تحويله الى باركود"MsgBoxStyle.DefaultButton1"ogy soft")
 
           Exit Sub

        Else

            pd_PrintDialog
.PrinterSettings.DefaultPageSettings.PrinterSettings.PrintToFile False
            
'تحديد عدد النسخ المراد طباعتها.
            pd_PrintDialog.PrinterSettings.Copies = nud_Count.Value

            PrintDoc.PrinterSettings = pd_PrintDialog.PrinterSettings
            PrintDoc.PrinterSettings.PrinterName = ListBox1.Text


            '
دقة الطباعة
            Dim PrintQuality 
TryCast(ListBox2.SelectedItemPrintQuality)
 
           If PrintQuality IsNot Nothing Then
                PrintDoc
.DefaultPageSettings.PrinterResolution PrintQuality.Resolution
            End 
If


 
           AddHandler PrintDoc.PrintPageAddressOf PrintDocHandler
            
'امر الطباعة
            PrintDoc.Print()
        End If
    End Sub





    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

        '
كتابة اسم المنتج على ملصق الباركود
        PicBarCode
.BackgroundImage Code128(TextBox3.Text"A"TextBox4.TextTextBox2.Text)


 
   End Sub

    Private Sub Timer2_Tick
(sender As ObjectAs EventArgsHandles Timer2.Tick

        
'كتابة سعر  المنتج على ملصق الباركود
        PicBarCode.BackgroundImage = Code128(TextBox3.Text, "A", TextBox4.Text, TextBox2.Text)
    End Sub

End Class


'
كلاس للدقة
Public Class PrintQuality
    Public Property Resolution 
As Printing.PrinterResolution

    Public Overrides 
Function ToString() As String
        If Resolution
.Kind Printing.PrinterResolutionKind.Custom Then
            Return 
"Custom (" Resolution." x " Resolution." DPI)"
 
       Else
            Return Resolution
.Kind.ToString
        End 
If
 
   End Function

 
   Public Sub New(Resolution As Printing.PrinterResolution)
 
       Me.Resolution Resolution
    End Sub
End 
Class 

و لا تنسى ترفع الملف بعد التعديل لمن طلبه الاصدارة لدي لا تتوافق مع اغلب الاصدارات عند الاعضاء
شكرا لك اخى ابو ليلى و قد اضفت على النموذج TextBox1 و اسميته في Module1 باسم Company حتى يظهر به اسم الشركة 

و قد اضفت هذا الكود فى Module1
 GraphZ.DrawString(Company, New Font("times new roman", 12, FontStyle.Bold), New SolidBrush(Color.Black), 0, 50)

و قمت باعدة تنسيق الباركود 

و عدلة فى هذا الكود لاظهار رمز العملة على السعر و اضافة اسم الشركة فى الطباعة
PicBarCode.BackgroundImage = Code128(TextBox3.Text, "A", TextBox4.Text & " " & "L.E", TextBox2.Text, TextBox1.Text)

و اهم ما فى هذه المشاركة اخى ابو ليلى انى فهمت الكود جيدا و شكرا جزيلا لك و تم اضافة النموذج فى المرفقات 

نسأل الله ان يستفيد الجميع و ان يرزق كل طالب علم كل ما يتمناه

و نشكر مرتا اخرى الاخ ابو ليلى و نسأل الله ان يزيده علما

السلام  عليكم  اخوانى

الباركود على برينتر زيبرا  نوع الخط ردئ  جدا و  لو  طبعته  على  البرينتر  العادى يكون جيد

و  الكود يتم قرائته على  الملصق  الكبير بصورة  جيدة  اما الملصق الصغير لا يقرا  حجم الملصق  الصغير 2.5*1.25
و سوف ارفق صورة داخل  المشاركة

الملصق بعد الطباعة مع  العلم  انى غيرت  اكثر من خط و لكن  الجوده تظهر رديئه 

الرد }}}
تم الشكر بواسطة:
#13
غالبا المشكلة مشكلة graphics و مقياس رسم
الطابعة مقياس الرسم الخاص بها يختلف تماما عن الصور .... أيضا يختلف عن الفورم او الكونترول التي تظهر فيه الصورة
ما هي أقل أبعاد تريدها لصورة الباركود؟
الرد }}}
تم الشكر بواسطة:
#14
(15-05-17, 03:44 AM)silverlight كتب : غالبا المشكلة مشكلة graphics و مقياس رسم
الطابعة مقياس الرسم الخاص بها يختلف تماما عن الصور .... أيضا يختلف عن الفورم او الكونترول التي تظهر فيه الصورة
ما هي أقل أبعاد تريدها لصورة الباركود؟

شكرا على سرعة الرد اخى

اخى اريد ان  اطبع  الباركود على  3 احجام للملصقاط
الحجم الصغير  2.5*1.25
الحجم المتوسط 3.8*1.5
الحجم  الكبير 5*2.5

اما ابعاد الصورة  اللتى تناسب هذه الملسقاط صدقنى لا  ادرى
الرد }}}
تم الشكر بواسطة:
#15
ابعاد الملصقات ب السنتيميتر أم ب البوصة
الرد }}}
تم الشكر بواسطة:
#16
(15-05-17, 04:38 AM)silverlight كتب : ابعاد الملصقات ب السنتيميتر أم ب البوصة

الملصقات بالسنتيميتر
الرد }}}
تم الشكر بواسطة:
#17
لو بتفهم في الجرافكس فأنت لا تحتاجني في شئ
و يمكنك هنا تنفيذ الفكرة التالية
لا ترسم مباشرة علي ابعاد صورة صغيرة
بل ترسم علي صورة كبيرة ابعادها مثلا تساوي خمسة اضعاف الصورة الاصلية وبعد ان تنتهي من عملية الرسم
تقوم بتعيير ابعاد الصورة لاحقا لتتناسب مع الابعاد التي تريدها
او لتحديد ابعاد الصورة
اولا يجب ان تضع في اعتبارك ان كل حرف ياخذ مساحة معينة بناء علي حجم الفونت
لذلك يجب أن تحسب طول و ارتفاع التكست اولا وتستفيد من عرض التكست في تحديد ابعاد الصورة
أما ارتفاع الصورة فهو خليط من ارتفاع التكست الاول ثم ارتفاع المستطيلات ثم ارتفاع التكست الثالث و ارتفاع التكست الرابع
الرد }}}
تم الشكر بواسطة:
#18
(15-05-17, 05:04 AM)silverlight كتب : لو بتفهم في الجرافكس فأنت لا تحتاجني في شئ
و يمكنك هنا تنفيذ الفكرة التالية
لا ترسم مباشرة علي ابعاد صورة صغيرة
بل ترسم علي صورة كبيرة ابعادها مثلا تساوي خمسة اضعاف الصورة الاصلية وبعد ان تنتهي من عملية الرسم
تقوم بتعيير ابعاد الصورة لاحقا لتتناسب مع الابعاد التي تريدها
او لتحديد ابعاد الصورة
اولا يجب ان تضع في اعتبارك  ان كل حرف ياخذ مساحة معينة بناء علي حجم الفونت
لذلك يجب أن تحسب طول و ارتفاع التكست اولا وتستفيد من عرض التكست في تحديد ابعاد الصورة
أما ارتفاع الصورة فهو خليط من ارتفاع التكست الاول ثم ارتفاع المستطيلات ثم ارتفاع التكست الثالث و ارتفاع التكست الرابع

اخى الحبيب انا لم  اعمل ابدا على الجرافكس 
و من الناحية النظرية كلامك مفهوم
ولكن لا استطيع تنفيذ هذا بالاكواد
الرد }}}
تم الشكر بواسطة:
#19
أوك لاحقا سوف أضع لك الكود الذي يقوم ب بناء صورة الباركود
الرد }}}
تم الشكر بواسطة:
#20
(15-05-17, 05:17 AM)silverlight كتب : أوك لاحقا سوف أضع لك الكود الذي يقوم ب بناء صورة الباركود

فى الانتظار اخى شكرا  لك و تصبح  على خير
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] سؤال ترددت قبل نشرة:طابعة الباركود لماذا تطبع أكثر من ليبل فارغ قبل السليم dr.programming 1 514 20-04-25, 09:26 PM
آخر رد: Kamil
  كيف ايجاد أعلى رقم بعد علامة محددة.لحقل الباركود new_programer 6 476 20-01-25, 02:11 AM
آخر رد: new_programer
  افضل نسخة فيجوال نت مافيها مشاكل Wolfalwolf20 0 305 13-12-24, 05:40 PM
آخر رد: Wolfalwolf20
  [سؤال] افضل الطرق في تحزيم مشروع بقواعد SQL محمد العامر 5 573 23-10-24, 11:19 AM
آخر رد: محمد العامر
  الباركود بيطلع فارغ عند الطباعة new_programer 2 565 29-05-24, 03:59 AM
آخر رد: new_programer
  اريد طباعة الباركود من غير ظهور نافذة المعاينة new_programer 1 535 23-05-24, 03:55 AM
آخر رد: new_programer
  ارجو المساعدة فى شاشة طباعة الباركود new_programer 10 1,205 09-01-24, 08:41 PM
آخر رد: new_programer
  اريد طباعة الباركود المحدد فقط مع الكمية new_programer 5 1,001 09-01-24, 08:40 PM
آخر رد: new_programer
  سؤال فى برمجة جهاز الباركود خالد كامل1 6 1,041 05-01-24, 12:25 AM
آخر رد: HALIM ELEULMA
Tongue Barcode Maker - صانع ملصقات الباركود waataanys 6 914 27-11-23, 08:09 PM
آخر رد: waataanys

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


يقوم بقرائة الموضوع: