Как я могу прочитать и установить стиль бумаги (он же papername) в Firemonkey MacOS - PullRequest
0 голосов
/ 02 апреля 2020

Работает в Delphi Firemonkey для Ma c OS64.

Попытка прочитать и затем установить переменную Apple вызывает «paperName», который является типом бумаги (letter, legal, envelope, et c.) Я знаю, что доступ к нему осуществляется через NSPrinter.PaperName? но я не понимаю, как закодировать FMX для доступа к нему.

Я использую поваренный код для получения бумажного прямоугольника:

FPrintInfo := TNSPrintInfo.Wrap(TNSPrintInfo.OCClass.sharedPrintInfo);
FPrintInfo.retain;
PMGetAdjustedPaperRect(FPrintInfo.PMPageFormat, @PaperRect);
FPrintInfo.release;

, но я совсем не знаком с Ма c кода, поэтому мои попытки подключить и воспроизвести этот код для получения имени бумаги не увенчались успехом.

Спасибо за вашу помощь.

Дейв,

Спасибо. Извините, я действительно не дал вам достаточно информации. Код, который я предоставил, работает, чтобы получить бумажный прямоугольник.

Кроме того, я пытаюсь получить название статьи, и я не могу понять, какая функция мне это даст.

Я пытаюсь использовать PMGetPageFormatPaper (FPrintInfo .PMPageFormat, @PaperTypeS); но я думаю, что, возможно, я не объявляю PaperTypeS правильно.

Я пытаюсь сделать следующее:

function getPaperShape: string;
var
FPrintInfo: NSPrintInfo;
PaperRect: PMRect;
paperwidth,paperheight:double;
paperTypeS:string;
begin
FPrintInfo := TNSPrintInfo.Wrap(TNSPrintInfo.OCClass.sharedPrintInfo);
FPrintInfo.retain;
PMGetAdjustedPaperRect(FPrintInfo.PMPageFormat, @PaperRect);
PMGetPageFormatPaper(FPrintInfo.PMPageFormat, @PaperTypeS);  
FPrintInfo.release;
paperwidth:= PaperRect.right-PaperRect.left;
paperheight:= PaperRect.bottom-PaperRect.top;
end;

Это явно не правильно, так как я ничего не возвращаю в paperTypeS. Я пытался объявить paperTypeS как NSPrinter.PaperName, или просто как PaperName, или как PMPaperName, но, очевидно, я просто догадываюсь, и ни один из них не распознается FMX как допустимые типы.

Делает ли это больше смысл?

Опять спасибо.

Скотт

...