Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777, zombi-vadim (+4 невидимых)

 eXeL@B —› Программирование —› параметры пкчати
Посл.ответ Сообщение


Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 25 апреля 2008 21:16 · Поправил: Mavlyudov
· Личное сообщение · #1

Уже на нескольких форумах спрашивал, никто не отвечает в тему. Может есть тут люди, которые знают.
Есть такая проблема. Хочу программно изменить размер(формат) бумаги.
Т.е. после того, как отработает программа, в настройках принтера должны быть настройки, которые она установила.
Но почему-то не полусается. Есть код.

var
Device : array[0..cchDeviceName-1] of Char;
Driver : array[0..(MAX_PATH-1)] of Char;
Port : array[0..32] of Char;
hDMode : THandle;
pDMode : PDevMode;
sDev : array[0..32] of Char;
begin
Printer.GetPrinter(Device,Driver,Port,hDMode);
if hDMode <> 0 then
begin
pDMode :=GlobalLock(hDMode);
if pDMode <> nil then
begin
pdMode^.dmOrientation :=2;
pdMode^.dmPaperSize := DMPAPER_A5;
GlobalUnlock(hDMode);
end;
end;
end.

Может надо как-то получать предварительно значения для функции GetPrinter?
а потом ставить SetPrinter....



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 02 мая 2008 10:35
· Личное сообщение · #2

hxxp://borland.xportal.ru/forum/printview.php?t=10117&start=0&sid=72fe 2bc5724ec8c08fa5e3edcbd5603f


 eXeL@B —› Программирование —› параметры пкчати
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати