:: Visual Foxpro, Foxpro for DOS
Report в VFP9 формирует DOS файл в кодировке WIN
lvugs
Автор
Есть репорт, который в всех версиях выдавал текстовый файл по команде -
REPORT FORM (lcSeleRepo) TO FILE (lcTextFile) ASCII
Результирующий файл просматривался в ДОС.
В VFP9 такой файл тоже формируется, но уже в WIN кодировке. Меня это не устраивает, т.к. в дальнейшем этот файл по технологии используется в ДОС кодировке.
Команда SET REPORTBEHAVIOR 80 ничего не меняет.
Помогите, пожалуйста!
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
Crip_as_guest
Попробуйте установить в frx колонку resid в 255.
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
lvugs
Автор
Я не хочу вносить изменения в репорты. Их много. Во всех версиях они работали нормально. И что значит " установить в frx колонку resid в 255"?
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi lvugs!

Ну так переконвертируй файл! Делов куча...




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
lvugs
Автор
При конвертировании в Far-e некоторые украинские буквы не распознаются. А программно я не знаю как.
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
lvugs писал(а):
Цитата:
При конвертировании в Far-e некоторые украинские буквы не распознаются. А программно я не знаю как.

См. help по функциям

filtostr()
cpconvert()
strtofile()
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
lvugs
Автор
Я все отчёты формирую чере репорты. Их много и менять их не хочется. Непонятно, почему поменяли кодировку формирования текстового файла ASCII? Для ДОС. Почему для ДОС формируется файл в кодировке WIN?
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
1. В чем сделаны и в каокй кодовой стрвнице отчеты.?
2. Кодовая страница среды, из которой запускается отчет?
3. Кодовая страница самих данных для отчета?

Что-то я не припомню, чтоб виндовые версии фокса выдавали report to ascii в 866 странице.
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
lvugs
Автор
1. VFP 6.0
2. VFP 9.0
3. WIN

Команда REPORT FORM (lcSeleRepo) TO FILE (lcTextFile) ASCII до 9-ой версии работала нормально!
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
Mavy

Сообщений: 246
Дата регистрации: 04.08.2004
lvugs, у меня в 8-ке формируется файл в 1251...
Посмотри в Project info кодовую страницу для твоего frx файла.
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi lvugs!

1) Ты совершенно напрасно считаешь что кодировки 1251 и 866 полностью
идентичны и между ними возможны преобразования без потерь.
CREATE CURSOR c1 (n1 I, c1 c(1), c2 c(1))
FOR ln1 = 0 TO 255
INSERT INTO c1 (n1, c1, c2) VALUES (ln1, CHR(ln1), CPCONVERT(866, 1251,
CPCONVERT(1251, 866, CHR(ln1))))
ENDFOR
BROWSE FOR ASC(c1) # ASC(c2)

2) Где ты в хелпе видел строчки про то что REPORT ... ASCII существует "для
DOS" я там такого в упор не вижу - более того если в других версиях VFP
вывод по этой команде осуществляется не в кодировке CPCURRENT() - то это
явный баг!




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
lvugs писал(а):
Цитата:
1. VFP 6.0
2. VFP 9.0
3. WIN

Команда REPORT FORM (lcSeleRepo) TO FILE (lcTextFile) ASCII до 9-ой версии работала нормально!

Здесь нет ответа на вопрос о кодовой странице отчета.
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
lvugs
Автор
К Igor Korolyov-
Я не считаю, что кодировки 1251 и 866 полностью идентичны и между ними возможны преобразования без потерь. Тем более, что у меня и таблице и в самом репорте есть украинские буквы. Но в прошлых версиях это работало и досовский текст выдавало!

К ssa-
Что значит кодовая страница отчёта? Отчёт разработан в VFP 6.0 и таблицу берёт в ВИН кодировке, а результат формирует в ДОС кодировке. Так было!! Отчёт не включён в проект, в этом не было необходимости.
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
lvugs писал(а):
Цитата:
К ssa-
Что значит кодовая страница отчёта? Отчёт разработан в VFP 6.0 и таблицу берёт в ВИН кодировке, а результат формирует в ДОС кодировке. Так было!! Отчёт не включён в проект, в этом не было необходимости.

Кодовая страница отчета - это ?cpdbf() после use Your_Report.frx и не надо никаких включений в проект.
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi ssa!

Это не имеет большого значения для полей из курсора. Вот CPCURRENT() имеет.
А от CPDBF("*.frx") зависит лишь будут ли вообще нормально восприняты
лейблы, русские имена полей и т.п. - и менять его пожалуй не стоит - просто
мы поломаем все надписи, а результат будет нулевой.




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
Игорь, про курсоры пока речи не было.
Ratings: 0 negative/0 positive
Re: Report в VFP9 формирует DOS файл в кодировке WIN
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi ssa!

Ты не понял... Фоксу по барабану CPDBF() репорта - от этого никак не зависит
то, в каком виде он будет выводить данные по REPORT FORM ... ASCII - он
просто может некорректно лейблы выводить - если отчёт был создан скажем в
1251 а потом его кто-то "насильно" через cpzero сделал 866. ПОЛЯ же с
данными вообще никак не зависят от CPDBF(). И соответственно ВСЁ зависит от
CPCURRENT() - т.е. если дано что файл репорта корректен (в т.ч. CPDBF()
соответствует надписям), CPDBF() курсора корректен (т.е. фокс его правильно
показывает) - то CP текстовика управляется именно CPCURRENT()-ом.




------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 30 (Гостей: 30)

© 2000-2024 Fox Club 
Яндекс.Метрика