Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2007, 15:50   #1
VAbramyak
 
Регистрация: 04.04.2007
Сообщений: 5
По умолчанию Печать текстового файла на сетевой принтер

Здрасте! Нужна помощь.
Надо в делфи написать отправку файла prn на печать в текстовом режиме на принтер который подключен к LPT порту как с локального компа так и из сети. Пробовал использовать это

function TForm3.SpoolFile(const FileName, PrinterName: string): Integer;
var
Buffer: record
JobInfo: record // ADDJOB_INFO_1
Path: PChar;
JobID: DWORD;
end;
PathBuffer: array[0..255] of Char;
end;
SizeNeeded: DWORD;
Handle: THandle;
PrtName: string;
ok: Boolean;
begin
// Flush job to printer
PrtName := PrinterName;
if PrtName = '' then
PrtName := Printer.Printers[Printer.PrinterIndex]; // Default printer name
ok := False;
if OpenPrinter(PChar(PrtName), Handle, nil) then
if AddJob(Handle, 1, @Buffer, SizeOf(Buffer), SizeNeeded) then
if CopyFile(PChar(FileName), Buffer.JobInfo.Path, True) then
if ScheduleJob(Handle, Buffer.JobInfo.JobID) then
ok := True;
if not ok then
Result := GetLastError
else
Result := 0;
end;

с локального проходит, а с сетевого нет. Обламывается на AddJob
вызов
для локалки
if SpoolFile('c:\test.prn', 'Epson FX-1050') , а для сети я так понял надо писать расшаренное имя
if SpoolFile('c:\test.prn', '\\host\Epson FX-1050')

Может я что не так делаю или есть варианты другие получше.
Если можно с примером! Спасибо!
VAbramyak вне форума Ответить с цитированием
Старый 06.04.2007, 15:57   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Вообще, на сколько я знаю. можно отправить просто на печать. а вот в настройках винды, надо установить принтер, который печатает по умолчанию.
Alar вне форума Ответить с цитированием
Старый 06.04.2007, 15:58   #3
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

печать выполняется на том пинтере, что выбран пол умолчанию и не важно сетевой он или локальный...
dron-s вне форума Ответить с цитированием
Старый 06.04.2007, 20:16   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

есть такой класс TPrinter, посмотри в справке дельфи, потом что непонятно отпишись, этот класс получает список всех доступных принтеров а ты просто указываешь индекс принтера из списка на котором хочешь печатать

Последний раз редактировалось rpy3uH; 06.04.2007 в 20:20.
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать на принтер(USB) kisser_san Общие вопросы Delphi 4 25.04.2008 16:18
Delphi Редактирование текстового файла Starscream Общие вопросы Delphi 11 18.02.2008 17:15
Открытие текстового файла Victor Microsoft Office Excel 2 16.01.2008 03:42
печать на принтер в делфи! zetrix БД в Delphi 0 30.10.2006 12:53