Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: CL | DM;

Вниз

Как распечатать программно файл печати (PLT, PRN)?   Найти похожие ветки 

 
jeka_t   (2005-09-19 18:47) [0]

Подскажите пожалуйста, как можно отправить файл печати созданный ранее (PRN, LPT) на распечатку?


 
Anatoly Podgoretsky ©   (2005-09-19 20:55) [1]

copy /b file prn


 
jeka_t   (2005-09-20 10:18) [2]

Неа, виснит машина...
У меня 3 принтера и он не разумеет что от него хотят..


 
Anatoly Podgoretsky ©   (2005-09-20 10:33) [3]

Принтер должен быть с той же системой команд.


 
jeka_t   (2005-09-20 10:35) [4]

Да тот же принтер...
В FARе работает все класно, а вот с командой, беда...
А есть ли другая функция? или компонент, с помощью кторого можно распечатать?


 
Leonid Troyanovsky ©   (2005-09-20 11:00) [5]


> jeka_t   (20.09.05 10:35) [4]
> Да тот же принтер...
> В FARе работает все класно, а вот с командой, беда...
> А есть ли другая функция? или компонент, с помощью кторого
> можно распечатать?


В fare работает, а в cmd.exe нет? Слабо верится.
Кста, указывать надо порт принтера, если принтеров несколько.
Для принтеров псевдонимы указаны в свойствах, закладка Ports.

--
Regards, LVT.


 
jeka_t   (2005-09-20 11:20) [6]

Нашел такой вариант:
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:39) [7]


> 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.


 
Bonjovy   (2005-09-20 12:08) [8]

Причём это русский текст не печатает, а жаль.


 
jeka_t   (2005-09-20 12:30) [9]

УРА!!!!!!!!!!!!!!!!!!!!!!!!
Шикарно получилось,
Спасибо огромное...
Моим эмоциям нет границ и улыбка просто не сходит с моего лица...
Очень окуратно, класно получилось...
Ещё раз спасибочки....


 
Leonid Troyanovsky ©   (2005-09-20 12:33) [10]


> Bonjovy   (20.09.05 12:08) [8]
> Причём это русский текст не печатает, а жаль.


Почему не печает?
Попробуй ему CharToOem.

--
Regards, LVT.



Страницы: 1 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.041 c
2-1125376216
Laymer
2005-08-30 08:30
2005.10.09
ListView


10-1105600193
Vlash
2005-01-13 10:09
2005.10.09
Вывод окна приложения-сервера на передний план


1-1127069654
antikaban
2005-09-18 22:54
2005.10.09
конвертирование файлов


14-1127196479
_lbp
2005-09-20 10:07
2005.10.09
Структура таблицы


1-1126797235
Alex Kryuchkov
2005-09-15 19:13
2005.10.09
Программное создание макроса в Экселе