View Full Version : سوال: پرینتر جاری
arkia
یک شنبه 10 مرداد 1389, 03:49 صبح
من با این کد لیست پرینتر ها رو تو دلفی در میارم حالا میخوام وقتی کد چاپ نوشتم پرینتری رو که انتخاب کرده ام پرینتر جاری بشه
procedure Tfrm_main.FormShow(Sender: TObject);
var p:TPrinter;
begin
p:=TPrinter.Create;
ComboBox1.Clear;
ComboBox1.Items:=p.Printers;
end;
Felony
یک شنبه 10 مرداد 1389, 07:29 صبح
به وسیله متد PrinterIndex میتونید ایندکس پرینتر مورد نظر برای انجام عملیات رو به برنامه بدید ، اگر این مقدار 0 باشه عملیات چاپ با پرینتر پیش فرض ویندوز انجام میگیره :
P.PrinterIndex:= ComboBox1.ItemIndex;
arkia
دوشنبه 11 مرداد 1389, 00:50 صبح
آقای تاجیک دستت درد نکنه کدت درسته اما نمیدونم چرا تو برنامم جواب نمیده :ناراحت:
با printDialog پرینتر رو انتخاب می کنم چاپگر جاری عوض میشه اما با item index عوض نمیشه نمیدونم چرا؟؟؟
اگر این مقدار 0 باشه عملیات چاپ با پرینتر پیش فرض ویندوز انجام میگیره
:متعجب: یعنی تو لیستی که تو combobox داریم اولیش پیشفرضه؟ مگه لیست رو به ترتیب حروف الفبا نمیچینه؟
اینم کد چاپم :
Printer.BeginDoc;
Printer.Title:='title here';
Printer.Canvas.Font.Style := [fsBold];
Printer.Canvas.Font.Size:=10;
Printer.Canvas.Font.Name:='font here';
Printer.Canvas.TextOut(left,top+40,frm_datamodule. ADOQuery['tarikh'];
Printer.EndDoc;
اگه براتون مقدوره یه sample با دلفی بزارین برام ممنون
Felony
دوشنبه 11 مرداد 1389, 06:23 صبح
تا جایی که من اطلاع دارم وقتی از متد Printers برای گرفتن لیست پرینترها استفاده میکنید به صورت خودکار اولین گزینه ( ایندکس 0 ) پرینتر پیش فرض رو برمیگردونه ، تو بخش مقالات دلفی هم مقاله در مورد کار با کلاس TPrinter هست که ممکنه به دردتون بخوره .
موفق باشید .
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.