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

تحديد الطابعة في طباعة التقارير

مغلق
بدأه mask_man في 3 فبراير 2008 · 2 رد · 999 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

أثناء قيامي بتصميم برنامج لأحد المطاعم طلب مني صاحب المطعم أن أضع له طابعة عند المحاسب وطابعة في المطبخ وعند تجهيز الطلب على الكمبيوتر يجب طباعة التقرير على الطابعتين بنفس الوقت ممكن مساعدتي بهالموضوع

انا عم اشتغل على delphi 7 والتقارير على quickreport

حاولت غير اسم الطابعة المستخدمة برمجياً بس ما مشي الحال

مع خالص امتناني لكل أعضاء الفريق العربي للبرمجة

#2

السلام عليكم

هدا ما تريد



v_PDFmail='PDFmail';





procedure TF_EG12_SYNTHESES_EDITIONS.ChangeDefaultPrinter(const Name: string);

var

W2KSDP: function(pszPrinter: PChar): Boolean; stdcall;

H: THandle;

Size, Dummy: Cardinal;

PI: PPrinterInfo2;

begin



if (Win32Platform = VER_PLATFORM_WIN32_NT) and (Win32MajorVersion >= 5) then

begin

@W2KSDP := GetProcAddress(GetModuleHandle(winspl), 'SetDefaultPrinterA');

if @W2KSDP = nil then RaiseLastOSError;



if not W2KSDP(PChar(Name)) then RaiseLastOSError;



end

else

begin

if not OpenPrinter(PChar(Name), H, nil) then RaiseLastOSError;

try

GetPrinter(H, 2, nil, 0, @Size);

if GetLastError <> ERROR_INSUFFICIENT_BUFFER then RaiseLastOSError;

GetMem(PI, Size);

try

if not GetPrinter(H, 2, PI, Size, @Dummy) then RaiseLastOSError;

PI^.Attributes := PI^.Attributes or PRINTER_ATTRIBUTE_DEFAULT;

if not SetPrinter(H, 2, PI, PRINTER_CONTROL_SET_STATUS) then RaiseLastOSError;

finally

FreeMem(PI);

end;

finally

ClosePrinter(H);

end;

end;

end; //ChangeDefaultPrinter
  CONST

هدا المثال

لتحديد طابعة خيالية اسمها PDFMAIL

ادن يمكنك تحدبد ما تريد بوضع اسم الطابعة

  ChangeDefaultPrinter(v_PDFmail);

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 4 فبراير 2008 في 18:21

#3

جاري التجريب

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

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