Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Ниже представлена процедура, которая имеет в качестве параметра любой объект StringList - Строки для Memo, Пункты Combo и т.д.
procedureGetPaperFormats(aSL: TStringList); type
TPaperName = array
[0..63] of
Char; TPaperNameArray = array
[1..High(Cardinal) 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; 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
); aSL.clear; for
i := 1 to
numPaperformats do
aSL.lines.add(pPaperformats^[i]); finally
FreeMem(pPaperformats); end
; end
; end
;
Использование:
GetPaperFormats(Memo1.Lines);