Вниз
Скачать: CL | DM;

Печать на матричном принтере   Найти похожие ветки 

 
DmiSb   (2005-04-07 07:07) [0]

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

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) [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');



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
2-1131824166
Виталий80
2005-11-12 22:36
2005.12.04
Как сделать ф-цию парсинга


8-1120822518
Pavel_Delphin
2005-07-08 15:35
2005.12.04
Обработка видеосигнала.


2-1132149733
IfBeginThenEnd
2005-11-16 17:02
2005.12.04
Частотные срезы


4-1124699793
ArtemESC
2005-08-22 12:36
2005.12.04
Плавно зарисовать Desktop


2-1132149166
йцукен
2005-11-16 16:52
2005.12.04
TextWidth только для моноширинных шрифтов?




   Наверх