![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как распечатать программно файл печати (PLT, PRN)?
jeka_t © (2005-09-19 18:47:00)Подскажите пожалуйста, как можно отправить файл печати созданный ранее (PRN, LPT) на распечатку?
Leonid Troyanovsky (2005-09-20 12:33:00) [1]
> Bonjovy (20.09.05 12:08) [8]
> Причём это русский текст не печатает, а жаль.
Почему не печает?
Попробуй ему CharToOem.
--
Regards, LVT.
jeka_t (2005-09-20 12:30:00) [2]УРА!!!!!!!!!!!!!!!!!!!!!!!!
Шикарно получилось,
Спасибо огромное...
Моим эмоциям нет границ и улыбка просто не сходит с моего лица...
Очень окуратно, класно получилось...
Ещё раз спасибочки....
Bonjovy (2005-09-20 12:08:00) [3]Причём это русский текст не печатает, а жаль.
Leonid Troyanovsky (2005-09-20 11:39:00) [4]
> jeka_t (20.09.05 11:20) [6]
> Но он работает с текстом, а я хочу с файлом...
with TFileStream.Create (..) do
try
SetLength(s, Size);
ReadBuffer(s[1], Length(s));
finally
Free;
end;
WriteRawStringToPrinter('HP', s);
--
Regards, LVT.
jeka_t (2005-09-20 11:20:00) [5]Нашел такой вариант:
uses WinSpool;
procedure WriteRawStringToPrinter(PrinterName:String; S:String);
var
Handle: THandle;
N: DWORD;
DocInfo1: TDocInfo1;
begin
if not OpenPrinter(PChar(PrinterName), Handle, nil) then
begin
ShowMessage('error ' + IntToStr(GetLastError));
Exit;
end;
with DocInfo1 do begin
pDocName := PChar('test doc');
pOutputFile := nil;
pDataType := 'RAW';
end;
StartDocPrinter(Handle, 1, @DocInfo1);
StartPagePrinter(Handle);
WritePrinter(Handle, PChar(S), Length(S), N);
EndPagePrinter(Handle);
EndDocPrinter(Handle);
ClosePrinter(Handle);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
WriteRawStringToPrinter('HP', 'Test This');
end;
Но он работает с текстом, а я хочу с файлом...
Leonid Troyanovsky (2005-09-20 11:00:00) [6]
> jeka_t (20.09.05 10:35) [4]
> Да тот же принтер...
> В FARе работает все класно, а вот с командой, беда...
> А есть ли другая функция? или компонент, с помощью кторого
> можно распечатать?
В fare работает, а в cmd.exe нет? Слабо верится.
Кста, указывать надо порт принтера, если принтеров несколько.
Для принтеров псевдонимы указаны в свойствах, закладка Ports.
--
Regards, LVT.
jeka_t (2005-09-20 10:35:00) [7]Да тот же принтер...
В FARе работает все класно, а вот с командой, беда...
А есть ли другая функция? или компонент, с помощью кторого можно распечатать?
Anatoly Podgoretsky (2005-09-20 10:33:00) [8]Принтер должен быть с той же системой команд.
jeka_t (2005-09-20 10:18:00) [9]Неа, виснит машина...
У меня 3 принтера и он не разумеет что от него хотят..
Anatoly Podgoretsky (2005-09-19 20:55:00) [10]copy /b file prn