المشاركات : 95
المواضيع 38
الإنتساب : Jan 2015
السمعة :
12
الشكر: 53
تم شكره 87 مرات في 35 مشاركات
السلام عليكم ورحمة الله وبركاتة
عندي مشروع طباعة الباركود وشغال تمام الحمدلله
بس في مشكلة اللي هي لما باجي اكتب اسم المنتج والسعر فوق الباركود عن طريق رسم اسم المنتج وسعرة اعلى الباركود في PictureBox
وباجي اطبع مش بيظهر غير الباركود بس وادي صور للمشكلة
يعني انا عايز اطبع كامل محتويات PictureBox
وادي الكود اللي بستخدمة
كود :
Public Class bc
Dim PrintDoc As Printing.PrintDocument = New Printing.PrintDocument()
Dim pd_PrintDialog As New PrintDialog
Private Sub FlatLabel5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FlatLabel5.Click
Me.Close()
End Sub
Private Sub FlatStickyButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FlatStickyButton4.Click
'اعداد الصفحة
PageSetupDialog1.Document = PrintDoc
PageSetupDialog1.ShowDialog()
End Sub
Private Sub TextBox3_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
PicBarCode.BackgroundImage = Code128(TextBox3.Text, "A")
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 FlatStickyButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FlatStickyButton2.Click
'طباعة الباركود
If TextBox3.Text = "" Then 'الباركود فارغ
MsgBox("من فضلك تأكد من كتابة النص المراد تحويله الى باركود")
Exit Sub
Else
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.PrintPage, AddressOf PrintDocHandler
'امر الطباعة
PrintDoc.Print()
ElseIf pd_PrintDialog.ShowDialog = Windows.Forms.DialogResult.Cancel Then
Exit Sub
End If
End If
End Sub
Private Sub FlatStickyButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FlatStickyButton1.Click
'معاينة قبل الطباعة
If TextBox3.Text = "" Then 'الباركود فارغ
MsgBox("من فضلك تأكد من كتابة كود باركود")
Exit Sub
Else
AddHandler PrintDoc.PrintPage, AddressOf PrintDocHandler
'تحديد عدد النسخ المراد طباعتها
pd_PrintDialog.PrinterSettings.Copies = nud_Count.Value
PrintPreviewDialog1.Document = PrintDoc
PrintPreviewDialog1.ShowDialog()
End If
End Sub
Private Sub FlatStickyButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FlatStickyButton3.Click
'حفظ صورة الباركود
If TextBox3.Text = "" Then 'الباركود فارغ
MsgBox("من فضلك تأكد من كتابة النص المراد تحويله الى باركود")
Exit Sub
Else
Dim SaveFileDialog1 As New SaveFileDialog()
SaveFileDialog1.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) ' "c:\"
SaveFileDialog1.Filter = "All files (*.*)|*.*|Bitmap files (*.bmp)|*.bmp"
SaveFileDialog1.FilterIndex = 2
SaveFileDialog1.RestoreDirectory = True
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
'PicBarCode.BackgroundImage.Save(SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp)
PicBarCode.Image.Save(SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp)
End If
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'كتابة اسم المنتج على ملصق الباركود
Dim a As Graphics = PicBarCode.CreateGraphics
a.DrawString(TextBox1.Text, Me.Font, Brushes.Black, 110, 7)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As Graphics = PicBarCode.CreateGraphics
a.DrawString(TextBox2.Text & " " & "L.E", Me.Font, Brushes.Black, 170, 7)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
'كتابة اسم الفئة على ملصق الباركود
'Dim a As Graphics = PicBarCode.CreateGraphics
'a.DrawString(TextBox4.Text, Me.Font, Brushes.Black, 70, 7)
End Sub
End Class
إِنْ يَنْصُرْكُمُ اللَّهُ فَلَا غَالِبَ لَكُمْ وَإِنْ يَخْذُلْكُمْ فَمَنْ ذَا الَّذِي يَنْصُرُكُمْ مِنْ بَعْدِهِ وَعَلَى اللَّهِ فَلْيَتَوَكَّلِ الْمُؤْمِنُونَ
لَيْسَ لَهَا مِنْ دُونِ اللَّهِ كَاشِفَةٌ
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5322 مرات في 2095 مشاركات
السلام عليكم ورحمةالله وبركاته
اخي الكريم انت تقوم بانشاء الباركود على صورة وبعدها تقوم برسم نص على الصورة وتريد الطباعة لهذه الصورة
حتما ستظهر صورة الباركود فقط في الطباعة !!!!
السؤال لماذا لم يظهر النص ؟ الجواب ببساظة انت لاتطبع الا احد العنصرين
وبما انك برمجت الطباعة للصورة الحاوية للباركود لذا هي التي ستطبع
او ان تختار طباعة النص (وكأن النص في Layer والصورة في Layer اخر)
<<<<< ماالحل لطباعة الباركود والنص معا ؟ >>>>>
ببساطة يجب دمج النص مع الصورة وجعلها عنصر واجد ليتم طباعتها مع النص
اليك هذا الرابط في رد سابق لي على تساؤل فيه الكتابة على صورة ثم دمجها اتمنى ان اكون قد افدتك دمت بخير
http://vb4arb.com/vb/showthread.php?tid=30945
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 95
المواضيع 38
الإنتساب : Jan 2015
السمعة :
12
الشكر: 53
تم شكره 87 مرات في 35 مشاركات
(10-03-20, 01:57 AM) ابراهيم ايبو كتب : السلام عليكم ورحمةالله وبركاته
اخي الكريم انت تقوم بانشاء الباركود على صورة وبعدها تقوم برسم نص على الصورة وتريد الطباعة لهذه الصورة
حتما ستظهر صورة الباركود فقط في الطباعة !!!!
السؤال لماذا لم يظهر النص ؟ الجواب ببساظة انت لاتطبع الا احد العنصرين
وبما انك برمجت الطباعة للصورة الحاوية للباركود لذا هي التي ستطبع
او ان تختار طباعة النص (وكأن النص في Layer والصورة في Layer اخر)
<<<<< ماالحل لطباعة الباركود والنص معا ؟ >>>>>
ببساطة يجب دمج النص مع الصورة وجعلها عنصر واجد ليتم طباعتها مع النص
اليك هذا الرابط في رد سابق لي على تساؤل فيه الكتابة على صورة ثم دمجها اتمنى ان اكون قد افدتك دمت بخير
http://vb4arb.com/vb/showthread.php?tid=30945
معلش مش وصلة لي
ممكن تعديل على المشروع
تحميل المشروع
إِنْ يَنْصُرْكُمُ اللَّهُ فَلَا غَالِبَ لَكُمْ وَإِنْ يَخْذُلْكُمْ فَمَنْ ذَا الَّذِي يَنْصُرُكُمْ مِنْ بَعْدِهِ وَعَلَى اللَّهِ فَلْيَتَوَكَّلِ الْمُؤْمِنُونَ
لَيْسَ لَهَا مِنْ دُونِ اللَّهِ كَاشِفَةٌ
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5322 مرات في 2095 مشاركات
10-03-20, 03:20 PM
(آخر تعديل لهذه المشاركة : 10-03-20, 05:14 PM {2} بواسطة ابراهيم ايبو .)
السلام عليكم اخي الكريم
تفضل هذا المثال اعتبر الصورة الموجودة صورة باركود
اطبع بدون ان تضع كتابة ثم اكتب واطبع مع الكتابة
الملفات المرفقة
PictureAndString.zip (الحجم : 160.44 ك ب / التحميلات : 235)
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 95
المواضيع 38
الإنتساب : Jan 2015
السمعة :
12
الشكر: 53
تم شكره 87 مرات في 35 مشاركات
(10-03-20, 03:20 PM) ابراهيم ايبو كتب : السلام عليكم اخي الكريم
تفضل هذا المثال اعتبر الصورة الموجودة صورة باركود
اطبع بدون ان تضع كتابة ثم اكتب واطبع مع الكتابة
للاسف اخي مشتغلش معايا المشروع المرفق
ممكن تعديل على المشروع دا
مشروع
إِنْ يَنْصُرْكُمُ اللَّهُ فَلَا غَالِبَ لَكُمْ وَإِنْ يَخْذُلْكُمْ فَمَنْ ذَا الَّذِي يَنْصُرُكُمْ مِنْ بَعْدِهِ وَعَلَى اللَّهِ فَلْيَتَوَكَّلِ الْمُؤْمِنُونَ
لَيْسَ لَهَا مِنْ دُونِ اللَّهِ كَاشِفَةٌ
المشاركات : 95
المواضيع 38
الإنتساب : Jan 2015
السمعة :
12
الشكر: 53
تم شكره 87 مرات في 35 مشاركات
ارحو التعديل يا شباب
إِنْ يَنْصُرْكُمُ اللَّهُ فَلَا غَالِبَ لَكُمْ وَإِنْ يَخْذُلْكُمْ فَمَنْ ذَا الَّذِي يَنْصُرُكُمْ مِنْ بَعْدِهِ وَعَلَى اللَّهِ فَلْيَتَوَكَّلِ الْمُؤْمِنُونَ
لَيْسَ لَهَا مِنْ دُونِ اللَّهِ كَاشِفَةٌ
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5322 مرات في 2095 مشاركات
السلام عليكم اخي الكريم
لاتظن ان موضوعك اهمل صدقا اكثر من ٨ ساعات وانا احاول حل المشكلة لكن لم اصل الى شيئ وماارفقت لك من مثال صحيح ولكن
المشكلة التي عندك هي ان الباركود عند طباعته مع النص فعلا لايطبع الا الباركود
شيئ اخر لديك هو عدم امكانية حفظ الباركود كصورة بالرغم من وجود كود الحفظ لكن يعطي خطا null مشكلة في الحفظ
الفكرة بالنسبة لدي هي حفظ الباركود اولا كصورة ثم جلبها الى PıctureBox اخر
والكتابة عليها بكود رسم النص وهكذا تتم الطباعة وفق مثالي الذي ارفقته لك
اعمل حاليا في الغرافيكس واعاني من نفس المشكلة وهي طباعة اي رسم على بانل حيث يظهر البانل فارغ
اما طباعة نص لوحده محلولة وطباعة صورة ايضا محلولة المهم ان وفقني الله لحل لن ابخل به عليك او على اي سائل في المنتدى
دمت بخير اخي الكريم
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 95
المواضيع 38
الإنتساب : Jan 2015
السمعة :
12
الشكر: 53
تم شكره 87 مرات في 35 مشاركات
(11-03-20, 01:01 PM) ابراهيم ايبو كتب : السلام عليكم اخي الكريم
لاتظن ان موضوعك اهمل صدقا اكثر من ٨ ساعات وانا احاول حل المشكلة لكن لم اصل الى شيئ وماارفقت لك من مثال صحيح ولكن
المشكلة التي عندك هي ان الباركود عند طباعته مع النص فعلا لايطبع الا الباركود
شيئ اخر لديك هو عدم امكانية حفظ الباركود كصورة بالرغم من وجود كود الحفظ لكن يعطي خطا null مشكلة في الحفظ
الفكرة بالنسبة لدي هي حفظ الباركود اولا كصورة ثم جلبها الى PıctureBox اخر
والكتابة عليها بكود رسم النص وهكذا تتم الطباعة وفق مثالي الذي ارفقته لك
اعمل حاليا في الغرافيكس واعاني من نفس المشكلة وهي طباعة اي رسم على بانل حيث يظهر البانل فارغ
اما طباعة نص لوحده محلولة وطباعة صورة ايضا محلولة المهم ان وفقني الله لحل لن ابخل به عليك او على اي سائل في المنتدى
دمت بخير اخي الكريم
اشكرك على التفاعل واقدر جهد عملك
وبإذن الله اذا لاقيت حل للموضوع دا اكيد اكيد مش هبخل به على اعضاء المنتدى الكرام سواء هذا الكود او اي كود او سورس كود عندي
وسأعمل حاليا على طباعتة عن طريق الكريستال ريبورت وتغير نوع الخط الي خط باركود
شكرا جزيلا
إِنْ يَنْصُرْكُمُ اللَّهُ فَلَا غَالِبَ لَكُمْ وَإِنْ يَخْذُلْكُمْ فَمَنْ ذَا الَّذِي يَنْصُرُكُمْ مِنْ بَعْدِهِ وَعَلَى اللَّهِ فَلْيَتَوَكَّلِ الْمُؤْمِنُونَ
لَيْسَ لَهَا مِنْ دُونِ اللَّهِ كَاشِفَةٌ
المشاركات : 2,329
المواضيع 81
الإنتساب : May 2018
السمعة :
522
الشكر: 14039
تم شكره 5671 مرات في 2269 مشاركات
11-03-20, 03:52 PM
(آخر تعديل لهذه المشاركة : 11-03-20, 04:04 PM {2} بواسطة asemshahen5 .)
او عدل كود المديول كالتالي :
PHP كود :
'دوال رسم الباركود Function Code128(ByVal TheText As String, TopText As String, ByVal CodeLetter As String) As Image ' TheText متغير خاص بالنص المراد تشفيره ' CodeLetter متغير خاص بالفئة المراد استخدامها Dim Binaryz As String = "" ' متغير سيحمل النص بعد تحويله إلى باينرى Dim I As Integer Dim NumCode As Integer 'متغير سيحمل قيمة حساب النص التكميلى If CodeLetter = "A" Or CodeLetter = "a" Then NumCode = 103 Binaryz = "00101111011" End If If CodeLetter = "B" Or CodeLetter = "b" Then NumCode = 104 Binaryz = "00101101111" End If If CodeLetter = "C" Or CodeLetter = "c" Then NumCode = 105 Binaryz = "00101100011" End If ' الكود التالى سيقوم باسناد قيمة الحرف بالباينرى حسب الجدول الخاص بالكود 128 For I = 1 To Len ( TheText ) NumCode = NumCode + (( Asc ( Mid ( TheText , I , 1 )) - 32 ) * I ) Select Case Asc ( Mid ( TheText , I , 1 )) Case 32 Binaryz = Binaryz & "00100110011" Case 33 Binaryz = Binaryz & "00110010011" Case 34 Binaryz = Binaryz & "00110011001" Case 35 Binaryz = Binaryz & "01101100111" Case 36 Binaryz = Binaryz & "01101110011" Case 37 Binaryz = Binaryz & "01110110011" Case 38 Binaryz = Binaryz & "01100110111" Case 39 Binaryz = Binaryz & "01100111011" Case 40 Binaryz = Binaryz & "01110011011" Case 41 Binaryz = Binaryz & "00110110111" Case 42 Binaryz = Binaryz & "00110111011" Case 43 Binaryz = Binaryz & "00111011011" Case 44 Binaryz = Binaryz & "01001100011" Case 45 Binaryz = Binaryz & "01100100011" Case 46 Binaryz = Binaryz & "01100110001" Case 47 Binaryz = Binaryz & "01000110011" Case 48 Binaryz = Binaryz & "01100010011" Case 49 Binaryz = Binaryz & "01100011001" Case 50 Binaryz = Binaryz & "00110001101" Case 51 Binaryz = Binaryz & "00110100011" Case 52 Binaryz = Binaryz & "00110110001" Case 53 Binaryz = Binaryz & "00100011011" Case 54 Binaryz = Binaryz & "00110001011" Case 55 Binaryz = Binaryz & "00010010001" Case 56 Binaryz = Binaryz & "00010110011" Case 57 Binaryz = Binaryz & "00011010011" Case 58 Binaryz = Binaryz & "00011011001" Case 59 Binaryz = Binaryz & "00010011011" Case 60 Binaryz = Binaryz & "00011001011" Case 61 Binaryz = Binaryz & "00011001101" Case 62 Binaryz = Binaryz & "00100100111" Case 63 Binaryz = Binaryz & "00100111001" Case 64 Binaryz = Binaryz & "00111001001" Case 65 Binaryz = Binaryz & "01011100111" Case 66 Binaryz = Binaryz & "01110100111" Case 67 Binaryz = Binaryz & "01110111001" Case 68 Binaryz = Binaryz & "01001110111" Case 69 Binaryz = Binaryz & "01110010111" Case 70 Binaryz = Binaryz & "01110011101" Case 71 Binaryz = Binaryz & "00101110111" Case 72 Binaryz = Binaryz & "00111010111" Case 73 Binaryz = Binaryz & "00111011101" Case 74 Binaryz = Binaryz & "01001000111" Case 75 Binaryz = Binaryz & "01001110001" Case 76 Binaryz = Binaryz & "01110010001" Case 77 Binaryz = Binaryz & "01000100111" Case 78 Binaryz = Binaryz & "01000111001" Case 79 Binaryz = Binaryz & "01110001001" Case 80 Binaryz = Binaryz & "00010001001" Case 81 Binaryz = Binaryz & "00101110001" Case 82 Binaryz = Binaryz & "00111010001" Case 83 Binaryz = Binaryz & "00100010111" Case 84 Binaryz = Binaryz & "00100011101" Case 85 Binaryz = Binaryz & "00100010001" Case 86 Binaryz = Binaryz & "00010100111" Case 87 Binaryz = Binaryz & "00010111001" Case 88 Binaryz = Binaryz & "00011101001" Case 89 Binaryz = Binaryz & "00010010111" Case 90 Binaryz = Binaryz & "00010011101" Case 91 Binaryz = Binaryz & "00011100101" Case 92 Binaryz = Binaryz & "00010000101" Case 93 Binaryz = Binaryz & "00110111101" Case 94 Binaryz = Binaryz & "00001110101" Case 95 Binaryz = Binaryz & "01011001111" Case 96 Binaryz = Binaryz & "01011110011" Case 97 Binaryz = Binaryz & "01101001111" Case 98 Binaryz = Binaryz & "01101111001" Case 99 Binaryz = Binaryz & "01111010011" Case 100 Binaryz = Binaryz & "01111011001" Case 101 Binaryz = Binaryz & "01001101111" Case 102 Binaryz = Binaryz & "01001111011" Case 103 Binaryz = Binaryz & "01100101111" Case 104 Binaryz = Binaryz & "01100111101" Case 105 Binaryz = Binaryz & "01111001011" Case 106 Binaryz = Binaryz & "01111001101" Case 107 Binaryz = Binaryz & "00111101101" Case 108 Binaryz = Binaryz & "00110101111" Case 109 Binaryz = Binaryz & "00001000101" Case 110 Binaryz = Binaryz & "00111101011" Case 111 Binaryz = Binaryz & "01110000101" Case 112 Binaryz = Binaryz & "01011000011" Case 113 Binaryz = Binaryz & "01101000011" Case 114 Binaryz = Binaryz & "01101100001" Case 115 Binaryz = Binaryz & "01000011011" Case 116 Binaryz = Binaryz & "01100001011" Case 117 Binaryz = Binaryz & "01100001101" Case 118 Binaryz = Binaryz & "00001011011" Case 119 Binaryz = Binaryz & "00001101011" Case 120 Binaryz = Binaryz & "00001101101" Case 121 Binaryz = Binaryz & "00100100001" Case 122 Binaryz = Binaryz & "00100001001" Case 123 Binaryz = Binaryz & "00001001001" Case 124 Binaryz = Binaryz & "01010000111" Case 125 Binaryz = Binaryz & "01011100001" Case 126 Binaryz = Binaryz & "01110100001" Case 127 Binaryz = Binaryz & "01000010111" Case 128 Binaryz = Binaryz & "01000011101" Case 129 Binaryz = Binaryz & "00001010111" Case 130 Binaryz = Binaryz & "00001011101" Case 131 Binaryz = Binaryz & "01000100001" Case 132 Binaryz = Binaryz & "01000010001" Case 133 Binaryz = Binaryz & "00010100001" Case 134 Binaryz = Binaryz & "00001010001" Case 135 Binaryz = Binaryz & "00101111011" Case 136 Binaryz = Binaryz & "00101101111" Case 137 Binaryz = Binaryz & "00101100011" Case 138 Binaryz = Binaryz & "0011100010100" End Select Next NumCode = NumCode Mod 103 ' الكود التالى لمعرفة الحرف المراد اضافتة لاستكمال النص Select Case NumCode Case 0 Binaryz = Binaryz & "00100110011" Case 1 Binaryz = Binaryz & "00110010011" Case 2 Binaryz = Binaryz & "00110011001" Case 3 Binaryz = Binaryz & "01101100111" Case 4 Binaryz = Binaryz & "01101110011" Case 5 Binaryz = Binaryz & "01110110011" Case 6 Binaryz = Binaryz & "01100110111" Case 7 Binaryz = Binaryz & "01100111011" Case 8 Binaryz = Binaryz & "01110011011" Case 9 Binaryz = Binaryz & "00110110111" Case 10 Binaryz = Binaryz & "00110111011" Case 11 Binaryz = Binaryz & "00111011011" Case 12 Binaryz = Binaryz & "01001100011" Case 13 Binaryz = Binaryz & "01100100011" Case 14 Binaryz = Binaryz & "01100110001" Case 15 Binaryz = Binaryz & "01000110011" Case 16 Binaryz = Binaryz & "01100010011" Case 17 Binaryz = Binaryz & "01100011001" Case 18 Binaryz = Binaryz & "00110001101" Case 19 Binaryz = Binaryz & "00110100011" Case 20 Binaryz = Binaryz & "00110110001" Case 21 Binaryz = Binaryz & "00100011011" Case 22 Binaryz = Binaryz & "00110001011" Case 23 Binaryz = Binaryz & "00010010001" Case 24 Binaryz = Binaryz & "00010110011" Case 25 Binaryz = Binaryz & "00011010011" Case 26 Binaryz = Binaryz & "00011011001" Case 27 Binaryz = Binaryz & "00010011011" Case 28 Binaryz = Binaryz & "00011001011" Case 29 Binaryz = Binaryz & "00011001101" Case 30 Binaryz = Binaryz & "00100100111" Case 31 Binaryz = Binaryz & "00100111001" Case 32 Binaryz = Binaryz & "00111001001" Case 33 Binaryz = Binaryz & "01011100111" Case 34 Binaryz = Binaryz & "01110100111" Case 35 Binaryz = Binaryz & "01110111001" Case 36 Binaryz = Binaryz & "01001110111" Case 37 Binaryz = Binaryz & "01110010111" Case 38 Binaryz = Binaryz & "01110011101" Case 39 Binaryz = Binaryz & "00101110111" Case 40 Binaryz = Binaryz & "00111010111" Case 41 Binaryz = Binaryz & "00111011101" Case 42 Binaryz = Binaryz & "01001000111" Case 43 Binaryz = Binaryz & "01001110001" Case 44 Binaryz = Binaryz & "01110010001" Case 45 Binaryz = Binaryz & "01000100111" Case 46 Binaryz = Binaryz & "01000111001" Case 47 Binaryz = Binaryz & "01110001001" Case 48 Binaryz = Binaryz & "00010001001" Case 49 Binaryz = Binaryz & "00101110001" Case 50 Binaryz = Binaryz & "00111010001" Case 51 Binaryz = Binaryz & "00100010111" Case 52 Binaryz = Binaryz & "00100011101" Case 53 Binaryz = Binaryz & "00100010001" Case 54 Binaryz = Binaryz & "00010100111" Case 55 Binaryz = Binaryz & "00010111001" Case 56 Binaryz = Binaryz & "00011101001" Case 57 Binaryz = Binaryz & "00010010111" Case 58 Binaryz = Binaryz & "00010011101" Case 59 Binaryz = Binaryz & "00011100101" Case 60 Binaryz = Binaryz & "00010000101" Case 61 Binaryz = Binaryz & "00110111101" Case 62 Binaryz = Binaryz & "00001110101" Case 63 Binaryz = Binaryz & "01011001111" Case 64 Binaryz = Binaryz & "01011110011" Case 65 Binaryz = Binaryz & "01101001111" Case 66 Binaryz = Binaryz & "01101111001" Case 67 Binaryz = Binaryz & "01111010011" Case 68 Binaryz = Binaryz & "01111011001" Case 69 Binaryz = Binaryz & "01001101111" Case 70 Binaryz = Binaryz & "01001111011" Case 71 Binaryz = Binaryz & "01100101111" Case 72 Binaryz = Binaryz & "01100111101" Case 73 Binaryz = Binaryz & "01111001011" Case 74 Binaryz = Binaryz & "01111001101" Case 75 Binaryz = Binaryz & "00111101101" Case 76 Binaryz = Binaryz & "00110101111" Case 77 Binaryz = Binaryz & "00001000101" Case 78 Binaryz = Binaryz & "00111101011" Case 79 Binaryz = Binaryz & "01110000101" Case 80 Binaryz = Binaryz & "01011000011" Case 81 Binaryz = Binaryz & "01101000011" Case 82 Binaryz = Binaryz & "01101100001" Case 83 Binaryz = Binaryz & "01000011011" Case 84 Binaryz = Binaryz & "01100001011" Case 85 Binaryz = Binaryz & "01100001101" Case 86 Binaryz = Binaryz & "00001011011" Case 87 Binaryz = Binaryz & "00001101011" Case 88 Binaryz = Binaryz & "00001101101" Case 89 Binaryz = Binaryz & "00100100001" Case 90 Binaryz = Binaryz & "00100001001" Case 91 Binaryz = Binaryz & "00001001001" Case 92 Binaryz = Binaryz & "01010000111" Case 93 Binaryz = Binaryz & "01011100001" Case 94 Binaryz = Binaryz & "01110100001" Case 95 Binaryz = Binaryz & "01000010111" Case 96 Binaryz = Binaryz & "01000011101" Case 97 Binaryz = Binaryz & "00001010111" Case 98 Binaryz = Binaryz & "00001011101" Case 99 Binaryz = Binaryz & "01000100001" Case 100 Binaryz = Binaryz & "01000010001" Case 101 Binaryz = Binaryz & "00010100001" Case 102 Binaryz = Binaryz & "00001010001" End Select Binaryz = Binaryz & "0011100010100" ' انهاء الكود باضافة الباينرى الخاص بايقاف جميع الاكواد ' انشاء صورة عرضها عدد حروف الباينرى المستخدم ' تم التعديل هنا Dim bmp As Bitmap = New Bitmap ( Len ( Binaryz ), 80 , System . Drawing . Imaging . PixelFormat . Format24bppRgb ) Dim z As String ' متغير لمعرفة لون الخط Dim GraphZ As Graphics = Graphics.FromImage(bmp) Dim RectZ As Rectangle = New Rectangle(0, 0, bmp.Width, bmp.Height) ' مستطيل بحجم الصورة لاعطاء الخلفية باللون الابيض ' فرشاه لدهان المستطيل السابق باللون الابيض Dim myBrush As Brush = New Drawing.Drawing2D.LinearGradientBrush(RectZ, Color.White, Color.White, Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal) ' دهان المستطيل السابق باللون الابيض GraphZ . FillRectangle ( myBrush , RectZ ) ' رسم خطوط الباركود Dim PenZ As Pen Dim point1 As Point ' نقطة بداية الخط Dim point2 As Point ' نقطة نهاية الخط For I = 1 To Len(Binaryz) z = Mid(Binaryz, I, 1) If z = "0" Then PenZ = New Pen(Color.Black, 1) ' تم التعديل هنا point1 = New Point ( I , 15 ) 'تم التعديل هنا point2 = New Point(I, 60) GraphZ.DrawLine(PenZ, point1, point2) Else PenZ = New Pen(Color.White, 1) ' تم التعديل هنا point1 = New Point ( I , 15 ) 'تم التعديل هنا point2 = New Point(I, 60) GraphZ.DrawLine(PenZ, point1, point2) End If Next ' رسم النص المراد ترميزه اسفل الكود GraphZ . DrawString ( TheText , New Font ( "times new roman" , 12 , FontStyle . Bold ), New SolidBrush ( Color . DarkBlue ), 20 , 60 ) ' رسم النص المراد ترميزه أعلى الكود GraphZ.DrawString(TopText, New Font("times new roman", 12, FontStyle.Bold), New SolidBrush(Color.DarkBlue), 0, -2) ' ارجاع الصورة النهائية للدالة Code128 = bmp End Function
كود الاستخدام :
PHP كود :
PicBarCode . BackgroundImage = Code128 ( TxtBarcodeNum . Text , TxtTopWord . Text , TxtBarcodeNum . Text )
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
المشاركات : 95
المواضيع 38
الإنتساب : Jan 2015
السمعة :
12
الشكر: 53
تم شكره 87 مرات في 35 مشاركات
12-03-20, 03:26 AM
(آخر تعديل لهذه المشاركة : 12-03-20, 03:28 AM {2} بواسطة Codack .)
(11-03-20, 03:52 PM) asemshahen5 كتب :
او عدل كود المديول كالتالي :
PHP كود :
'دوال رسم الباركود Function Code128(ByVal TheText As String, TopText As String, ByVal CodeLetter As String) As Image ' TheText متغير خاص بالنص المراد تشفيره ' CodeLetter متغير خاص بالفئة المراد استخدامها Dim Binaryz As String = "" ' متغير سيحمل النص بعد تحويله إلى باينرى Dim I As Integer Dim NumCode As Integer 'متغير سيحمل قيمة حساب النص التكميلى If CodeLetter = "A" Or CodeLetter = "a" Then NumCode = 103 Binaryz = "00101111011" End If If CodeLetter = "B" Or CodeLetter = "b" Then NumCode = 104 Binaryz = "00101101111" End If If CodeLetter = "C" Or CodeLetter = "c" Then NumCode = 105 Binaryz = "00101100011" End If ' الكود التالى سيقوم باسناد قيمة الحرف بالباينرى حسب الجدول الخاص بالكود 128 For I = 1 To Len ( TheText ) NumCode = NumCode + (( Asc ( Mid ( TheText , I , 1 )) - 32 ) * I ) Select Case Asc ( Mid ( TheText , I , 1 )) Case 32 Binaryz = Binaryz & "00100110011" Case 33 Binaryz = Binaryz & "00110010011" Case 34 Binaryz = Binaryz & "00110011001" Case 35 Binaryz = Binaryz & "01101100111" Case 36 Binaryz = Binaryz & "01101110011" Case 37 Binaryz = Binaryz & "01110110011" Case 38 Binaryz = Binaryz & "01100110111" Case 39 Binaryz = Binaryz & "01100111011" Case 40 Binaryz = Binaryz & "01110011011" Case 41 Binaryz = Binaryz & "00110110111" Case 42 Binaryz = Binaryz & "00110111011" Case 43 Binaryz = Binaryz & "00111011011" Case 44 Binaryz = Binaryz & "01001100011" Case 45 Binaryz = Binaryz & "01100100011" Case 46 Binaryz = Binaryz & "01100110001" Case 47 Binaryz = Binaryz & "01000110011" Case 48 Binaryz = Binaryz & "01100010011" Case 49 Binaryz = Binaryz & "01100011001" Case 50 Binaryz = Binaryz & "00110001101" Case 51 Binaryz = Binaryz & "00110100011" Case 52 Binaryz = Binaryz & "00110110001" Case 53 Binaryz = Binaryz & "00100011011" Case 54 Binaryz = Binaryz & "00110001011" Case 55 Binaryz = Binaryz & "00010010001" Case 56 Binaryz = Binaryz & "00010110011" Case 57 Binaryz = Binaryz & "00011010011" Case 58 Binaryz = Binaryz & "00011011001" Case 59 Binaryz = Binaryz & "00010011011" Case 60 Binaryz = Binaryz & "00011001011" Case 61 Binaryz = Binaryz & "00011001101" Case 62 Binaryz = Binaryz & "00100100111" Case 63 Binaryz = Binaryz & "00100111001" Case 64 Binaryz = Binaryz & "00111001001" Case 65 Binaryz = Binaryz & "01011100111" Case 66 Binaryz = Binaryz & "01110100111" Case 67 Binaryz = Binaryz & "01110111001" Case 68 Binaryz = Binaryz & "01001110111" Case 69 Binaryz = Binaryz & "01110010111" Case 70 Binaryz = Binaryz & "01110011101" Case 71 Binaryz = Binaryz & "00101110111" Case 72 Binaryz = Binaryz & "00111010111" Case 73 Binaryz = Binaryz & "00111011101" Case 74 Binaryz = Binaryz & "01001000111" Case 75 Binaryz = Binaryz & "01001110001" Case 76 Binaryz = Binaryz & "01110010001" Case 77 Binaryz = Binaryz & "01000100111" Case 78 Binaryz = Binaryz & "01000111001" Case 79 Binaryz = Binaryz & "01110001001" Case 80 Binaryz = Binaryz & "00010001001" Case 81 Binaryz = Binaryz & "00101110001" Case 82 Binaryz = Binaryz & "00111010001" Case 83 Binaryz = Binaryz & "00100010111" Case 84 Binaryz = Binaryz & "00100011101" Case 85 Binaryz = Binaryz & "00100010001" Case 86 Binaryz = Binaryz & "00010100111" Case 87 Binaryz = Binaryz & "00010111001" Case 88 Binaryz = Binaryz & "00011101001" Case 89 Binaryz = Binaryz & "00010010111" Case 90 Binaryz = Binaryz & "00010011101" Case 91 Binaryz = Binaryz & "00011100101" Case 92 Binaryz = Binaryz & "00010000101" Case 93 Binaryz = Binaryz & "00110111101" Case 94 Binaryz = Binaryz & "00001110101" Case 95 Binaryz = Binaryz & "01011001111" Case 96 Binaryz = Binaryz & "01011110011" Case 97 Binaryz = Binaryz & "01101001111" Case 98 Binaryz = Binaryz & "01101111001" Case 99 Binaryz = Binaryz & "01111010011" Case 100 Binaryz = Binaryz & "01111011001" Case 101 Binaryz = Binaryz & "01001101111" Case 102 Binaryz = Binaryz & "01001111011" Case 103 Binaryz = Binaryz & "01100101111" Case 104 Binaryz = Binaryz & "01100111101" Case 105 Binaryz = Binaryz & "01111001011" Case 106 Binaryz = Binaryz & "01111001101" Case 107 Binaryz = Binaryz & "00111101101" Case 108 Binaryz = Binaryz & "00110101111" Case 109 Binaryz = Binaryz & "00001000101" Case 110 Binaryz = Binaryz & "00111101011" Case 111 Binaryz = Binaryz & "01110000101" Case 112 Binaryz = Binaryz & "01011000011" Case 113 Binaryz = Binaryz & "01101000011" Case 114 Binaryz = Binaryz & "01101100001" Case 115 Binaryz = Binaryz & "01000011011" Case 116 Binaryz = Binaryz & "01100001011" Case 117 Binaryz = Binaryz & "01100001101" Case 118 Binaryz = Binaryz & "00001011011" Case 119 Binaryz = Binaryz & "00001101011" Case 120 Binaryz = Binaryz & "00001101101" Case 121 Binaryz = Binaryz & "00100100001" Case 122 Binaryz = Binaryz & "00100001001" Case 123 Binaryz = Binaryz & "00001001001" Case 124 Binaryz = Binaryz & "01010000111" Case 125 Binaryz = Binaryz & "01011100001" Case 126 Binaryz = Binaryz & "01110100001" Case 127 Binaryz = Binaryz & "01000010111" Case 128 Binaryz = Binaryz & "01000011101" Case 129 Binaryz = Binaryz & "00001010111" Case 130 Binaryz = Binaryz & "00001011101" Case 131 Binaryz = Binaryz & "01000100001" Case 132 Binaryz = Binaryz & "01000010001" Case 133 Binaryz = Binaryz & "00010100001" Case 134 Binaryz = Binaryz & "00001010001" Case 135 Binaryz = Binaryz & "00101111011" Case 136 Binaryz = Binaryz & "00101101111" Case 137 Binaryz = Binaryz & "00101100011" Case 138 Binaryz = Binaryz & "0011100010100" End Select Next NumCode = NumCode Mod 103 ' الكود التالى لمعرفة الحرف المراد اضافتة لاستكمال النص Select Case NumCode Case 0 Binaryz = Binaryz & "00100110011" Case 1 Binaryz = Binaryz & "00110010011" Case 2 Binaryz = Binaryz & "00110011001" Case 3 Binaryz = Binaryz & "01101100111" Case 4 Binaryz = Binaryz & "01101110011" Case 5 Binaryz = Binaryz & "01110110011" Case 6 Binaryz = Binaryz & "01100110111" Case 7 Binaryz = Binaryz & "01100111011" Case 8 Binaryz = Binaryz & "01110011011" Case 9 Binaryz = Binaryz & "00110110111" Case 10 Binaryz = Binaryz & "00110111011" Case 11 Binaryz = Binaryz & "00111011011" Case 12 Binaryz = Binaryz & "01001100011" Case 13 Binaryz = Binaryz & "01100100011" Case 14 Binaryz = Binaryz & "01100110001" Case 15 Binaryz = Binaryz & "01000110011" Case 16 Binaryz = Binaryz & "01100010011" Case 17 Binaryz = Binaryz & "01100011001" Case 18 Binaryz = Binaryz & "00110001101" Case 19 Binaryz = Binaryz & "00110100011" Case 20 Binaryz = Binaryz & "00110110001" Case 21 Binaryz = Binaryz & "00100011011" Case 22 Binaryz = Binaryz & "00110001011" Case 23 Binaryz = Binaryz & "00010010001" Case 24 Binaryz = Binaryz & "00010110011" Case 25 Binaryz = Binaryz & "00011010011" Case 26 Binaryz = Binaryz & "00011011001" Case 27 Binaryz = Binaryz & "00010011011" Case 28 Binaryz = Binaryz & "00011001011" Case 29 Binaryz = Binaryz & "00011001101" Case 30 Binaryz = Binaryz & "00100100111" Case 31 Binaryz = Binaryz & "00100111001" Case 32 Binaryz = Binaryz & "00111001001" Case 33 Binaryz = Binaryz & "01011100111" Case 34 Binaryz = Binaryz & "01110100111" Case 35 Binaryz = Binaryz & "01110111001" Case 36 Binaryz = Binaryz & "01001110111" Case 37 Binaryz = Binaryz & "01110010111" Case 38 Binaryz = Binaryz & "01110011101" Case 39 Binaryz = Binaryz & "00101110111" Case 40 Binaryz = Binaryz & "00111010111" Case 41 Binaryz = Binaryz & "00111011101" Case 42 Binaryz = Binaryz & "01001000111" Case 43 Binaryz = Binaryz & "01001110001" Case 44 Binaryz = Binaryz & "01110010001" Case 45 Binaryz = Binaryz & "01000100111" Case 46 Binaryz = Binaryz & "01000111001" Case 47 Binaryz = Binaryz & "01110001001" Case 48 Binaryz = Binaryz & "00010001001" Case 49 Binaryz = Binaryz & "00101110001" Case 50 Binaryz = Binaryz & "00111010001" Case 51 Binaryz = Binaryz & "00100010111" Case 52 Binaryz = Binaryz & "00100011101" Case 53 Binaryz = Binaryz & "00100010001" Case 54 Binaryz = Binaryz & "00010100111" Case 55 Binaryz = Binaryz & "00010111001" Case 56 Binaryz = Binaryz & "00011101001" Case 57 Binaryz = Binaryz & "00010010111" Case 58 Binaryz = Binaryz & "00010011101" Case 59 Binaryz = Binaryz & "00011100101" Case 60 Binaryz = Binaryz & "00010000101" Case 61 Binaryz = Binaryz & "00110111101" Case 62 Binaryz = Binaryz & "00001110101" Case 63 Binaryz = Binaryz & "01011001111" Case 64 Binaryz = Binaryz & "01011110011" Case 65 Binaryz = Binaryz & "01101001111" Case 66 Binaryz = Binaryz & "01101111001" Case 67 Binaryz = Binaryz & "01111010011" Case 68 Binaryz = Binaryz & "01111011001" Case 69 Binaryz = Binaryz & "01001101111" Case 70 Binaryz = Binaryz & "01001111011" Case 71 Binaryz = Binaryz & "01100101111" Case 72 Binaryz = Binaryz & "01100111101" Case 73 Binaryz = Binaryz & "01111001011" Case 74 Binaryz = Binaryz & "01111001101" Case 75 Binaryz = Binaryz & "00111101101" Case 76 Binaryz = Binaryz & "00110101111" Case 77 Binaryz = Binaryz & "00001000101" Case 78 Binaryz = Binaryz & "00111101011" Case 79 Binaryz = Binaryz & "01110000101" Case 80 Binaryz = Binaryz & "01011000011" Case 81 Binaryz = Binaryz & "01101000011" Case 82 Binaryz = Binaryz & "01101100001" Case 83 Binaryz = Binaryz & "01000011011" Case 84 Binaryz = Binaryz & "01100001011" Case 85 Binaryz = Binaryz & "01100001101" Case 86 Binaryz = Binaryz & "00001011011" Case 87 Binaryz = Binaryz & "00001101011" Case 88 Binaryz = Binaryz & "00001101101" Case 89 Binaryz = Binaryz & "00100100001" Case 90 Binaryz = Binaryz & "00100001001" Case 91 Binaryz = Binaryz & "00001001001" Case 92 Binaryz = Binaryz & "01010000111" Case 93 Binaryz = Binaryz & "01011100001" Case 94 Binaryz = Binaryz & "01110100001" Case 95 Binaryz = Binaryz & "01000010111" Case 96 Binaryz = Binaryz & "01000011101" Case 97 Binaryz = Binaryz & "00001010111" Case 98 Binaryz = Binaryz & "00001011101" Case 99 Binaryz = Binaryz & "01000100001" Case 100 Binaryz = Binaryz & "01000010001" Case 101 Binaryz = Binaryz & "00010100001" Case 102 Binaryz = Binaryz & "00001010001" End Select Binaryz = Binaryz & "0011100010100" ' انهاء الكود باضافة الباينرى الخاص بايقاف جميع الاكواد ' انشاء صورة عرضها عدد حروف الباينرى المستخدم ' تم التعديل هنا Dim bmp As Bitmap = New Bitmap ( Len ( Binaryz ), 80 , System . Drawing . Imaging . PixelFormat . Format24bppRgb ) Dim z As String ' متغير لمعرفة لون الخط Dim GraphZ As Graphics = Graphics.FromImage(bmp) Dim RectZ As Rectangle = New Rectangle(0, 0, bmp.Width, bmp.Height) ' مستطيل بحجم الصورة لاعطاء الخلفية باللون الابيض ' فرشاه لدهان المستطيل السابق باللون الابيض Dim myBrush As Brush = New Drawing.Drawing2D.LinearGradientBrush(RectZ, Color.White, Color.White, Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal) ' دهان المستطيل السابق باللون الابيض GraphZ . FillRectangle ( myBrush , RectZ ) ' رسم خطوط الباركود Dim PenZ As Pen Dim point1 As Point ' نقطة بداية الخط Dim point2 As Point ' نقطة نهاية الخط For I = 1 To Len(Binaryz) z = Mid(Binaryz, I, 1) If z = "0" Then PenZ = New Pen(Color.Black, 1) ' تم التعديل هنا point1 = New Point ( I , 15 ) 'تم التعديل هنا point2 = New Point(I, 60) GraphZ.DrawLine(PenZ, point1, point2) Else PenZ = New Pen(Color.White, 1) ' تم التعديل هنا point1 = New Point ( I , 15 ) 'تم التعديل هنا point2 = New Point(I, 60) GraphZ.DrawLine(PenZ, point1, point2) End If Next ' رسم النص المراد ترميزه اسفل الكود GraphZ . DrawString ( TheText , New Font ( "times new roman" , 12 , FontStyle . Bold ), New SolidBrush ( Color . DarkBlue ), 20 , 60 ) ' رسم النص المراد ترميزه أعلى الكود GraphZ.DrawString(TopText, New Font("times new roman", 12, FontStyle.Bold), New SolidBrush(Color.DarkBlue), 0, -2) ' ارجاع الصورة النهائية للدالة Code128 = bmp End Function
كود الاستخدام :
PHP كود :
PicBarCode . BackgroundImage = Code128 ( TxtBarcodeNum . Text , TxtTopWord . Text , TxtBarcodeNum . Text )
كان فين الكود والسورس كود دا من زمان...
مشكرو جدا تم الاضافة بنجاح وعملت نوعين
نوع عن طريق الكريستال ريبورت ونوع عن طريق كود حضرتك
بس ممكن طريقة اضافة عدد النسخ برمجيا للمشروع دا
إِنْ يَنْصُرْكُمُ اللَّهُ فَلَا غَالِبَ لَكُمْ وَإِنْ يَخْذُلْكُمْ فَمَنْ ذَا الَّذِي يَنْصُرُكُمْ مِنْ بَعْدِهِ وَعَلَى اللَّهِ فَلْيَتَوَكَّلِ الْمُؤْمِنُونَ
لَيْسَ لَهَا مِنْ دُونِ اللَّهِ كَاشِفَةٌ