Как найти все форматы бумаги, поддерживаемые принтеромDelphi , ОС и Железо , Принтеры и ПечатьКак найти все форматы бумаги, поддерживаемые принтеромАвтор: http://www.swissdelphicenter.ch uses Printers, WinSpool; procedure GetPapernames(sl: TStrings); type TPaperName = array[0..63] of Char; TPaperNameArray = array[1..High(Word) div SizeOf(TPaperName)] of TPaperName; PPapernameArray = ^TPaperNameArray; var Device, Driver, Port: array[0..255] of Char; hDevMode: THandle; i, numPaperformats: Integer; pPaperFormats: PPapernameArray; begin Printer.PrinterIndex := -1; // Standard printer Printer.GetPrinter(Device, Driver, Port, hDevmode); numPaperformats := WinSpool.DeviceCapabilities(Device, Port, DC_PAPERNAMES, nil, nil); if numPaperformats 0 then begin GetMem(pPaperformats, numPaperformats * SizeOf(TPapername)); try WinSpool.DeviceCapabilities(Device, Port, DC_PAPERNAMES, PChar(pPaperFormats), nil); sl.Clear; for i := 1 to numPaperformats do sl.Add(pPaperformats^[i]); finally FreeMem(pPaperformats); end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin GetPapernames(memo1.Lines); end; Статья Как найти все форматы бумаги, поддерживаемые принтером раздела ОС и Железо Принтеры и Печать может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Принтеры и Печать ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |