Вниз
Скачать: 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.909 c
3-1129711285
July
2005-10-19 12:41
2005.12.04
дробные числа в Interbase


14-1132034084
syte_ser78
2005-11-15 08:54
2005.12.04
подскажите компонент


5-1115365176
Priest
2005-05-06 11:39
2005.12.04
Как сохранить разность DFM


14-1131974326
Piter
2005-11-14 16:18
2005.12.04
HEX кодирование


1-1131191838
ArtemESC
2005-11-05 14:57
2005.12.04
Как получить точку экрана?




   Наверх