Главная страница
    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.037 c
2-1130455887
Blur
2005-10-28 03:31
2005.11.20
Как сделать имеджу небольшой блюр ?


2-1130794011
ArchValentin
2005-11-01 00:26
2005.11.20
Хранение информации разных типов в одном файле


2-1130413506
Kolan
2005-10-27 15:45
2005.11.20
Как пользоваться сплиттером.


14-1130486533
Сергей1981
2005-10-28 12:02
2005.11.20
Не загружается Delphi7


2-1130757736
syte_ser78
2005-10-31 14:22
2005.11.20
ошибка при вызове функции из dll





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский