Модификация отчета .f4x | |
---|---|
MrDalex Автор Сообщений: 13 Дата регистрации: 19.11.2019 |
Опытные Лесоводы, хелп! Занесло меня работать в бюджетную организацию, одна из программ написана на Foxpro для DOS, база DBASE III, и было это очень давно. Я вообще delphi-ст, а по базам MSSQL, Firebird. Потребовалось расширить одно поле, все бы ничего, но оно выводится в отчет со старой длинной. Путем поисков нашел в коде, где это происходит:
Как и чем его отредактировать под новую длину поля? |
Re: Модификация отчета .f4x | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Лес и лиса - две большие разницы. Цитата:Тем же самым, чем исполняется программа. Кстати, с чего взяли, что ? ------------------ Лень - это неосознанная мудрость. |
Re: Модификация отчета .f4x | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Устанавливай FPD нужной версии (последняя 2.6), правда, отчеты (репорты) в ней в файлах .FRX и .FRT, а f4x - не знаю, может из старой версии клон, или другой какой... Фишка в том, что эти файлы репорта суть DBF и FPT (сама таблица и содержимое мемо), которые (при переименовании в DBF и FPT, например) можно смотреть любой смотрелкой DBF
|
Re: Модификация отчета .f4x | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Вероятно, это просто опечатка - у таблиц Фокса никогда не было такого расширения. |
Re: Модификация отчета .f4x | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Командой MODIFY REPORT <имя-файла-отчета> из командного окна Фокса. Исполняемый файл Фокса может называться по-разному в зависимости от версии - в FPD 2.6 - foxprox.exe. |
Re: Модификация отчета .f4x | |
---|---|
MrDalex Автор Сообщений: 13 Дата регистрации: 19.11.2019 |
Спасибо всем! f4x - никакой опечатки, в отличии от "Лесоводы") Написана в foxpro для dos, потому как запускается в консоли, выходить нужно через Quit, интерфейс досовский. На авось решил посмотреть его ReFox-ом, оказалось, что F4X - это обычный скомпилированный prg. Получил исходник, поправил что нужно и обратно скомпилировал через командную строку - FOXPROLN.EXE AVANS.PRG, далее AVANS.FXP переименовал в F4X и скормил программе. Все работает, но происходит перенос строки и на лист не помещается. Теперь другой вопрос, размером шрифта управлять можно на уровне одного отчета? Принтер матричный.
Исправлено 2 раз(а). Последнее : MrDalex, 20.11.19 09:14 |
Re: Модификация отчета .f4x | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Вставляй служебные символы в нужном месте текста, но это принтерозависимая фича. Например, в Epson-DFX CHR(18) включает сжатый шрифт, CHR(15)-широкий.
|
Re: Модификация отчета .f4x | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Видимо там самописный какой-то обработчик отчетов, заменяющий стандартный. В стандартном отчет - это таблица. А это возможно что-то вроде вывода через команду "?".
Через так называемый язык "ESC-последовательности Epson". ПОиском можно найти все команды. Что-то вроде вот такого: epson.ru Хотя не все работют на реальных принтерах. Вот, когда-то специально подобрал и занес в таблицу, сколько символов на строку и в толбец влазит с использованием разных кодов управления, чтобы макетировать данные, исходя из этого (бумага бывала нестандартная, поэтому подборку делал для слегка уменьшенных листов бумаги и для стандартных): [attachment 32362 1.JPG] ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Модификация отчета .f4x | |
---|---|
MrDalex Автор Сообщений: 13 Дата регистрации: 19.11.2019 |
Спасибо! Да вывод через '?' "Text" AT №_Позиции. А что делает вот такая команда '??' "Text" AT №_Позиции?
Исправлено 1 раз(а). Последнее : MrDalex, 20.11.19 10:25 |
Re: Модификация отчета .f4x | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
То же самое, но без перехода на новую строку. ------------------ Лень - это неосознанная мудрость. |
Re: Модификация отчета .f4x | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Или я всё забыл, или вам только кажется, что вы что-то сделали с отчетом. Во-первых, непонятно, с чего вы решили что в команде:
Только с того, что нашли файл с этим именем? Команда REPORT FORM работает с файлом отчета, а не с программным файлом, каким является ваш переименованный FXP (кстати, пока непонятно, зачем все эти сложности с переименованиями). Вы же сами вначале правильно написали
Файл отчета - это вовсе не программный файл, который вы правили (совпадение имен - не более того). Программный файл с именем Avans.f4x тоже, конечно, где-то вызывается, но не этой командой. Причем, поскольку вы дали нестандартное расширение программе, то вызываться она должна с явным указанием этого расширения. Как я уже писал выше, Фокс никогда не имел дела с расширением f4x, не знает, что это такое, и по умолчанию вызывать Avans.f4x не будет. (речь, конечно, о родном Фоксе, а не о пропатченном каким-либо образом) Ну, а то, что у вас "всё работает", вполне может объясняться исправлениями в программном файле. Судя по названию, именно он подготавливает данные для отчета, а изменения в собственно отчете могут и не понадобиться. Если вам всё же понадобится править сам отчет - ищите файлы с именами Avans.frx, Avans.frt и изменяйте его командой MODIFY REPORT Avans. PS Кстати, чтобы что-то напечатать, совсем не обязательно иметь файл отчета - документ можно создать и напечатать исключительно программой, что похоже у вас и происходит, судя по командам вывода ? и ??. А наличие в коде команды REPORT FORM не обязательно означает, что эта команда отрабатывает. Возможно, это вообще другой отчет или другая версия того же отчета, вызывающаяся при каком-то условии... Исправлено 10 раз(а). Последнее : akvvohinc, 20.11.19 15:13 |
Re: Модификация отчета .f4x | |
---|---|
MrDalex Автор Сообщений: 13 Дата регистрации: 19.11.2019 |
Любых других файлов с этим именем нет. В первом посте я писал, что все это досталось мне в наследство, причем исходники автор забрал. Все что дорабатывалось, делалось через ReFox и не мною, до недавнего времени. Поиском с вхождением текста '.f4x' не нашлось ни одного файла, включая бинарные. Подготавливаются данные в DBF-файл в том же модуле, где и вызов REPORT FORM, а F4R выводит данные командами '?' и '??', Ни оного файла .frx не существует. Если в коде убрать REPORT FORM, ничего не происходит и не создается файл для печати. Я не знаю пока как это работает, но работает 100%. |
Re: Модификация отчета .f4x | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Знаю одно - REPORT FORM не может выполнять программный файл, ему требуется файл отчета. Поэтому он либо должен создаваться на лету, либо появляться каким-либо другим способом - например, переименованием чего-то с последующим удалением. В приложении, где вызываемые программы принудительно получают нестандартные расширения, все возможно. Судя по приведенному фрагменту, в приложении активно используются макроподстановки. Если требование расширения f4x для программных файлов - для того, чтобы "запутать" возможных "взломщиков", то текст f4x может нигде не встретиться явно - достаточно где-то создать строковую переменную с таким значением, например, каким-нибудь таким "мудреным" способом:
Если вы пришлете ваши программы (все или часть, включая головную) - хоть PRG, хоть FXP (как f4x), я смогу сказать наверняка, как у вас это всё работает. |
Re: Модификация отчета .f4x | |
---|---|
MrDalex Автор Сообщений: 13 Дата регистрации: 19.11.2019 |
Отправил ссылки через ЛС. Если для понимания нужны еще какие-либо файлы, вышлю.
Исправлено 1 раз(а). Последнее : MrDalex, 21.11.19 10:33 |
Re: Модификация отчета .f4x | |
---|---|
MrDalex Автор Сообщений: 13 Дата регистрации: 19.11.2019 |
|
Re: Модификация отчета .f4x | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Тогда и я продублирую ЛС здесь:
Программы бегло посмотрел, пока ничего интересного (объясняющее работу REPORT FORM) не увидел. Хотелось бы посмотреть весь список файлов (с расширениями) (DIR), лежащих в папке: &dr\zp\pe4at\ Посмотрю список, возможно, попрошу прислать какие-то файлы. Также не помешал бы конфигурационный файл Фокса - Config.fp или что-то подобное (название может быть и другим). Приложение работает только через исходники? EXE не создается? Вызов примерно такой? foxproln veda (пришлите полную строку запуска программы или содержимое BAT-файла, если он используется) Все ли программы лежат как F4x или есть PRG и FXP? Например есть такой вызов программы DO &dr\ZP\PE4AT\PROP_NUM.PRG WITH SS Если в папке нет файла PROP_NUM.PRG или PROP_NUM.FXP, то "нормальный" Фокс не запустит PROP_NUM.F4X по этой команде (я даже проверил это на всякий случай ). Конечно, проще всего было бы посмотреть полностью работоспособную версию приложения. Если у вас есть возможность прислать ВСЁ, но с "пустой" или демонстрационной БД, то это бы сразу решило все проблемы. Файлы отчетов действительно могут иметь другие расширения. Управляет этим настройка в config.fp REPORT = <расширение для файлов отчетов> (для программных файлов аналогичной настройки нет). Но это никак не отменяет того факта, что в команде REPORT FORM указывается имя файла отчета (это по сути DBF-файл), а не имя программного файла. Поэтому пришлите файлы с именами: avans avansp avansd kvit rod_pl zpl z13 со всеми расширениями, которые встретятся. Желательно в том виде, в котором они были до ваших последних действий. |
Re: Модификация отчета .f4x | |
---|---|
MrDalex Автор Сообщений: 13 Дата регистрации: 19.11.2019 |
Запуск приложения через bat:
Config.fp
CONFIG.FSV
PRG и FXP много и в разных папках. Лучше я подготовлю файлы и вышлю все, проект не маленький. Не передумали возиться?) |
Re: Модификация отчета .f4x | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Ну чтоб уж совсем не забыть молодость... Ждем-с. ------------------ Лень - это неосознанная мудрость. |
Re: Модификация отчета .f4x | |
---|---|
MrDalex Автор Сообщений: 13 Дата регистрации: 19.11.2019 |
Ок, думаю в понедельник уже.
|
Re: Модификация отчета .f4x | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
То есть головная программа называется "m"? А ранее вы писали (и прислали её), что головная - VEDA. |
© 2000-2024 Fox Club  |