Страница 1 из 1

Печать текстового файла

Добавлено: 20 Октябрь 2016, 12:46
Игорь Столяров
Привет всем !

Подскажите пожалуйста, а как самым простым и универсальным способом можно распечатать
на текущем принтере (!!!) из программы самый обычный текстовый файл ?

ShellExecute() - печатает на принтер по умолчанию в Windows ...

Заранее спасибо !

Печать текстового файла

Добавлено: 20 Октябрь 2016, 13:17
Admin
А текущий и "по умолчанию" не одно и то же?
Если нет, то вопрос должен звучать "как определить текущий принтер"
Команде ShellExecute вроде принтер указать можно.
Т.е. получаем текущий и передаем команде.

Печать текстового файла

Добавлено: 20 Октябрь 2016, 14:09
kreator
Кажись у ShellExecute нет параметра "принтер". Народ советует апишную функцию CopyFile.

Печать текстового файла

Добавлено: 20 Октябрь 2016, 14:12
Игорь Столяров
Вот почему всегда "детские вопросы" оказываются самыми злыми ? ;)
Пошел смотреть WinAPI, спасибо ! :)

Печать текстового файла

Добавлено: 20 Октябрь 2016, 15:55
Yufil
А сделать простенький Report, считать текстовый файл в очередь и построчно её распечатать не получится ?

Печать текстового файла

Добавлено: 20 Октябрь 2016, 16:14
Admin
Вот тут глянь процедуру

Код: Выделить всё

RawDataToPrinter  PROCEDURE(*CSTRING lpData),BYTE

Печать текстового файла

Добавлено: 20 Октябрь 2016, 16:17
Admin
Специально писал что бы можно было печатать на любой принтер (включая сетевой) обычные данные типа Esc последовательностей и т.д.
Использую для печати ценников/наклеек на разные термопринтеры.

Печать текстового файла

Добавлено: 20 Октябрь 2016, 16:39
Игорь Столяров
Yufil писал(а): А сделать простенький Report,

Конечно получится ... но это печать листами. Печатаю чеки на АСПД (принтер кассового аппарата с драйвером Windows).
Чеки бывают длинные, и получается разрыв для некоторых моделей импортного производства ... (made in China).
Проще было бы записать чек в текстовый файл и послать его на принтер или куда подальше ... :)

Печать текстового файла

Добавлено: 20 Октябрь 2016, 18:10
kreator
Можно ещё попробовать Run'ом запустить команду print (http://ab57.ru/cmdlist/print.html). Но у меня не получилось послать на сетевой (хотя и не показатель). И с USB принтерами тоже непонятка.

Печать текстового файла

Добавлено: 20 Октябрь 2016, 18:19
Игорь Столяров
kreator писал(а): Run'ом запустить команду print
Не, ну понятно, что человек в затруднительном положении.
Но так низко (DOS / CMD) опускаться пока еще рано ! :idied:

Печать текстового файла

Добавлено: 20 Октябрь 2016, 19:58
Yufil
Игорь Столяров писал(а):
Yufil писал(а): А сделать простенький Report,

Конечно получится ... но это печать листами. Печатаю чеки на АСПД (принтер кассового аппарата с драйвером Windows).
Чеки бывают длинные, и получается разрыв для некоторых моделей импортного производства ... (made in China).
Проще было бы записать чек в текстовый файл и послать его на принтер или куда подальше ... :)
Не получиться подобрать настройки драйвера принтера и самого отчёта, чтобы без полей было? Приходилось...

Печать текстового файла

Добавлено: 20 Октябрь 2016, 20:24
Игорь Столяров
Yufil писал(а): Не получиться подобрать настройки драйвера принтера и самого отчёта, чтобы без полей было
Вроде нет никаких полей, вся структура REPORT в три строки ...
Насколько я понял - проблема именно в листах, т.е. разрыв - это разделение листов на ленте.