Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Печать на матричном принтере


DmiSb ©   (2005-04-07 07:07:00) 

Уважаемые мастера !!! Кто-нибудь пытался это сделать их программ на КОЛ.
Есть сл. код:

uses .....WinSpool;

procedure WriteRawStringToPrinter(PrinterName:String);
var
 Handle: THandle;
 N: DWORD;
 DocInfo1: TDocInfo1;
 s: string;
 p: integer;
begin
 if not OpenPrinter(PChar(PrinterName), Handle, nil) then
 begin
   ShowMessage('error ' + Int2Str(GetLastError));
   Exit;
 end;
 with DocInfo1 do begin
   pDocName := PChar('test doc');
   pOutputFile := nil;
   pDataType := 'RAW';
 end;
 StartDocPrinter(Handle, 1, @DocInfo1);
 StartPagePrinter(Handle);
 
 s:=StrToOem('БЛА-БЛА');
 WritePrinter(Handle, PChar(S), Length(S), N);

 ....

 EndPagePrinter(Handle);
 EndDocPrinter(Handle);
 ClosePrinter(Handle);
end;

Ита-а-к, все прекрасно печатается, но почему-то нет ошибки, если принтер не подключен или не готов. В VCL ошибка в аналогичном коде выскакивает.
Может что подскажете.


thaddy   (2005-04-07 15:33:00) [1]

You can simply test for the printer availability with:
if Assigned(Printer) then
begin
 // printer available, is global
 // object from kolprinters or mhprinters
 // it is only assigned if a printer is actually installed
end else
 MskOk('Printer not available');


Наверх

Титульная страница Поиск, карта сайта Написать письмо