المشاركات : 186
المواضيع 53
الإنتساب : May 2017
السمعة :
4
الشكر: 148
تم شكره 102 مرات في 64 مشاركات
السلام عليكم
كيفكم اخوان اقوم ببرمجة برنامج يقوم بعمل باركود للمنتجات وعندي طابعة honeywell ولكن المشكلة لما اقوم بامر الطباعه يطبع ولكنه بيطلع ورقة الباركود فاضية ما فيها اي شي ولا اعرف السبب هل المشكلة في الطابعة ام المشكلة في البرمجة علما انا دربت اطلع الباركود على طابعة عادي طبع ومافي مشكلة ارجو من لديه حل ا يعرف السبب لا يبخل علينه بالاجابة
المشاركات : 813
المواضيع 24
الإنتساب : Oct 2012
السمعة :
230
الشكر: 1133
تم شكره 2180 مرات في 815 مشاركات
28-04-18, 06:17 PM
(آخر تعديل لهذه المشاركة : 28-04-18, 06:54 PM {2} بواسطة عبدالله الدوسري.)
وعليكم السلام
اذا امكن ؟ يرجى ذكر بعض الامور لمعرفت الحل :
١ . كيف تنشئ الباركود.
٢ . كيف تقوم بإرسال الباركود للطابعة.
الأكيد هو اان الخطاء برمجي وليس من الطابعة.
الإحتمال الذي افكر فيه . هو انك تطبع في مكان خارج نطاق الطابعة اذا كانت تطبع اوراق صغيرة.
ممكن تحتاج تطبع في يسار اعلى الصفحة.
او من الممكن انك تعطي امر الطباعة ولكنك لا ترسم صورة الباركود على الورقة المطبوعة. لذك تعطي امر الطباعة على وثيقة خالية . فتظهر ورقة فاضية.
ارفق الاكواد التي تستخدمها . لمعرفة اين الخطاء
لماذا لا تحاول إستخدام :
Mobility SDK for Windows - Developer Library Software
توجد مكتبات لمساعدة المطورين :
أعتقد يوجد بها أوامر ووظائف كثيرة ستستفيد منها
للتحميل من هنا :
لا أعرف نوع الطابعة لديك , تحتاج إلى البحث عن الملفات المناسبة لك
https://hsmftp.honeywell.com/
https://www.honeywellaidc.com/products/software/developer-library/mobility-sdk-for-windows
المشاركات : 186
المواضيع 53
الإنتساب : May 2017
السمعة :
4
الشكر: 148
تم شكره 102 مرات في 64 مشاركات
(28-04-18, 06:17 PM)عبدالله الدوسري كتب : وعليكم السلام
اذا امكن ؟ يرجى ذكر بعض الامور لمعرفت الحل :
١ . كيف تنشئ الباركود.
٢ . كيف تقوم بإرسال الباركود للطابعة.
الأكيد هو اان الخطاء برمجي وليس من الطابعة.
الإحتمال الذي افكر فيه . هو انك تطبع في مكان خارج نطاق الطابعة اذا كانت تطبع اوراق صغيرة.
ممكن تحتاج تطبع في يسار اعلى الصفحة.
او من الممكن انك تعطي امر الطباعة ولكنك لا ترسم صورة الباركود على الورقة المطبوعة. لذك تعطي امر الطباعة على وثيقة خالية . فتظهر ورقة فاضية.
ارفق الاكواد التي تستخدمها . لمعرفة اين الخطاء
لماذا لا تحاول إستخدام :
Mobility SDK for Windows - Developer Library Software
توجد مكتبات لمساعدة المطورين :
أعتقد يوجد بها أوامر ووظائف كثيرة ستستفيد منها
للتحميل من هنا :
لا أعرف نوع الطابعة لديك , تحتاج إلى البحث عن الملفات المناسبة لك
https://hsmftp.honeywell.com/
https://www.honeywellaidc.com/products/software/developer-library/mobility-sdk-for-windows
السلام عليكم اخي العزيز
اخي العزيز انا عندي الطابعة من نوع PC421 hooneywell
اما بالنسبة الى الكود البرمجي فهذا الكود الي انا قاعد اتعامل فيه اخي الغالي
كود :
Imports MySql.Data.MySqlClient
Imports System.IO
Imports System.Drawing.Printing
Public Class add_barcode
Public ToDo As String = "add"
Public id As Integer
Private Sub Butcaret_Click(sender As Object, e As EventArgs) Handles Butcaret.Click
Dim Generator As New MessagingToolkit.Barcode.BarcodeEncoder
Generator.IncludeLabel = True
Generator.CustomLabel = Textcod.Text
Try
PictureBox1.Image = New Bitmap(Generator.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code11, Textcod.Text))
Catch ex As Exception
End Try
End Sub
Sub claertext()
Textcod.Clear()
Textcat.Clear()
Textnewcod.Clear()
Textnewcod.Clear()
Textnpro.Clear()
End Sub
Private Sub Butadd_Click(sender As Object, e As EventArgs) Handles Butadd.Click
If Textcat.Text = String.Empty Or Textcod.Text = String.Empty Or Textnewcod.Text = String.Empty Or Textnpro.Text = String.Empty Then
MsgBox("جميع الحقول مطلوبة يا صديقي العزيز", MsgBoxStyle.Information, "تحذير")
Exit Sub
End If
Try
Dim query As String
If ToDo = "add" Then
query = "insert into parcode (name_pro,dic_pro,newcode,pacrcode_ro,imgparcod) values(@name_pro,@dic_pro,@newcode,@pacrcode_ro,@imgparcod) "
Else
query = "update parcode set name_pro=@name_pro,dic_pro=@dic_pro,newcode=@newcode,pacrcode_ro=@pacrcode_ro,imgparcod=@imgparcod where id= " & id
End If
Dim filesize As UInt32
Dim mstrem As New System.IO.MemoryStream
PictureBox1.Image.Save(mstrem, System.Drawing.Imaging.ImageFormat.Jpeg)
Dim arrimage() As Byte = mstrem.GetBuffer
filesize = mstrem.Length
mstrem.Close()
cmd = New MySqlCommand(query, con)
cmd.Parameters.Add("@name_pro", MySqlDbType.VarChar, 200).Value = Textnpro.Text
cmd.Parameters.Add("@dic_pro", MySqlDbType.VarChar, 200).Value = Textcod.Text
cmd.Parameters.Add("@newcode", MySqlDbType.VarChar, 200).Value = Textnewcod.Text
cmd.Parameters.Add("@pacrcode_ro", MySqlDbType.VarChar, 200).Value = Textcat.Text
cmd.Parameters.Add("@imgparcod", MySqlDbType.Blob).Value = arrimage
con.Open()
cmd.ExecuteNonQuery()
claertext()
MsgBox("تم حفظ البيانات بنجاح شكرا لكم", MsgBoxStyle.Information, "الاضافة")
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
End Sub
Private Sub add_barcode_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim SD As New SaveFileDialog
SD.Filter = "PNG File|*.png"
If SD.ShowDialog() = DialogResult.OK Then
Try
PictureBox1.Image.Save(SD.FileName, Imaging.ImageFormat.Png)
Catch ex As Exception
End Try
End If
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
print_bar.PictureBox1.ImageLocation = PictureBox1.ImageLocation
End Sub
Friend WithEvents prntDoc As New PrintDocument()
Private Print_Image As Image
Declare Auto Function BitBlt Lib "GDI32.DLL" ( _
ByVal hdcDest As IntPtr, _
ByVal nXDest As Integer, _
ByVal nYDest As Integer, _
ByVal nWidth As Integer, _
ByVal nHeight As Integer, _
ByVal hdcSrc As IntPtr, _
ByVal nXSrc As Integer, _
ByVal nYSrc As Integer, _
ByVal dwRop As Int32) As Boolean
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'print picture
Dim prnDialog As New PrintDialog()
'Get a Graphics Object from the form
Dim FormG As Graphics = Me.PictureBox1.CreateGraphics
'Create a bitmap from that graphics
Dim i As New Bitmap(Me.Width, Me.Height, FormG)
'Create a Graphics object in memory from that bitmap
Dim memG As Graphics = Graphics.FromImage(i)
'get the IntPtr's of the graphics
Dim HDC1 As IntPtr = FormG.GetHdc
Dim HDC2 As IntPtr = memG.GetHdc
'get the picture
BitBlt(HDC2, 0, 0, Me.PictureBox1.Width, Me.PictureBox1.Height, HDC1, 0, 0, 13369376)
'Clone the bitmap so we can dispose this one
Me.Print_Image = i.Clone()
'Clean Up
FormG.ReleaseHdc(HDC1)
memG.ReleaseHdc(HDC2)
FormG.Dispose()
memG.Dispose()
i.Dispose()
prnDialog.Document = prntDoc
' Optional Dialog:
Dim r As DialogResult = prnDialog.ShowDialog
If r = DialogResult.OK Then
prntDoc.Print()
End If
End Sub
Private Sub prntDoc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles prntDoc.PrintPage
e.Graphics.DrawImage(Print_Image, 0, 0)
End Sub
End Class
هذا الكود بالكامل اخي العزيز بانتظار ردك الكريم وفقك الله
المشاركات : 813
المواضيع 24
الإنتساب : Oct 2012
السمعة :
230
الشكر: 1133
تم شكره 2180 مرات في 815 مشاركات
أخوي فراس ، أنت معقد الموظوع كثير , هو أبسط من هذا بكثير .
لطباعة الباركود : الأفضل تطبعة كخط وليس كصورة :
مثال على ما أقصد ولمعرفة الفرق :
جرب غير الأكواد كما هي موظحة هنا :
كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
prnDialog.Document = prntDoc
If prnDialog.ShowDialog = DialogResult.OK Then
prntDoc.Print()
End If
End Sub
Private Sub prntDoc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles prntDoc.PrintPage
e.Graphics.DrawImage(Me.PictureBox1.Image.Clone, 0, 0)
e.HasMorePages = False
End Sub
هذا مشروع كمثال جرب بنفسك :
لاحظ هنا عند الطباعة كنص :
طباعة الباركود على شكل نص : الباركود واضح ( حتى لو قمت بالتكبير عشرات المرات ) ستظل الخطوط حادة
لاحظ هنا عند الطباعة كصورة :
طباعة الباركود على شكل صورة : من البداية واضح أن الباركود مضبب وغير واضح.
ملف المشروع :
BarcodeExample.rar (الحجم : 77.7 ك ب / التحميلات : 585)
المشاركات : 186
المواضيع 53
الإنتساب : May 2017
السمعة :
4
الشكر: 148
تم شكره 102 مرات في 64 مشاركات
اخي العزيز بارك الله فيك انا جربت المثال الي بعثه الي وحاولت اطبع منو لكن نفس المشكلة اخي لم يطلع ولم تأخذ الطابعة اي امر للطباعة نهائيا
المشاركات : 684
المواضيع 248
الإنتساب : Dec 2013
السمعة :
18
الشكر: 379
تم شكره 381 مرات في 232 مشاركات
تابع الموضوع دة
- هو مميزاتة بدون ادوات خارجية
- عيوبة يعتمد علي ان الباركود يظهر كصورة غير واضحة بعض الشيء ولكن بعد الطباعة علي ورق يعمل بشكل جيد . مثل ما قالة لك الاخ : عبدالله الدوسري
1- رابط الموضوع
https://www.sourcecodester.com/visual-ba...vbnet.html
2- هتحتاج لضبط طابعة الباركود بحسب حجم الملصق الخاص بالطباعة بالروابط الاتية :-
- الرابط الاول لطابعة Zebra LP2824
- الرابط الثاني لمختلف الطابعات
المشاركات : 186
المواضيع 53
الإنتساب : May 2017
السمعة :
4
الشكر: 148
تم شكره 102 مرات في 64 مشاركات
(29-04-18, 12:05 AM)محمد اسماعيل كتب : تابع الموضوع دة
- هو مميزاتة بدون ادوات خارجية
- عيوبة يعتمد علي ان الباركود يظهر كصورة غير واضحة بعض الشيء ولكن بعد الطباعة علي ورق يعمل بشكل جيد . مثل ما قالة لك الاخ : عبدالله الدوسري
1- رابط الموضوع
https://www.sourcecodester.com/visual-ba...vbnet.html
2- هتحتاج لضبط طابعة الباركود بحسب حجم الملصق الخاص بالطباعة بالروابط الاتية :-
- الرابط الاول لطابعة Zebra LP2824
- الرابط الثاني لمختلف الطابعات
اخي العزيز شكرا لك انا شفت المثال وعملت مثل ما مطلوب لكن الطابعة لم تستلم اي شي من البرنامج وفقك الله تعبت من هذي المشكلة علما ان الطابعة جديدة وغير مستعملة نهائيا
المشاركات : 813
المواضيع 24
الإنتساب : Oct 2012
السمعة :
230
الشكر: 1133
تم شكره 2180 مرات في 815 مشاركات
هل قمت بطباعة أي شيء على هذة الطابعة , هل أنت متأكد أنها تعمل ,
هل الدرايفر الخاص بالطابعة مثبت بشكل صحيح, هل تستطيع عمل أمر طباعة ( Test ) من لوحة التحكم
المشاركات : 1,535
المواضيع 33
الإنتساب : Jul 2016
السمعة :
256
الشكر: 6183
تم شكره 4343 مرات في 1696 مشاركات
(28-04-18, 11:36 PM)عبدالله الدوسري كتب : أخوي فراس ، أنت معقد الموظوع كثير , هو أبسط من هذا بكثير .
لطباعة الباركود : الأفضل تطبعة كخط وليس كصورة :
مثال على ما أقصد ولمعرفة الفرق :
جرب غير الأكواد كما هي موظحة هنا :
كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
prnDialog.Document = prntDoc
If prnDialog.ShowDialog = DialogResult.OK Then
prntDoc.Print()
End If
End Sub
Private Sub prntDoc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles prntDoc.PrintPage
e.Graphics.DrawImage(Me.PictureBox1.Image.Clone, 0, 0)
e.HasMorePages = False
End Sub
هذا مشروع كمثال جرب بنفسك :
لاحظ هنا عند الطباعة كنص :
طباعة الباركود على شكل نص : الباركود واضح ( حتى لو قمت بالتكبير عشرات المرات ) ستظل الخطوط حادة
لاحظ هنا عند الطباعة كصورة :
طباعة الباركود على شكل صورة : من البداية واضح أن الباركود مضبب وغير واضح.
ملف المشروع :
بارك الله فيك
وفي عملك
اخي / عبدالله الدوسري  دائما مبدع
اتمنى الامثلة المميزة مثل هذا المشروع ان تقوم بوضعة في قسم الامثلة والمشاريع
بموضوع مستقل
وعنوان واضح
مثل باقي مواضيعك
كي يستفيد منه اكثر ما يمكن من الاعضاء
وشكرا
|