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

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

مغلق
بدأه عيد الخلف في 30 مايو 2006 · 13 رد · 1,189 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

بعد الإنتهاء من برمجة المشروع واجهتني مشكلة جديدة

و هي أنه و بناء على رغبة صاحب العمل لا بد لنا من طباعة التقرير على ورق من نوع خاص

و بآلة خاصة للفواتير

و المشكلة هي أنه لا يمكنني ضبط قياس الصفحة حسب المطلوب

علما أن الآلة الموجودة لا تقطع الأوراق إلا حسب القياس المحدد

فكيف يمكنني ضبط قيايات الصفحة

#2

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

حسب نظام التقارير الذي تستخدمه يوجد مكان لضبط قياس الصفحةن

إن إستخدمت QuickReport مثلا إضغط على المكون TQuickRep في تقريرك و ستظهر لك خيارات الصفحة

d4baa0.gif
#3

اذا كنت تستخدم Rave Report فيمكنك تصميم التقرير اعتمادا على احدثيات الزاويا اليسرى العليا للتقرير

اي اذا كان عرض ورق الطابعة 10 و ارتفاعه 20 مثلا فقم بتصميم التقرير على مساحة 10*20 انطلاقا من الزاوية اليسرى

العليا ( اي التي احداثياتها(0,0) )و اترك بقية صفحة التقرير فارغة و ستتم عملية الطباعة بشكل صحيح

طريقة اخرى (بصراحة انا شخصيا افضلها اكثر في هذه الحالة)

يمكنك استخدام كائن الطابعة في ديلفي

من خلال استدعاء المكتبة Printers.pas

قم بالاستدعاء عن طريق كتابة (Printer أو Printers لا اذكر ايهما بالضبط) في القسم USES

ثم استخدم خاصيات و دوال كائن الطابعة

مثال يحدد نوع خط الطباعة و قياسه و مكان الذي سيطبع فيه النص

 

  Printer.Canvas.font.name:='Tahoma';
  Printer.Canvas.font.size:=10;
  Printer.Canvas.TextOut(100,200, 'نص للطباعة');

انتبه للدوال التالية لكائن الطابعة :

BeginDoc : تبدأ بتحضير الكائن للطباعة

EndDoc : عند استدعائها يبدأ عملية الطباعة الفعلية اي تبدأ الطابعة بالطباعة على الورق

و بالتالي عليك حصر ما تريد طباعته بينهما

اليك الروابط التالية :

http://www.delphibasics.co.uk/RTL.asp?Name=Printer

http://sheepdogguides.com/dt3l.htm

اللهم صل و سلم على سيدنا محمد

كاف و نون خلقهم و فنائهم كاف و نون

عالمي شاشة و لغتي صفر و واحد

Just Smile ............You can do it

When you stop learning ... You stop leading

لساني بنطقي صامت عنه عادل............وقلبي بصمتي ضاحك منه هازل

وأتـعـب من نـاداك من لا تـجيبـه............وأغـيظ من عـاداك من لا تـشاكـل

مدونتي الشخصية : Tammam Koujan

آخر مواضيع المدونة :

#4

السلام عليكم

أخوتي الأعزاء

لقد قرأت الردود التي تفضلتم بها

و لكن المشكلة أنه و بعد أن طبقتها و أعطيت امر الطباعة تمت طباعة التقرير

و لكن لم يتوقف سحب الورق عند الحد المطلوب و إنما قامت بسحب الأوراق الموجودة في الآلة

فهل تجون لي حل ؟

#5

ما هو نوع التقرير ؟

d4baa0.gif
#6

هل تقصد بالورق من نوع خاص الورق الحراري الذي لا يحتاج لحبر

و طابعة الفواتير التي قصدتها هي التي تطبع على هذا النوع من الورق

ام ان الطابعة غير ذلك

على فكرة هل جربت الطريقة الثانية التي ذكرتها لك وهل وضعت EndDoc في نهاية عملية الطباعة

تم تعديل هذه المشاركة بواسطة Tammam Koujan في 30 مايو 2006 في 13:23

اللهم صل و سلم على سيدنا محمد

كاف و نون خلقهم و فنائهم كاف و نون

عالمي شاشة و لغتي صفر و واحد

Just Smile ............You can do it

When you stop learning ... You stop leading

لساني بنطقي صامت عنه عادل............وقلبي بصمتي ضاحك منه هازل

وأتـعـب من نـاداك من لا تـجيبـه............وأغـيظ من عـاداك من لا تـشاكـل

مدونتي الشخصية : Tammam Koujan

آخر مواضيع المدونة :

#7

السلام غليكم

