Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Печать средствами Pascal (http://forum.oszone.net/showthread.php?t=164905)

Hector 27-01-2010 22:29 1331763

Печать средствами Pascal
 
Есть файл состоящий из записей:
Код:

type
group=record
name:string;
boss:string;
style:string;
end;

var
data: file of group;

Необходимо вывести его на печать средствами Pascal (в виде процедуры). Принтер Usb.
Проблема в том, что вразумительной информации как это сделать не нашел.

использование модуля Printer не прокатывает, ошибка 160

pva 28-01-2010 07:33 1331978

(Code: 160; Meaning: ′Ошибка записи устройства′ {Device write fault}),
http://www.excode.ru/art4311.html

Вы пытаетесь из ДОСа писать что-то на принтер USB? Какой компилятор используется, в какой среде, как (насколько успешно) печатают программы сторонних производителей?

Hector 28-01-2010 13:32 1332302

Цитата:

Цитата pva
Вы пытаетесь из ДОСа писать что-то на принтер USB? »

Выходит что так
Цитата:

Цитата pva
Какой компилятор используется, в какой среде »

Turbo Pascal 7.0, Windows 7
Цитата:

Цитата pva
как (насколько успешно) печатают программы сторонних производителей? »

Что имеется ввиду?

BlackEric 28-01-2010 15:25 1332448

Цитата:

Цитата e-Hector
Turbo Pascal 7.0, Windows 7 »

А почему не использовать современный?

Цитата:

Цитата e-Hector
как (насколько успешно) печатают программы сторонних производителей? »
Что имеется ввиду?
»

Запускаем старый добрый Norton/Volkov и добиваемся печати текстового файла из него

pva 28-01-2010 18:24 1332640

Скорее всего у вашего принтера отключена имитация LPT-порта для программ DOS. Могут ещё возникнуть проблемы с кодировкой кириллицы, это решается специальными программами, которые читают LPT и отрисовывают на принтере в Windows. Либо включайте LPT, либо бросайте этого динозавра (turbo pascal) и переходите на делфи.

Hector 28-01-2010 20:10 1332739

Насчет динозавра, я бы бросил, но преподаватель не оценит (это задание по лабораторной работе). Можно подробнее насчет включения LPT? Принтер Lexmark z705

pva 29-01-2010 10:29 1333232

похоже такая галочка для любого принтера была в Windows 9x, в XP уже не нашёл
остаётся 2 варианта:
(1)
  • в реестре HKLM/System/CurrentControlSet/Control/Session Manager/DOS Devices добавляем LPT1=\DosDevices\c:\printer.txt
  • перезагружаемся
  • создаём пустой файл printer.txt и запускаем программу, печатаем из неё
  • смотрим этот файл блокнотом со шрифтом Terminal. При необходимости можно его распечатать на принтере
(2)
пользуемся спецсофтом http://www.xpdeveloper.com/srch-4ams2nuck6.html

Hector 29-01-2010 16:40 1333590

Т. е. на паскале это без всяких
Цитата:

Цитата pva
# в реестре HKLM/System/CurrentControlSet/Control/Session Manager/DOS Devices добавляем LPT1=\DosDevices\c:\printer.txt
# перезагружаемся
# создаём пустой файл printer.txt и запускаем программу, печатаем из неё
# смотрим этот файл блокнотом со шрифтом Terminal. При необходимости можно его распечатать на принтере »

сложностей не реализовать?

pva 30-01-2010 09:44 1334062

это реализуется редактором реестра, блокнотом и проводником. Паскаль (который думает, что работает по DOS), знать об этом не будет. Паскалем нужно сделать шаг
Цитата:

Цитата e-Hector
запускаем программу, печатаем из неё »


Hector 31-01-2010 18:28 1335195

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

pva 31-01-2010 19:04 1335216

Цитата:

Цитата pva
(2)
пользуемся спецсофтом http://www.xpdeveloper.com/srch-4ams2nuck6.html »


SharkyEXE 02-12-2010 18:06 1556816

1) Имеется принтер Samsung ML-1210
2) Имеется Windows XP SP3
3) Имеется Borland Pascal 7
Проблема: нужно при помощи команды File-Print из Borland Pascal 7 вывести на печать содержимое файла Test.pas. Спасибо.

Любезный 02-12-2010 18:23 1556825

А в чём собсно проблема? Не чепятает?

Если так - полагаю, этот принтер не поддерживает печать из-под DOS-программ. Тогда лучше печатать не из Паскаля, а из текстового редактора, поддерживающего кодировку 866.

SharkyEXE 02-12-2010 18:49 1556837

Любезный
Больше интересует работа самой функции печати в Borland Pascal 7

malush1.12 07-12-2010 23:45 1560613

принтер при печати выдает
INTERNAL ERROR – FALSE
POSITION: 0x3056c4
SYSTEM: H6FW/xl_image
LINE: 495
VERSION: QPDL 1.40 11-14-2005

что делать?


Время: 09:27.

Время: 09:27.
© OSzone.net 2001-