![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать на матричном принтере
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');