Модератор: Модераторы
Mr.Smart писал(а):Открываете LPT порт как обычный файл и пишете в него данные.
var
mylpt:TextFile;
begin
AssignFile(mylpt,'LPT');
writeln(mylpt,'hello');
AssignFile(mylpt,'/prn');
Timid писал(а):то есть как winapi?
...
if
OpenPrinter
(
PWideChar(szPrinter),
ph,
Nil
)
then
begin
New(pdi);
with pdi^ do
begin
pDocName := PWideChar(ExtractFileName(FFilePatch));
pOutputFile := nil;
pDatatype := PWideChar('RAW');
end;
PrJob := StartDocPrinter(ph, 1, pdi);
StartPagePrinter(ph);
WritePrinter(ph, Pointer(szValue), Length(szValue), pcWritten);
EndPagePrinter(ph);
EndDocPrinter(ph);
ClosePrinter(ph);
FreeMem(pdi);
end;
и так далее...
Mr.Smart писал(а):alaken
А зачем так извращаться? Если просто нужно вывести текс на принтер?
ага, что-то вродеalaken писал(а):если просто вывести файл на принтер нужно использовать более простой код
var FPRN:TextFile;
function OpenLPT(PortN: Integer): Boolean;
var
prn: String;
begin
if PortN=0 then
{$IFDEF WINDOWS}
prn := 'PRN'
else
prn := 'LPT'+IntToStr(PortN)+':';
{$ELSE}
{$IFDEF UNIX}
prn := '/dev/lp0'
else
prn := '/dev/lp'+IntToStr(PortN-1);
{$ELSE}
{$ERROR Unsupported OS}
{$ENDIF}
{$ENDIF}
AssignFile(FPRN,prn);
{$I-}
Rewrite(FPRN);
{$I+}
Result := (IOResult = 0);
end;
procedure Print(s: String);
begin
{ uses lconvencoding;}
Write(FPRN, UTF8ToCP866(s));
end;
procedure PrintLn(s: String);
begin
Print(s + #13#10);
end;
procedure CloseLPT;
begin
CloseFile(FPRN);
end;
begin
if OpenLPT(1) then
begin
PrintLn('Проверка печати');
PrintLn('---------------');
CloseLPT;
end;
end;
alaken писал(а):пример от v-t-l приведенный выше не предназначен для данной задачи...
net use LPT1: \\win2k\epson
AssignFile(FPRN,prn);
Rewrite(FPRN);
Result := (IOResult = 0); всегда выдает false
alaken писал(а):хм, но почему то не работает
- Код: Выделить всё
AssignFile(FPRN,prn);
Rewrite(FPRN);
Result := (IOResult = 0); всегда выдает false
{$I-} // а где это?
Rewrite(FPRN);
{$I+} // и это?
OpenLPT(1)
PrintLn('Проверка печати');
PrintLn('---------------');
CloseLPT;
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 48