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

Вниз

Как можно распечатать файл LPT?   Найти похожие ветки 

 
jeka_t   (2005-09-19 15:33) [0]

Добрый день...
У меня есть два принтера: Xerox и Canon
Один из них используется по умолчанию...
Необходимо отправлять файлы печати (PLT) на соответственные принтера...
Естьли возможность с помощью функции ShellExecute осуществить распечатку, либо другая функция есть?


 
DC-AC   (2005-09-20 08:35) [1]

Насколько я знаю, через спулер можно распечатать файлы .prn на любой принтер, установленный в системе (при условии, если он поддерживает все служебные команды, содержащиеся в prn файле),  PLT - не слышал такого.


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

Это тоже самое что и PRN - команды для принтера...
Но мне необходимо печатать из Делфи...
Может кто знает как?


 
Leonid Troyanovsky ©   (2005-09-20 11:01) [3]


> jeka_t   (20.09.05 10:31) [2]
> Это тоже самое что и PRN - команды для принтера...
> Но мне необходимо печатать из Делфи...


http://groups.google.com/group/fido7.ru.delphi.chainik/msg/c68e79b088787eab

--
Regards, LVT.


 
jeka_t   (2005-09-20 11:24) [4]

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:30) [5]


> jeka_t   (20.09.05 11:24) [4]

> Вот интересная функция, но как указать не текст а файл?


Тебе не эта функция нужна, а та, которая из буфера печатает.
Т.е., делаешь TFileStream, читаешь в буфер, отправляешь его на
печать, читаешь следующий кусок и т.д.

--
Regards, LVT.


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

А как отправить из буфера на печать?


 
Leonid Troyanovsky ©   (2005-09-20 11:48) [7]

> jeka_t   (20.09.05 11:35) [6]
> А как отправить из буфера на печать?


var
 buff: array [0..$FFFFF] of Char;
 ..
 WritePrinter(Handle, @buff, SizeOf(buff), N);
 ..

--
Regards, LVT.



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

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

Наверх




Память: 0.46 MB
Время: 0.029 c
14-1130330178
Megabyte
2005-10-26 16:36
2005.11.20
Чужой код


14-1128758475
Kerk
2005-10-08 12:01
2005.11.20
[Порка] WordLines 2 Final


14-1130575148
Del_programmer
2005-10-29 12:39
2005.11.20
ирк


14-1130310641
Petrovski
2005-10-26 11:10
2005.11.20
Оценка динамики процесса


1-1130526619
John Doe
2005-10-28 23:10
2005.11.20
Односвязный список,почему у меня не связывает? :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский