powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Печать текстового файла с помощью TYPE
10 сообщений из 10, страница 1 из 1
Печать текстового файла с помощью TYPE
    #36184372
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Есть текстовый файл, содержащий кириллицу, в кодировке DOS866. В результате применения команды TYPE <filename> TO PRINTER на EPSON LX300+ кириллица выводится в виде "иероглифов", хотя из FAR-а текст выводится правильно. В чем причина ? Не связано ли это с тем, что в конфигурации указано CODEPAGE=1251 ?
...
Рейтинг: 0 / 0
Печать текстового файла с помощью TYPE
    #36184378
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл уточнить. Использую VFP9.0 и Windows XP.
...
Рейтинг: 0 / 0
Печать текстового файла с помощью TYPE
    #36184400
В001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://sql.ru/forum/actualthread.aspx?tid=693149
...
Рейтинг: 0 / 0
Печать текстового файла с помощью TYPE
    #36184452
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Конвертировать файл в виндовую кодировку:
Таким образом преобразовывал файлик 1251 в 866. Как обратно, сообразишь сам.
Код: plaintext
1.
StrToFile(CPCONVERT( 1251 ,  866 , FileToStr('tmp/rezalt.txt')),'tmp/rezaltDOS.txt')
2. На самом деле проблема с принтером. 1 минута в гугле:

Печать русских текстов из DOS
Для того чтобы убедиться, что выставлена неверная кодировка, распечатайте любой текстовый файл с кириллическими символами. Если он печатается некорректно, то проблемы с кодовой страницей принтера.
Выполните следующие действия для русификации принтера:
Выключите принтер (кнопка Operate).
Включите принтер, удерживая кнопку "Font" (с установленной в принтер бумагой).
Лист будет напечатан наполовину (в меню предлагается выбрать язык). По умолчанию установлен английский: (1 (выкл.), 2 (вкл.)). Перебор осуществляется кнопкой "Font", а выбор кнопкой "LF/FF".
Печатайте оставшуюся часть листа.
Печатать таблицы меню - FONT.
Пропустите печать и перейдите в таблицу B(основное меню) - LF/FF.
Напечатайте 4 листа с параметрами меню. Индикатор Pause гореть не должен.
Индикаторами выберите положение, соответствующее значению "Character table" на листе состояния принтера по умолчанию.
Войдите в установки которые необходимо поменять - PAUSE.
Индикаторами выберите кодовую таблицу PC866 в соответствии с напечатанной таблицей "Character table".
Запомните установки и вернитесь в таблицу B - PAUSE.
Выключите принтер - кнопка OPERATE.
После этого принтер русифицирован для работы под DOS.

Если выставить кодовую таблицу РС866 не удается, это значит, что проблема может быть решена только в авторизованном сервисном центре EPSON.
...
Рейтинг: 0 / 0
Печать текстового файла с помощью TYPE
    #36184474
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. На самом деле мой файл как раз и получен методом STRTOFILE(CPCONVERT(1251, 866, ...)). В принтере тоже установлена кодовая страница DOS866. И тем не менее в прогамме команда TYPE вместо русских букв печатает ерунду.
...
Рейтинг: 0 / 0
Печать текстового файла с помощью TYPE
    #36184494
Юрий Р.Спасибо. На самом деле мой файл как раз и получен методом STRTOFILE(CPCONVERT(1251, 866, ...)). В принтере тоже установлена кодовая страница DOS866. И тем не менее в прогамме команда TYPE вместо русских букв печатает ерунду.Фигней какой-то страдаете. Текстовый файл в 866 кодировке надо просто скопировать на принте без каких-либо преобазований.
Код: plaintext
Copy file <файл> to PRN
...
Рейтинг: 0 / 0
Печать текстового файла с помощью TYPE
    #36184503
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из окна cmd нормально печатается?
Код: plaintext
copy test.txt prn
...
Рейтинг: 0 / 0
Печать текстового файла с помощью TYPE
    #36184562
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 проходящий

Ну зачем так грубо? Не "фигней страдаю", а пытаюсь разобраться в возможностях команды TYPE.

2 GoshaS

И
Код: plaintext
copy file <filename> to prn
, и
Код: plaintext
copy <filename> prn
печатают кириллицу нормально. Единственное, что не устраивает, управляющие коды, вставленные в текст, не срабатывают (или срабатывают, но не так).
...
Рейтинг: 0 / 0
Печать текстового файла с помощью TYPE
    #36184600
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня печать дос.отчетика сделана так:
Код: plaintext
1.
2.
3.
4.
5.
LOCAL lcPrint
IF !VARTYPE(config('dosprinter'))=='L' AND MESSAGEBOX('Распечатать отчет?', 4 + 32 + 256 ,'Печать отчета')= 6 
	lcPrint= 'copy '+LOCFILE('rezaltDOS', 'txt', 'Отчет')+' '+config('dosprinter')
	! &lcPrint
ENDIF 
*config('dosprinter') - вытаскивается путь до сетевого/локального принтера
по кодам управления уже сам :-)
...
Рейтинг: 0 / 0
Печать текстового файла с помощью TYPE
    #36184608
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GoshaS,

Спасибо. Попробую с управляющими кодами разобраться.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Печать текстового файла с помощью TYPE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]