Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Установка режима двусторонней печати

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Установка режима двусторонней печати
Имя
Сообщение << Старые топики   Новые топики >>
Установка режима двусторонней печати - 2008-12-03 09:00:47.506666   
skuly

Сообщений: 3
Оценки: 0
Присоединился: 2007-07-15 12:22:00.220000
Вопрос такой - как правильно установить режим двусторонней печати при помощи API ?
Есть уже найденный вариант, вроде работает, но в нек. случаях дает сбой - печатает 2 листа вместо 1
Вариант был найден такой:
1. Получение Handle принтера
   OpenPrinter(ADevice, FPrinterHandle, nil)
2. Получение указателя на PPrinterInfo2
   GetPrinter(FPrinterHandle, 2, PPrinterInfo2(PByte(InfoBuffer)), 25600, @pcbNeeded)
3. Изменение структуры DevMode
   PPrinterInfo2(PByte(InfoBuffer))^.pDevMode^.dmDuplex := 2
4. Вызов SetPrinter
   SetPrinter(FPrinterHandle, 2, PPrinterInfo2(PByte(InfoBuffer)), 0)
Замечена такая особенность:
при таком варианте установки двусторонней печати если обратиться в VBScript к xls.Selection.Font, где
xls это Excel.Application например так:
    xls.Selection.Font.Strikethrough = True
то установка двусторонней печати не работает и печатает на 2-х листах
Непонятно
 
 
Post #: 1
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Установка режима двусторонней печати







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.