Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как получить разрешение принтера по умолчанию

Delphi , ОС и Железо , Принтеры и Печать

Как получить разрешение принтера по умолчанию

Автор: http://www.swissdelphicenter.ch

uses
  Printers;

function GetPixelsPerInchX: Integer;
begin
  Result := GetDeviceCaps(Printer.Handle, LOGPIXELSX)
end;

function GetPixelsPerInchY: Integer;
begin
  Result := GetDeviceCaps(Printer.Handle, LOGPIXELSY)
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption := Format('x: %d y: %d DPI (dots per inch)',
    [GetPixelsPerInchX, GetPixelsPerInchY]);
end;

Here's the translation of the text into Russian:

Программный код, который я опубликовал, - это простой пример, как получить разрешение по умолчанию принтера (в точках на дюйм, или DPI) и отобразить его в заголовке формы. Вот разбивка каждого шага:

  1. Единица Printers используется для взаимодействия с принтерами.
  2. Определены две функции: GetPixelsPerInchX и GetPixelsPerInchY. Эти функции используют функцию GetDeviceCaps из единицы Graphics, чтобы получить горизонтальное (x) и вертикальное (y) разрешение по умолчанию принтера соответственно. Используются константы LOGPIXELSX и LOGPIXELSY как аргументы, чтобы указать, какой разрешение получить.
  3. В обработчике события клика кнопки формы обновляется заголовок с помощью функции Format, используя x и y разрешения.

Чтобы установить принтер по умолчанию, можно использовать процедуру AssignPrinter из единицы Printers:

procedure TForm1.SetDefaultPrinter(PrinterName: string);
begin
  Printers.AssignPrinter(PrinterName);
end;

Вызовите эту процедуру с именем желаемого принтера (например, "HP LaserJet") для установки его как принтера по умолчанию.

Если вы хотите получить имя текущего принтера по умолчанию, можно использовать функцию GetCurrentPrinter:

function TForm1.GetCurrentPrinter: string;
begin
  Result := Printers.GetCurrentPrinter;
end;

Это вернет строку с именем текущего принтера по умолчанию.

Вот альтернативное решение, использующее компонент TPrinters:

procedure TForm1.Button1Click(Sender: TObject);
var
  Printer: TPrinters;
begin
  Printer := TPrinters.Create(nil);
  try
    Caption := Format('x: %d y: %d DPI (dots per inch)', [Printer.DefaultPrinter.XResolution, Printer.DefaultPrinter.YResolution]);
  finally
    Printer.Free;
  end;
end;

В этом примере компонент TPrinters создается, а разрешение по умолчанию принтера получается с помощью свойств XResolution и YResolution. Заголовок обновляется с этими значениями. Обратите внимание, что компонент TPrinters не обязателен для создания на форме; вы можете также использовать его как отдельный объект.

Надеюсь, это поможет! Пожалуйста, если у вас есть какие-либо дальнейшие вопросы.

Статья описывает способ получения разрешения принтера по умолчанию с помощью функций GetDeviceCaps и вывода результатов в формате "x: %d y: %d DPI (dots per inch)".


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Принтеры и Печать ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-10 07:13:18
2024-05-11 05:55:02/0.0073680877685547/2