Как лучше решить проблему до печати чеков для точек продаж

Я разработал приложение для торговой точки с использованием delphi, но мне осталась последняя часть программного обеспечения - печать кассового чека. Я использовал отчеты Rave для большинства моих отчетов в приложении die и пытался использовать отчеты Rave для получения своей квитанции. Единственная проблема, с которой я столкнулся с использованием Rave Reports, заключается в том, что я не знаю, как управлять подачей страницы, я хочу заставить rave выдавать непрерывную подачу страницы, иначе он печатает раздел, а затем прекращает печатать подачу некоторой страницы, а затем продолжить печать, оставьте большое пустое место на квитанции. Так есть ли способ принудительно или управлять подачей бумаги с помощью rave или delphi.

Тогда другой вопрос, для альтернативного решения проблемы:

Есть ли способ распечатать содержимое TMemo? Тогда я смогу положить все купленные товары в TMemo и вот так отправить? Это хорошая идея?

Я использую Delphi XE2


person Japster    schedule 30.12.2012    source источник


Ответы (3)


Если вы ищете альтернативу быстрым отчетам, вам, вероятно, следует попробовать OPOS или ESC / POS. (Стандарт Epson)

OPOS - это более полное решение для печати, которое берет на себя подключение к принтеру и отправку задания на печать (в большинстве случаев покупайте без Windows). где ESC / POS - это набор команд форматирования, которые вы прикрепляете к исходному тексту и отправляете на принтер.

Они являются отраслевыми стандартами для управления POS-принтерами, поэтому большинство чековых принтеров на рынке поддерживают один или другой (большинство в некоторой степени поддерживают оба), у них есть стандартные методы управления / подачи страницы, обрезки бумаги и открытия кассового лотка ( если прикреплен к принтеру).

Я использовал оба в приложениях Delphi, и вы можете легко итеративно перебирать строки в TMeno, отправляя данные на принтер, с помощью любого из них. Если вы используете ESC / POS, вы можете подключиться к принтеру с помощью команд Delphi AssignFile или AssignPrn.

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

person Re0sless    schedule 30.12.2012

Что ж, у вас есть несколько вариантов ....

  • Продолжайте использовать путь, по которому вы находитесь (составитель отчета или другой), который будет выводиться в драйвер печати чекового принтера, а затем в систему печати Windows.

  • Используйте Zebra или другой принтер и отправьте ему собственные команды принтера (у Zebra есть язык ZPL). Это дает вам 100% контроль, минуя печать в окнах. Однако в этом случае вы будете поддерживать только определенные модели принтеров.

hth!

person Jonesome Reinstate Monica    schedule 30.12.2012
comment
Не думаю, что покупка специального принтера - хороший совет. Помимо zhat, ZPL - это круто: я использую бесплатный конструктор для создания шаблона своего принтера с использованием заполнителей ('$ price $'), отправляю вывод дизайнера в текстовый файл, а во время выполнения я просто заменяю заполнители фактическими ценности. - person alzaimar; 30.12.2012

Я знаю, что это вам не особо поможет, но я использую FastReport для квитанций, и он отлично работает. В конфигурации страницы есть специальная страница «бесконечной длины», так что, возможно, есть что-то подобное в рейв-отчетах.

Подумайте о переходе на FR (оно того стоит).

person alzaimar    schedule 30.12.2012