Страница 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) опускаться пока еще рано !

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

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