Форум » Clipper » Распечатка текстовых файлов шрифтами разной ширины » Ответить

Распечатка текстовых файлов шрифтами разной ширины

Dr. Oldwarez: Помогите пожалуйста решить проблему. В моей программе на Clipper 5.2+ProVision 1.32 (псевдо-винды) есть функция распечатки шаблонов (МЕМО-поля спец. справочной таблицы, считываемые при потребности в память) и заполняемые реквизитами из рабочей таблицы. Все бы ничего, но шеф требует поддержки шрифтов переменной ширины (в ДОСе :LOL:). Нормальный шрифт, как известно, 10 букв на дюйм (80 букв в строке). Но используется еще и шрифт 12 букв на дюйм (96 букв на строку). А в классическом досявом Клиппере функция построчного вывода MEMO-полей MEMOLINE требует заранее заданной длины строки. И как ее вычислить, если она то 80, то 96 и точно не известно когда?

Ответов - 4

Pasha: Для разбора memo-поля можно использовать функции из tools: TokenInit(c, CHR(13)+CHR(10)) while ! TokenEnd() вывод TokenNext(c) enddo

Dr. Oldwarez: Спасибо, но у меня CA-Tools не поддерживаются из-за графической библиотеки ProVision

AlexCh: Ставите DosPrn (в сети нетрудно найти рабочую версию 1.79 с крякнутым exe-шником) В настройках указываете "эмуляцию HP PCL 6" и с помощью Esp-последовательностей управляете размером шрифтов. Таблицу ESQ-последовательностей HP PCL 6 в сети найти нетрудно. У нас Clipper + DosPrn 1.79 на двух компах работает без проблем именно в таком режиме. Есть другой вариант. DBF-файл считываем программой на VFP и печатаем какие угодно шрифты на любой принтер. Прогу печати, написанную на VFP, запускаем из Clippera командой RUN. А можно запускать с ярлычка на рабочем столе, если через RUN почему-то не устраивает. У меня такая печать работает сплошь и рядом.


Dr. Oldwarez: Я таки сделал это Берётся отсюда http://www.vetusware.com старый добрый текстовый редактор WordPerfect 5.1 или 6 для доса и библиотека wpcreate http://www.the-oasis.net/files/library/wpcreate.zip В теле программы создаём пустой WordPerfect файл и направляем туда весь вывод текста. Затем закрываем этот файл и открываем его WordPerfectом с помощью команды SWPRUNCMD из Блинкера. Внимание! Для поддержки русских букв необходимо использовать WP_ExtTranslate() для каждой буквы, т.к все ASCII коды свыше 126 зарезервированы под управляющие команды WordPerfect. ЗЫ. WordPerfect 6.2 под DOS не уступает Word XP. Можно и формулу нарисовать, и картиночку вставить и табличку.



полная версия страницы