Главная страница
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.05 c
14-1131525443
Rem
2005-11-09 11:37
2005.12.04
Kingston или Samsung?


14-1131714277
oldman
2005-11-11 16:04
2005.12.04
Запоздалое поздравление... (сидел без связи)


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


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


5-1114086146
undefined
2005-04-21 16:22
2005.12.04
Просмотр в Инсп. Объектов и доступ к событиям вложеных классов