نعم فالويندوز هو الذي يتحكم في حجم الطباعة فتكون دائما A4

يقول المثل الشعبي الجزائري

( أقري علمك و علما لا تدريه ، و قل ربي زدني علما ، و فوق كل ذى علم عليم )

اللهم زدنا و لا تنقصنا و أعطنا و لا تحرمنا

#8

اظن انه عليك ضبط حجم الورقة من ال Driver للويندوز وليس من برنامج التقارير

اذا كنت قد قمت بتعريف الطابعة كطابعة ويندوز قم بالدخول الى Printers and Faxes في الويندوز

ثم قم بانتقاء الطابعة التي عرفتها

و من قم اختر Properties ومن ثم على حسب ال Driver التي عندك يجب ان يكون هناك صفحة ما للتحكم بحجم الورق وعلى الاغلب يكون اسمها Device Setting

قم بقراءة ال Help الذي يأتي مع الطباعة حيث يكون مشروح تماما كيفية تنصيب ال Driver و تحديد حجم الورق

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#9

السلام عليكم

أخوتي الأعزاء

الورق الذي أقوم باستخدامه من النوع الحراري المزدوج

و علبة الورق من النوع المتصل

و عندما قمت و كما أوصيتم بتغيير الإعدادت للطابعة لم أجد القياس الذي يلبي متطلباتي

فأنا أريد القياس 10cm X20

فما هو الحل برأيكم

و جزاكم الله عني كل خير

#10

الا يوجد Custom في اعدادت الطابعة بحيث تضع حجم الورق

هذا ما يكون متوفر في اغلب الطابعات

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#11

في WINxp لا يوجد Custom في إعدادات الطابعات

لدي نفس المشكل مع طباعة كشوف رواتب العمال و لم أجد لها حل بعد

فالكشوف مطبوعة في أولراق متصلة بمقياس خاص

أرجوا المساعدة من من لديه الحل

يقول المثل الشعبي الجزائري

( أقري علمك و علما لا تدريه ، و قل ربي زدني علما ، و فوق كل ذى علم عليم )

اللهم زدنا و لا تنقصنا و أعطنا و لا تحرمنا

#12

يا أخي

الطريقة الثانية التي وضحتها لك طريقة ممتازة في مثل هذه الحالة

و قد استخدمتها من قبل على هكذا نوع من الطابعات و على طابعات البطاقات البلاستيكية ايضا

و كانت جيدة جدا لكنها تحتاج لبعض العمل زيادة

اللهم صل و سلم على سيدنا محمد

كاف و نون خلقهم و فنائهم كاف و نون

عالمي شاشة و لغتي صفر و واحد

Just Smile ............You can do it

When you stop learning ... You stop leading

لساني بنطقي صامت عنه عادل............وقلبي بصمتي ضاحك منه هازل

وأتـعـب من نـاداك من لا تـجيبـه............وأغـيظ من عـاداك من لا تـشاكـل

مدونتي الشخصية : Tammam Koujan

آخر مواضيع المدونة :

#13

السلام عليكم

عند تطبيق الطريقة الثانية على حد قولك

لم أجد طريقة لرصف المعلومات التي أود طباعتها

أرجو أن توضح لي و لو بمثال بسيط لو تكرمت

#14

على حد قولي فإن الطريقة الثانية تحتاج إلى المزيد من العمل

لكن المشكلة اننا تعودنا على ما هو جاهز

يمكنك إنشاء حلقة تدور على البيانات التي ترغب بطباعتها و تنهي كتلة التعليمات بأمر الطباعة

هذا مثال كتبته يقوم بطباعة اسماء الملفات المتواجدة في المجلد الذي يتم النقر عليه

حاول ان تجرب الطباعة على مجلد يحتوي عدد كبير من الملفات حتى ترى كيف يتم الانتقال إلى صفحة جديدة

اختبرت هذا المثال على طابعة افتراضية لذا انتبه للقياسات

المثال مكتوب بـ Delphi 2006 win32 لأنه لا يوجد على جهزي Delphi 7 لكن يمكنك نسخ الكود كما هو و سيعمل

إن شاء الله

Print.zip

اللهم صل و سلم على سيدنا محمد

كاف و نون خلقهم و فنائهم كاف و نون

عالمي شاشة و لغتي صفر و واحد

Just Smile ............You can do it

When you stop learning ... You stop leading

لساني بنطقي صامت عنه عادل............وقلبي بصمتي ضاحك منه هازل

وأتـعـب من نـاداك من لا تـجيبـه............وأغـيظ من عـاداك من لا تـشاكـل

مدونتي الشخصية : Tammam Koujan

آخر مواضيع المدونة :

هذا الموضوع مغلق.

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