الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في طباعة باركود صنف

بدأه fathi alamre في 20 يناير 2014 · 12 رد · 1,035 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم 

أنا بحثث في المنتدى وتحصلت على فكرة 

وسورس من أحد الأخوة 

لكن المشكلة أريد طباعة عدد 30 ملصق مثلاً فيطبع لي ملصق باركود واحد فقط أرجوا مساعدتكم 

والمرفقات فيها المثال الذي تحصلت عليه 

الشامل في الباركود.rar

تم تعديل هذه المشاركة بواسطة fathi alamre في 20 يناير 2014 في 12:38

#2

السلام عليكم ..

 

لا مشكلة في البرنامج .. قد يكون الخلل من جانبك ..

 

تحياتي  ^_^

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#3

شكراً على الرد 

عند تغيير عدد الملصقات في البرنامج يطبع ملصق واحد فقط هذه هي المشكلة 

#4

هو يطبع ملصق في كل صفحة ..

 

هل تريد أكثر في صفحة واحدة !!

تم تعديل هذه المشاركة بواسطة bahbah في 20 يناير 2014 في 14:47

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#5

شكرا على الرد 

يا أخي الكريم أنا أريد طباعة أكثر من ملصق في صفحة واحدة 

مثلاً 3 صفوف و5 أعمدة هذا  على سبيل المثال 

وبارك الله فيك وفي علمك 

#6

أولاً : سأوضح المشكلة ..

 

مبرمج البرنامج .. عندما قام ببرمجته (إفترض أن مستخدم البرنامج سيطبع الباركود على الأوراق الخاصة به أي باركود في ورقة واحدة) ..

 

ولكن عندما جئت أنت وقلت تريد أكثر من باركود في الصفحة إختلت الموازين  :lol:  ..

 

وهو في أمر بناء الصفحة التي سنطبعها .. إستخدم الجرافيكس لرسم صورة الباركود على المستند الذي نريد طباعته ..

 

نحن سنستبدل هذا الإجراء كاملاً .. إذا إنه لا يحقق رغبتك ..

 

أنت قلت تريد طباعة 3 أعمدة و5 صفوف (أنا الذي قلت .. أنت قلت العكس  ;) ) ..

 

لذلك سنقوم بعمل حلقتي تكرار واحدة لطباعة الصفوف وآخر لطباعة الأعمدة .. (وإثنتيهما تعتمد على الآخرى .. لذلك ستكون هناك حلقة تكرار داخلية)

 

وبما أنه من السهل أن تكون حلقة طباعة الصفوف هي الخارجية لذلك إعتمدناها  B)  ..

 

ثم قمنا بالتلاعب بحجم الصورة ومكان الصورة على حسب رغباتنا .. ثم رسمها على المستند لتتم الطباعة ..

 

المهم في الموضوع : إذهب إلى الحدث PrintDocHandler .. وإستبدله بالكود التالي ..

Private Sub PrintDocHandler(ByVal sender As Object, ByVal ev As Printing.PrintPageEventArgs)
        Dim CodeBar As New Bitmap(PicBarCode.BackgroundImage)
        Dim c As New Point(0, 0)
        For x As Integer = 1 To 5 Step 1
            For y As Integer = 1 To 3 Step 1
                ev.Graphics.DrawImage(PicBarCode.BackgroundImage, c.X, c.Y, CodeBar.Width + 100, CodeBar.Height + 50)
                c.X += 50 + CodeBar.Width + 100
            Next
            c.X = 0
            c.Y += 50 + CodeBar.Height + 50
        Next
    End Sub

تحياتي ، وأتمنى أنك إستفدت  ^_^ 

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#7

السلام عليكم ورحمة الله 

أنا مش عارف كيف أشكرك أخي 

بارك الله في وفي علمك وهذا ما كنت أريده 

بس فيه مشكلة بسيطة كيفية التحكم في أرتفاع وعرض الملصق الواحد 

وأتنمى شرح بسط للكود السابق فيه شوي غموض وبارك الله فيك يا أخي 

#8

السلام عليكم ..

 

الكود مشروح بالتعليقات 

Private Sub PrintDocHandler(ByVal sender As Object, ByVal ev As Printing.PrintPageEventArgs)
        Dim CodeBar As New Bitmap(PicBarCode.BackgroundImage) ' متغير من نوع صورة يأخذ بيانات صورة الباركود
        Dim c As New Point(0, 0) ' نقطة إحداثيات لنعرف أين سترسم الصورة
        For x As Integer = 1 To 5 Step 1 ' حلقة تكرار لرسم الصفوف
            For y As Integer = 1 To 3 Step 1 ' حلقة تكرار لرسم الأعمدة
                ev.Graphics.DrawImage(CodeBar, c.X, c.Y, CodeBar.Width + 100, CodeBar.Height + 50) ' كود لرسم الصورة
                c.X += 50 + CodeBar.Width + 100 ' هنا نقوم بتغيير الإحداثي لنقوم برسم الصورة التالية بجنب الصورة السابقة
            Next
            c.X = 0 ' هنا نصفر محور الإكس حتى نبدأ بسطر جديد
            c.Y += 50 + CodeBar.Height + 50 ' هنا نقوم بزيادة محور الواي لكي نرسم الصور في صف آخر
        Next
    End Sub

الكود مشروح بالصور : 

 

post-219398-0-89603300-1390301204_thumb.

 

post-219398-0-72988200-1390301237_thumb.

 

تحياتي  ^_^

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#9

السلام عليكم 

أنت بطططططططل

والله والله بطل 

ربي يحفظك يا رب 

شكراً جزيلاً 

أريد منك أن تقبلني صديقاً للك 

#10

السيد الفاضل

fathi alamre

 

لتمني ان ترفع المثال بعد التعديل عليه لانه لم يكتمل معي

شكرا

#11

بأذن الله أخي الكريم 

والله من عيوني 

وهذا المثال كامل 

الشامل في الباركود.rar

#12

شكرا جزيلا جدا علي اهتمامك

 

جاري التجربة

#13

عفوا اخي الكريم العلم ليس لي بل الجميع يجب ان يتعلم 

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…