On-line: i3t4j6, гостей 0. Всего: 1 [подробнее..]
АвторСообщение



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.01.05 14:32. Заголовок: A3


Вопрос по TPrinter
Как определить, поддерживает девайс формат A3 ?
Устанавливается формат методом SetPage, а как определить,
поддерживается ли этот метод ?
Если FW это не умеет, как сделать через WinAPI ? Или любой
харборовской gui-библиотекой ?


Спасибо: 0 
Цитата Ответить
Ответов - 3 [только новые]





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.01.05 19:57. Заголовок: Re: A3


winapi: используй(те?) функцию DeviceCapabilities:

void readPrinterParameters(){
int i, j;
char mess[512], sTmp[512];
WORD aWord[200];
LPVOID lpMsgBuf;
‹...›
i=DeviceCapabilities(/*«hp LaserJet 1300 PCL6»*/«FinePrint 2000», NULL, DC_PAPERS, (LPSTR)aWord, NULL);
if (i!=-1){
sprintf(mess, »%d», i);
strcpy(mess, »»);
for (j=0; j‹i; j++){
sprintf(sTmp, », %d», aWord[j]);
strcat(mess, sTmp);
}
MessageBox(hWnd, mess, «device capabilities», MB_OK);
}
else{
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER¦FORMA T_MESSAGE_FROM_SYSTEM¦FORMAT_MESSAGE_IGNORE_INSERT S,\
NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL);
MessageBox( NULL, (LPCTSTR)lpMsgBuf, »- ошибка считывания параметров принтера - »,
MB_OK ¦ MB_ICONSTOP );
LocalFree( lpMsgBuf );
}
}


Спасибо: 0 
Цитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.01.05 21:43. Заголовок: Re: A3


void readPrinterParameters(){
 int i, j;
 char mess[512], sTmp[512];
 WORD aWord[200];
 LPVOID lpMsgBuf;

 i=DeviceCapabilities(/*«hp LaserJet 1300 PCL6»*/"FinePrint 2000", NULL, DC_PAPERS, (LPSTR)aWord, NULL);
 if (i!=-1){
  sprintf(mess, "%d", i);
  strcpy(mess, "");
  for (j=0; j<i; j++){
   sprintf(sTmp, ", %d", aWord[j]);
   strcat(mess, sTmp);
  }
  MessageBox(hWnd, mess, "device capabilities", MB_OK);
 }
 else{
 FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER ¦FORMA T_MESSAGE_FROM_SYSTEM¦\   FORMAT_MESSAGE_IGNORE_INSERTS,\
  NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),\
   (LPTSTR) &lpMsgBuf, 0, NULL);
 MessageBox( NULL, (LPCTSTR)lpMsgBuf, "- ошибка считывания параметров принтера - ",
  MB_OK ¦ MB_ICONSTOP );
 LocalFree( lpMsgBuf );
 }
}

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.01.05 22:46. Заголовок: Re: A3


Спасибо !

Этой функцией (DeviceCapabilities) и буду вытаскивать все что надо
В MiniGUI тоже есть примерчик:

HB_FUNC (RR_DEVICECAPABILITIES)
{
LPBYTE cBuffer,pBuffer,nBuffer,sBuffer,bnBuffer,bwBuffer, bcBuffer;
DWORD numpapers,numbins,i;
LPPOINT lp;
numbins=DeviceCapabilities(pi2-›pPrinterName,pi2-› pPortName,DC_BINNAMES,NULL,NULL);
numpapers=DeviceCapabilities(pi2-›pPrinterName,pi2 -›pPortName,DC_PAPERNAMES,NULL,NULL);
if (numpapers›0)
{
pBuffer = GlobalAlloc(GPTR,numpapers*64);
nBuffer = GlobalAlloc(GPTR,numpapers*sizeof(WORD));
sBuffer = GlobalAlloc(GPTR,numpapers*sizeof(POINT));
cBuffer = GlobalAlloc(GPTR,numpapers*128);
DeviceCapabilities(pi2-›pPrinterName,pi2-›pPortNam e,DC_PAPERNAMES,pBuffer,pi2-›pDevMode);
DeviceCapabilities(pi2-›pPrinterName,pi2-›pPortNam e,DC_PAPERS,nBuffer,pi2-›pDevMode);
DeviceCapabilities(pi2-›pPrinterName,pi2-›pPortNam e,DC_PAPERSIZE,sBuffer,pi2-›pDevMode);
for ( i = 0; i ‹ numpapers; i++)
{

и так далее


Спасибо: 0 
Цитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 174
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет