Главная страница
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.044 c
2-1125629460
-=snoop=-
2005-09-02 06:51
2005.10.09
не могу написать запрос!


3-1125088546
RayGun
2005-08-27 00:35
2005.10.09
Выбор механизма доступа к БД


14-1127211115
SlyFox
2005-09-20 14:11
2005.10.09
UNIX & C: откровения :)


14-1126852705
BHyK
2005-09-16 10:38
2005.10.09
Conter-Strike по телефону.


14-1127240450
QuaziLamo
2005-09-20 22:20
2005.10.09
CSS