Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 Current Printer  [new]
Riska
Member

Откуда: Израиль
Сообщений: 985
Как получить текущий принтер в версии PB7.0 (функция "PrintGetPrinter" отсутствует)?
PB7.0
XP
19 июл 05, 13:46    [1716142]     Ответить | Цитировать Сообщить модератору
 Re: Current Printer  [new]
alexis glinski
Member

Откуда: Minsk
Сообщений: 408
самое простое:
ls_Key = 'HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows'
ll_Rtn = RegistryGet( ls_Key, 'Device', RegString!, ls_Value )
19 июл 05, 14:25    [1716359]     Ответить | Цитировать Сообщить модератору
 Re: Current Printer  [new]
ЗоринАндрей
Member

Откуда: Санкт-Петербург
Сообщений: 3004
Choose Case lenv_environment.OsType
	Case Windows!
		RegistryGet ('HKEY_LOCAL_MACHINE\Config\0001\System\CurrentControlSet\Control\Print\Printers', 'default', ls_printer) 
	Case WindowsNT!
		RegistryGet ('HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows', 'Device', ls_printer) 
End Choose			
19 июл 05, 14:38    [1716438]     Ответить | Цитировать Сообщить модератору
 Re: Current Printer  [new]
ЗоринАндрей
Member

Откуда: Санкт-Петербург
Сообщений: 3004
или так

FUNCTION boolean GetDefaultPrinterA( REF string sPrinter, REF ulong
dwBuffer ) LIBRARY "kernel32.dll"

buffer = 260
s_printer = Space( buffer )
GetDefaultPrinter( s_printer, buffer )
19 июл 05, 14:41    [1716462]     Ответить | Цитировать Сообщить модератору
 Re: Current Printer  [new]
Riska
Member

Откуда: Израиль
Сообщений: 985
alexis glinski
самое простое:
ls_Key = 'HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows'
ll_Rtn = RegistryGet( ls_Key, 'Device', RegString!, ls_Value )

Thanx!
19 июл 05, 14:44    [1716468]     Ответить | Цитировать Сообщить модератору
 Re: Current Printer  [new]
Riska
Member

Откуда: Израиль
Сообщений: 985
ЗоринАндрей
или так

FUNCTION boolean GetDefaultPrinterA( REF string sPrinter, REF ulong
dwBuffer ) LIBRARY "kernel32.dll"

buffer = 260
s_printer = Space( buffer )
GetDefaultPrinter( s_printer, buffer )

Тоже спасибо! :)
19 июл 05, 14:46    [1716483]     Ответить | Цитировать Сообщить модератору
 Re: Current Printer  [new]
ЗоринАндрей
Member

Откуда: Санкт-Петербург
Сообщений: 3004
еще в winspool.drv что-то было на эту тему.
обсуждали тут весной вроде.
19 июл 05, 14:48    [1716490]     Ответить | Цитировать Сообщить модератору
 Re: Current Printer  [new]
Riska
Member

Откуда: Израиль
Сообщений: 985
ЗоринАндрей
еще в winspool.drv что-то было на эту тему.
обсуждали тут весной вроде.

Tak i est'. A v kernel32.dll y menya ne rabotaet.
FUNCTION long SetDefaultPrinter( string pszPrinter ) library "winspool.drv" alias for "SetDefaultPrinterA"
FUNCTION boolean GetDefaultPrinter( REF string sPrinter, REF ulong dwBuffer ) LIBRARY "winspool.drv" alias for "GetDefaultPrinterA"
19 июл 05, 18:56    [1717861]     Ответить | Цитировать Сообщить модератору
 Re: Current Printer  [new]
ROL32
Member

Откуда: Москва
Сообщений: 5
Все гораздо проще:
У DataWindow есть свойство Printer

Пример из Help for PB6.5
lsPrinter = dw_1.Object.DataWindow.Printer
lsPrinter = dw_1.Describe("DataWindow.Printer")
2 авг 05, 15:29    [1756191]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить