Печать текста без структуры Report

Обсуждение извечных проблем кларионовских (и не только) отчетов

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Печать текста без структуры Report

Сообщение Игорь Столяров »

Привет всем !

Эта тема так или иначе поднималась в нескольких обсуждениях, но решения нет.

Можно ли как-то распечатать текст на принтер без структуры REPORT ? Напрямую через API, например.
Интересует конкретный пример или описание процесса для принтера с драйвером Windows.

Поясню, почему возник вопрос. Есть импортный (Китай) принтер чеков. Из блокнота текст печатается прекрасно.
Печатаю тот же текст из Report - просто прогоняет ленту и всё … :(

Заранее спасибо за наводку. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4561
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать текста без структуры Report

Сообщение finsoftrz »

А что просто не записать в текстовый файл и послать на печать программой по умолчанию?
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4561
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать текста без структуры Report

Сообщение finsoftrz »

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

form_r routine
  DATA
lor:WHandle           UNSIGNED,AUTO      !переменные для запуска просмотра
lor:lpOperation   CSTRING('printto')
lor:lpParameters  CSTRING(100)
lor:lpDirectory   CSTRING(1)
lor:FileName      CSTRING(FILE:MaxFilePath),AUTO
  CODE
  lor:FileName=clip(lop:filename)
  lor:WHandle=Target{PROP:Handle}
  lor:lpParameters=PRINTER{PROPPRINT:Device}
  lor:lpDirectory=0
  if ShellExecute(lor:WHandle,lor:lpOperation,lor:FileName,lor:lpParameters,lor:lpDirectory,7).

C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Печать текста без структуры Report

Сообщение Игорь Столяров »

Спасибо ! Сейчас попробуем-с … :)
Я пробовал когда-то очень-очень давно тупо копировать текстовый файл на порт печати. Работало, но сейчас не будет. :(
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Печать текста без структуры Report

Сообщение kreator »

Операции "printto" в описании ShellExecute нет. Есть "print". Есть разница между ними?
We are hard at work… for you. :)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Печать текста без структуры Report

Сообщение Дед Пахом »

printto печатает на конкретный принтер, а print на дефолтный, вроде так.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Печать текста без структуры Report

Сообщение Игорь Столяров »

finsoftrz писал(а): 01 Май 2020, 10:03 Рязань решает.
Спасибо ! Всё работает. :)
Но есть один момент - нужно имя принтера "заворачивать" в кавычки, т.к. это составной параметр.

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

   lor:lpParameters='"' & Clip(PRINTER{PROPPRINT:Device}) & '"'
   lor:lpParameters='"' & Clip(MyFieldPrinterName) & '"'
И да. Незаконный "printto" - это печать на произвольный принтер в системе, в т.ч. и сетевой - работает. :)
Если Блокнот Windows установлен как программа обработки файлов с расширением TXT. ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4561
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать текста без структуры Report

Сообщение finsoftrz »

Вместе мы сила. Пойду поправлю. :-)
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Печать текста без структуры Report

Сообщение kreator »

Игорь Столяров писал(а): 02 Май 2020, 14:58 И да. Незаконный "printto" - это печать на произвольный принтер в системе, в т.ч. и сетевой - работает.
Буду знать. Может когда понадобится.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Печать текста без структуры Report

Сообщение Игорь Столяров »

kreator писал(а): 02 Май 2020, 15:40 Может когда понадобится.
Так себе прибамбас … Неуправляемая печать, текст нужно записывать в файл, блымает окно печати … :(
Мне просто сейчас неохота разбираться с козлящим китайским принтером чеков (точнее его драйвером).
10 лет текст печатался и печатается прекрасно через штатный Report на кучу принтеров чеков и никогда не было проблем.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4561
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать текста без структуры Report

Сообщение finsoftrz »

Мне кажется, это еще для матричных принтероа делалось...
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Печать текста без структуры Report

Сообщение kreator »

Есть у нас тема. Некие документы хранятся в архиве в pdf. И надо иногда их распечатывать, не открывая. Используем ShellExecute с командой print. Да, некая специфика, нестандартная.
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Печать текста без структуры Report

Сообщение gopstop2007 »

Дополню, может кому то понадобиться.
Чтобы убрать отступы в документе при печати в терминальном режиме (RDP) *.txt, который печатается с помощью notepad.exe.
В сессии под пользователем вызвать notepad.exe и в настройках указать нужные отступы, например: 0 (ноль).
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить