Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Вниз

Как можно распечатать файл 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.039 c
1-1130325957
irishka001
2005-10-26 15:25
2005.11.20
Shellexecute + WinRar


2-1130596420
ruslan1
2005-10-29 18:33
2005.11.20
LPT порт


5-1110291542
Sphinx
2005-03-08 17:19
2005.11.20
Можно ли опубликовать в наследнике функцию ?


2-1130968376
Duralei
2005-11-03 00:52
2005.11.20
прозрачное текстовое поле


14-1130707919
Gero
2005-10-31 00:31
2005.11.20
Вышла Civilization IV





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