السلام عليكم
أنا بحثث في المنتدى وتحصلت على فكرة
وسورس من أحد الأخوة
لكن المشكلة أريد طباعة عدد 30 ملصق مثلاً فيطبع لي ملصق باركود واحد فقط أرجوا مساعدتكم
والمرفقات فيها المثال الذي تحصلت عليه
السلام عليكم
أنا بحثث في المنتدى وتحصلت على فكرة
وسورس من أحد الأخوة
لكن المشكلة أريد طباعة عدد 30 ملصق مثلاً فيطبع لي ملصق باركود واحد فقط أرجوا مساعدتكم
والمرفقات فيها المثال الذي تحصلت عليه
تم تعديل هذه المشاركة بواسطة fathi alamre في 20 يناير 2014 في 12:38
السلام عليكم ..
لا مشكلة في البرنامج .. قد يكون الخلل من جانبك ..
تحياتي ^_^
شكراً على الرد
عند تغيير عدد الملصقات في البرنامج يطبع ملصق واحد فقط هذه هي المشكلة
هو يطبع ملصق في كل صفحة ..
هل تريد أكثر في صفحة واحدة !!
تم تعديل هذه المشاركة بواسطة bahbah في 20 يناير 2014 في 14:47
شكرا على الرد
يا أخي الكريم أنا أريد طباعة أكثر من ملصق في صفحة واحدة
مثلاً 3 صفوف و5 أعمدة هذا على سبيل المثال
وبارك الله فيك وفي علمك
أولاً : سأوضح المشكلة ..
مبرمج البرنامج .. عندما قام ببرمجته (إفترض أن مستخدم البرنامج سيطبع الباركود على الأوراق الخاصة به أي باركود في ورقة واحدة) ..
ولكن عندما جئت أنت وقلت تريد أكثر من باركود في الصفحة إختلت الموازين :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تحياتي ، وأتمنى أنك إستفدت ^_^
السلام عليكم ورحمة الله
أنا مش عارف كيف أشكرك أخي
بارك الله في وفي علمك وهذا ما كنت أريده
بس فيه مشكلة بسيطة كيفية التحكم في أرتفاع وعرض الملصق الواحد
وأتنمى شرح بسط للكود السابق فيه شوي غموض وبارك الله فيك يا أخي
السلام عليكم ..
الكود مشروح بالتعليقات
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الكود مشروح بالصور :
تحياتي ^_^
السلام عليكم
أنت بطططططططل
والله والله بطل
ربي يحفظك يا رب
شكراً جزيلاً
أريد منك أن تقبلني صديقاً للك
شكرا جزيلا جدا علي اهتمامك
جاري التجربة
عفوا اخي الكريم العلم ليس لي بل الجميع يجب ان يتعلم
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…