View Full Version : سوال: تغییر پرینتر پیش فرض ویندوز و یا تغییر پرینتر در fastreport
daneshmand1354
پنج شنبه 12 آبان 1390, 17:37 عصر
با سلام
من قصد دارم پرینتر پیش فرض ویندوز را تغییر دهم . البته نام پرینترهای ویندوز را با استفاده از LmdPrinterComboBox به دست آوردم ولی نمی دانم چطور میشه پرینتر انتخابی را پیش فرض کرد
در ضمن قصد دارم این پرینتر را در fastreport پیش فرض کنم
هر کدام از این کارها که جواب بده مشکل من حل میشه
ممنون از راهنمایی دوستان
سعید صابری
پنج شنبه 12 آبان 1390, 19:58 عصر
کار با پرینتر
uses
Printers;
function GetDefaultPrinter: string;
var
ResStr: array[0..255] of Char;
begin
GetProfileString('Windows', 'device', '', ResStr, 255);
Result := StrPas(ResStr);
end;
procedure SetDefaultPrinter(NewDefPrinter: string);
var
ResStr: array[0..255] of Char;
begin
StrPCopy(ResStr, NewdefPrinter);
WriteProfileString('windows', 'device', ResStr);
StrCopy(ResStr, 'windows');
SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, Longint(@ResStr));
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
Combobox1.Items.Clear;
Combobox1.Items.AddStrings(Printer.Printers);
label1.Caption := Format('Default Printer: %s',[GetDefaultPrinter]);
end;
procedure TfrmMain.Button2Click(Sender: TObject);
begin
if Combobox1.Text <> '' then
SetDefaultPrinter(Combobox1.Text)
else ShowMessage('Choose a Printer first !');
end;
منبع : یادم نیست!
daneshmand1354
پنج شنبه 12 آبان 1390, 21:05 عصر
ممنون از راهنمایی جناب
minair2004 (http://barnamenevis.org/member.php?63560-minair2004)
پرینتری که با این روش ست میشود به عنوان پرینتر فعال در fastreport عمل نمیکند و همان پرینتر قبلی را نشان میدهد در ضمن یک علامت تیک سیاه رنگ روی پرینتر پیش فرض ویندوز هست که با این روش شما آن تیک سیاه رنگ روی پرینتر پیش فرض نمیخوره
سعید صابری
پنج شنبه 12 آبان 1390, 23:18 عصر
من در ویندوز 7 همین کد امتحان کردم درست جواب داد + تیک سیاه رنگ.
احتمالا یه جای کارتون ایراد داره
daneshmand1354
شنبه 14 آبان 1390, 06:26 صبح
من در ویندوز 7 همین کد امتحان کردم درست جواب داد + تیک سیاه رنگ.
احتمالا یه جای کارتون ایراد داره
من در ویندوز XP امتحان کردم که مشکل دارد.برنامه نشان میدهد که پرینتر پیش فرض عوض شده است .
یعنی وقتی با همان دستورات شما پرینتر را ست کرده و بعد دوباره پرینتر پیش فرض را می خوانیم مشخص میشود که پرینتر عوض شده حتی اگر از برنامه خارج و دوباره وارد شویم ولی تیک سیاه رنگ نمی خورد و در فست رپورت هم عمل نمیکند
سعید صابری
شنبه 14 آبان 1390, 15:20 عصر
سورسو بذار اینجا یا ایمیل کن برام
firststep
شنبه 14 آبان 1390, 16:52 عصر
این رو ببینید
لینک (http://barnamenevis.org/showthread.php?177488-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%BE%D8%B1%DB%8C%D9%86%D8%AA%D8%B1-default)
http://barnamenevis.org/showthread.php?177488
فکر نمی کنید یکمکی بدجایی سوالتون مطرح کردید!!!!!!:خجالت:
سربلند باشید
daneshmand1354
دوشنبه 16 آبان 1390, 22:50 عصر
این رو ببینید
لینک (http://barnamenevis.org/showthread.php?177488-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%BE%D8%B1%DB%8C%D9%86%D8%AA%D8%B1-default)
http://barnamenevis.org/showthread.php?177488
فکر نمی کنید یکمکی بدجایی سوالتون مطرح کردید!!!!!!:خجالت:
ممنون لینک شما مشکل را حل کرد راستش این سوال را هم میشد در تالار دلفی مطرح کرد و هم در تالار کامپوننتها زیرا مربوط به fastreport بود از آنجایی که این مشکل در fastreport بود طرف تالار کامپوننتها سنگینتر شد و آنرا در تالار کامپوننتهای مطرح کردم.در هر حال ممنون از راهنمایی شما
daneshmand1354
دوشنبه 16 آبان 1390, 23:05 عصر
سورسو بذار اینجا یا ایمیل کن برام من دقیقا از همان سورس شما استفاده کردم.
در ضمن در لینک جناب firststep جواب را پیدا کردم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.