Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.04;
Скачать: 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 вся ветка

Текущий архив: 2005.12.04;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.057 c
2-1132257447
illy
2005-11-17 22:57
2005.12.04
Реестр API


2-1132165082
kami
2005-11-16 21:18
2005.12.04
Как SCM определяет,что тип запуска сервиса - disabled


2-1132156808
JBL
2005-11-16 19:00
2005.12.04
Exception


1-1131482578
gdaujk
2005-11-08 23:42
2005.12.04
Комбинаций клавиш Ctrl+C и Ctrl+V в TEdit е.


1-1131210798
gdaujk
2005-11-05 20:13
2005.12.04
Создание панелей инструментов