Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Иногда метод GetPrinter() компонента TPrinter возвращает пустую строку, поэтому целесообразно воспользоваться API для получения необходимых параметров из файла Windows.ini.
usesPrinters; {$IFNDEF WIN32} const
MAX_PATH = 144;
{$ENDIF} procedureTForm1.Button1Click(Sender: TObject); var
pDevice: pChar; pDriver: pChar; pPort: pChar; hDMode: THandle; begin
if
PrintDialog1.Execute then
begin
GetMem(pDevice, cchDeviceName); GetMem(pDriver, MAX_PATH); GetMem(pPort, MAX_PATH); Printer.GetPrinter(pDevice, pDriver, pPort, hDMode); if
lStrLen(pDriver) = 0 then
begin
GetProfileString('Devices', pDevice, '', pDriver, MAX_PATH); pDriver[pos(',', pDriver) - 1] := #0; end
; if
lStrLen(pPort) = 0 then
begin
GetProfileString('Devices', pDevice, '', pPort, MAX_PATH); lStrCpy(pPort, @pPort[lStrLen(pPort) + 2]); end
; Memo1.Lines.Add('Device := ' + StrPas(pDevice)); Memo1.Lines.Add('Driver := ' + StrPas(pDriver)); Memo1.Lines.Add('Port := ' + StrPas(pPort)); FreeMem(pDevice, cchDeviceName); FreeMem(pDriver, MAX_PATH); FreeMem(pPort, MAX_PATH); end
; end
;