:: Visual Foxpro, Foxpro for DOS
Re: Модификация отчета .f4x
MrDalex
Автор

Сообщений: 13
Дата регистрации: 19.11.2019
Это печать и создание отчетов для печати в модуле VEDA и не только, головная "m". F4X-в достаточно много.
Был в отпуске, весь проект тут yadi.sk. DBF-ы с данными, запуск ZARP.BAT.



Исправлено 1 раз(а). Последнее : MrDalex, 19.12.19 12:23
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
akvvohinc

Сообщений: 4216
Откуда: Москва
Дата регистрации: 11.11.2008
Проект, на мой взгляд, далёк от полноты - кучи DBF-файлов, которые должны открываться, в нем нет (ещё и дискетку с данными на A: иногда просит - имя дисковода жестко прописано в программе).
Но пробившись сквозь все ошибки, выдаваемые программой, и игнорируя их, я смог добраться до оператора
REPORT FORM

Мой вывод таков - в этой версии Фокса (FoxPro/LAN 1.01) команда REPORT FORM действительно умела работать с программным файлом, а не только с DBF в виде FRX(FRT). Причем, расширение такой программы действительно должно быть F4X.
При наличии обоих вариантов отчета по умолчанию (при отсутствии расширения) вызывается FRX-вариант.

Никогда не слышал о такой возможности и не видел таких приложений. В документации (Help) тоже не нашел описания этой фичи (может, плохо искал). Правда, на первой версии Фокса мы почти не работали, так как довольно быстро появились следующие. Но в любом случае мы не пользовались командой REPORT FORM вовсе - весь вывод делался в обычном PRG.

Проверил эту команду на тех версиях которые у меня сохранились:
FoxPro/LAN 1.01 - понимает F4X
FoxPro/LAN 1.10 - понимает F4X
FoxPro/LAN 2.0 - перестала понимать F4X
последующие тоже F4X не понимали.

Была еще, кажется, версия 1.5, но у меня она не сохранилась.

PS
Заодно узнал две забавных вещи:
1) полное имя этой команды - REPORT FORMAT
2) в VFP есть конвертер, который автоматически начинает работу если задать команду
REPORT FORM <любой не файл-отчета>
Правда, с форматом ваших отчетов он не справился (было бы странно), зато появились файлы *.f2x, являющиеся копией исходных файлов.



Исправлено 3 раз(а). Последнее : akvvohinc, 20.12.19 02:57
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
akvvohinc
Проект, на мой взгляд, далёк от полноты - кучи DBF-файлов, которые должны открываться, в нем нет (ещё и дискетку с данными на A: иногда просит - имя дисковода жестко прописано в программе).
Угу, очень далёк.
Цитата:
Но пробившись сквозь все ошибки, выдаваемые программой, и игнорируя их, я смог добраться до оператора
REPORT FORM

Мой вывод таков - в этой версии Фокса (FoxPro/LAN 1.01) команда REPORT FORM действительно умела работать с программным файлом, а не только с DBF в виде FRX(FRT). Причем, расширение такой программы действительно должно быть F4X.
Не только. Среди файлов с непонятными расширениями есть и истинные, документированные файлы отчетов, FMT, еще со времён DBase, которые, в сущности, те же PRG, но только с одними SAY внутри.
Цитата:
При наличии обоих вариантов отчета по умолчанию (при отсутствии расширения) вызывается FRX-вариант.

Никогда не слышал о такой возможности и не видел таких приложений. В документации (Help) тоже не нашел описания этой фичи (может, плохо искал). Правда, на первой версии Фокса мы почти не работали, так как довольно быстро появились следующие. Но в любом случае мы не пользовались командой REPORT FORM вовсе - весь вывод делался в обычном PRG.
Поищи по расширению FMT
Цитата:

Проверил эту команду на тех версиях которые у меня сохранились:
FoxPro/LAN 1.01 - понимает F4X
FoxPro/LAN 1.10 - понимает F4X
FoxPro/LAN 2.0 - перестала понимать F4X
последующие тоже F4X не понимали.

Была еще, кажется, версия 1.5, но у меня она не сохранилась.

PS
Заодно узнал две забавных вещи:
1) полное имя этой команды - REPORT FORMAT
Угу, и это тоже еще из DBase.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
MrDalex
Автор

Сообщений: 13
Дата регистрации: 19.11.2019
akvvohinc
Проект, на мой взгляд, далёк от полноты - кучи DBF-файлов, которые должны открываться, в нем нет (ещё и дискетку с данными на A: иногда просит - имя дисковода жестко прописано в программе).
Извините, может прибил по не знанию, для сокрытия информации. Диск А там действительно нужно монтировать.
Всем спасибо! Вот и прояснилось)
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
akvvohinc

Сообщений: 4216
Откуда: Москва
Дата регистрации: 11.11.2008
ssa
Угу, и это тоже еще из DBase.
С DBase поработать не довелось - на FoxBase перешли с его русифицированного аналога - Ребуса, но с ним мы только баловались, проектов не было, как и воспоминаний о нем.
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
akvvohinc

Сообщений: 4216
Откуда: Москва
Дата регистрации: 11.11.2008
ssa
Поищи по расширению FMT

Поискал, но нашел только это:
Цитата:
What is an FMT file?
A FMT file is a format settings file created by FoxPro, a database development system. It contains settings referenced by FoxPro to specify data formats and validate data entered into FoxPro tables.

Из Help по SET FORMAT TO:
Цитата:
Эта команда SET делает доступным фоpматный файл для использования в командах pедактиpования APPEND, BROWSE, CHANGE, EDIT, INSERT и READ.
Фоpматный файл задается именем <file>. Если Вы используете команду SET FORMAT TO ?, то будет выдан для выбоpа список доступных фоpматных файлов.

Фоpматный файл вида экpана ввода создается пpи помощи утилиты FoxView, дpугих утилит фоpматов и генеpатоpа пpиложений. Вид экpана ввода будет записан в файл с pасшиpением .FMT. Затем вы можете использовать команду SET
FORMAT TO с именем этого фоpматного файла для использования фоpмы экpана в командах ввода. Фоpматные файлы, как и пpогpаммные файлы, могут быть скомпилиpованы. После компиляции будет создан фоpматный файл с тем-же
именем, что и исходный, но с pасшиpением .PRX.

Очевидно, что это не совсем то же самое, что содержится в F4X-файлах. Да и команда REPORT FORM FMT-файлы, судя по описанию, не использует. Хотя некоторая аналогия просматривается - здесь формат для ввода, там, пусть и не только формат, для вывода.

В то же время в Help самой первой, еще домайкрософтовской, версии Фокса, которая у меня есть - FoxBASE+ 2.10 (c) 1988 Fox Software - в описании команды REPORT FORM написано о другом расширении - FRM:
Цитата:
The REPORT command produces reports from report files that have been generated by CREATE or MODIFY REPORT. The default extension is .FRM for report form <files>. A detail line for each record in the active database will be printed unless a <scope>, FOR, or WHILE clause is specified.

Это файл особой структуры, хранящий описание элементов отчета - не FXP и не DBF, предшественник FRX(FRT) файлов.



Исправлено 3 раз(а). Последнее : akvvohinc, 21.12.19 01:21
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
MrDalex
Автор

Сообщений: 13
Дата регистрации: 19.11.2019
Эко вас втянуло в ностальгию) Или это актуально и сейчас?
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
akvvohinc

Сообщений: 4216
Откуда: Москва
Дата регистрации: 11.11.2008
MrDalex
Эко вас втянуло в ностальгию) Или это актуально и сейчас?

Скорее первое - 4/5 трудового стажа связано с Фоксом.
Ну, и люблю покопаться в деталях... ))
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
MrDalex
Автор

Сообщений: 13
Дата регистрации: 19.11.2019
Тогда подкину еще дров) Проект заморожен, в принципе. В таком виде он работает туеву хучу лет) Поскольку с этой прогой работают три человека и у каждого по четыре экземпляра для разных баз, не по структуре а по содержимому (это так выходили из положения при изменении законов), то в итоге имеем 3х4х3=36 баз. Затем все это безобразие после расчета зарплаты каждым оператором, тремя fox-прогами, по определенной логике, сливается в три файла DBF. GENERAL, N4UD и что-то типа ZARPLATA (пишу из дому, точно не помню). Одну из сводочных программ иногда приходится править, но там ничего сложного - изменение условий в апдейтовых и удаляющих запросах, или добавление новых. По ним анализируются данные и если все сходится, отчет передается в вышестоящие органы. Дальше еще интереснее, после успешной отчетности, данные очищаются, а эти три файла хранятся за каждый месяц года эдак с 2003-го. И возникают "интересные" задачи, а-ля кому-то из сотрудников нужно найти, где работал человек неизвестно в каком году! Помимо этой сводки, я пишу на дельфях сервисные проги для всяческих проверок, дабы минимизировать неизбежные ошибки, возникающие при сводке. Т е задача осваивать fox не стоит, я бы вообще написал свою клиент-сервер с единой базой, но это никто не профинансирует). Вот после этого нововведение с увеличением длинны поля (Расчетный счет) и пришлось влезать. Все решено, но в одной форме теперь не отображается полностью это увеличенное поле. Это не критично, т к вводить данные в него они могут в другой форме, там отображается. Если есть желание, то по феншую было бы неплохо это поправить, но fox для меня темный а не рыжий лис) и влезать стремно, и времени впустую улетит много. Хочу быть правильно понятым, я не пытаюсь переложить решение на кого-то, ситуация сейчас "сойдет и так". Просто если кому-то интересно.



Исправлено 6 раз(а). Последнее : MrDalex, 21.12.19 20:10
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Правка незнакомого ЯП такова:
- если нет проекта, то ничего не делаем, если есть, то:
- компилируем, тестируем, запускаем работу, убеждаемся, что он идентичен имеющемуся ЕХЕ-шнику (хоть даже бинарной сравнялкой, но это на любителя)
- если заново компилированный ЕХЕ оказывается неидентичным образцу, то опять дальше ничего не делаем
- если идентичен, то вперед и с песней на правку, например, находим форму с р/с, расширяем поле ввода с 10 на 20 символов, может в таблице расширяем это поле, пробуем, вобщем, как обычно, бытовой костылинг.

ПС. "" Сдали отчет, ежемесячные копии, хотим посмотреть что было... Родиной пахнуло

Доб. В попу это "программирование" чужих древних прог, и своих тоже! Конечно, хочется начать с новья, применить недавно вычитанные в книжках, посоветованные друзьями, новые технологии, но кончится все рутиной и смехотворностью усилий. В сухом остатке у вас останется только 1 бит - продукт работает, или продукт не работает. Заеп..ся на сегодня ИИ встраивать (а просят, от проги практически, ИИ, наши же местные девченки-юзеры, причем говорят "это же просто". Прошусь у них поменяться на время местами - не соглашаются, говорят - это твоя работа... ну, да, грамотно мотивируют)

Дай умереть старому продукту, думай, где взять новый. Сам писать не хочешь походу, - ищите писателя(ей), готовьте бабло.

Кстати, местные тебе попишут (если есть из чего, проекта например), за меньшую мзду, чем с нуля, в 1С кадры, с удовольствием решит любая франчайзерная(?) контора.



Исправлено 3 раз(а). Последнее : of63, 21.12.19 23:56
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
akvvohinc

Сообщений: 4216
Откуда: Москва
Дата регистрации: 11.11.2008
MrDalex
Все решено, но в одной форме теперь не отображается полностью это увеличенное поле. Это не критично, т к вводить данные в него они могут в другой форме, там отображается. Если есть желание, то по феншую было бы неплохо это поправить, но fox для меня темный а не рыжий лис) и влезать стремно, и времени впустую улетит много. Хочу быть правильно понятым, я не пытаюсь переложить решение на кого-то, ситуация сейчас "сойдет и так". Просто если кому-то интересно.
Вряд ли кто-то обнаружит интересное в такой задаче.

Могу только сказать, что отображение 10 символов в поле ввода не мешает вводу более длинного текста (который целиком не виден, но может в нем прокручиваться). Например, этой командой GET значение fio редактируется в поле длиной 10:
m.fio = 'Петров Иван Фёдорович '
@ 2,3 GET m.fio PICTURE'@s10'
READ
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
akvvohinc

Сообщений: 4216
Откуда: Москва
Дата регистрации: 11.11.2008
of63
местные тебе попишут (если есть из чего, проекта например), за меньшую мзду, чем с нуля, в 1С кадры...
Вряд ли при текущем положении дел ТС стоит связываться с российским ПО. Помнится, пару лет назад там вводились какие-то санкции к 1C, Парусу и еще каким-то нашим IT-компаниям. Не знаю, рассосалось ли... - маловероятно.
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Сергей, ... у ТС мелкая кадровая самопальная прога? (Я не смотрел проект ТС) Зачем тут нужно иностраное вмешательство? Дело идет к самостийности ПО внутри каждого государства, и чуть не в каждой забегаловке (т.е. гос. стремается сделать стандартное ПО для каждого ЧП)

Доб. Про "русское" ПО двояко не понял. Русского ПО нет, кроме Тетриса, может. Но на какой-то платформе возникают красивые фурункулы. Извините за выражения! Фокс наш, на нем можно писать )

Доб. Есть еще ПО в всяких особенных оружиях, там теже самые проблы - на чем писать, и кто умеет вообще писать )...

Иностранцы тоже с КК (Драгое, или Спейс-Пипец, не помню , без подкола, тоже молодцы амеры) день назад с ПО тоже облажались, не только мы одни лажаем слб, а то я подумал, что в РФ самые тупые прогеры ))) На ПТ есть ссылка хорошая, с мужиком, который картинки рисует, с EMT )



Исправлено 5 раз(а). Последнее : of63, 22.12.19 00:49
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
akvvohinc

Сообщений: 4216
Откуда: Москва
Дата регистрации: 11.11.2008
of63
Про "русское" ПО двояко не понял.
Мне показалось, что ты предложил переписать приложение на 1C - вот откуда я взял российское ПО.
Возможно, я неправильно тебя понял.

А если бы ты все же посмотрел проект, то и вторая "непонятка" разъяснилась бы.



Исправлено 1 раз(а). Последнее : akvvohinc, 22.12.19 03:52
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Проведенное небольшое расследование по поводу расширения F4x выяснено, что сие расширение есть аналог расширения F2x при конвертации файлов версии 2.* в VFP, только для Dbase IV. Обсуждаемая система, похоже, была нарисована на сей системе, а потом перенесена на фокс. Отсюда все эти странные расширения для отчетов и экранных форм.

Добавчик: заменой report form avans на do avans.f4x (или вообще не заниматься переименовыванием fxp в f4x и сделать do avans) можно легко перенести сей зарплатный шедевр на FPD 2.6

Добавчик 2: таки FMT (в откомпилированном виде PRX) используются. Подключаются командой Set format. Так как никакие особенности сих файлов не используются, то эти команды можно просто заменить содержимым сих файлов или заменить команду на do аналогично замене команды report form.


------------------
Лень - это неосознанная мудрость.




Исправлено 3 раз(а). Последнее : ssa, 23.12.19 11:19
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Как говорится: "Не читал, но не одобряю" (в отношении программного кода данного проекта)
В том смысле, что, судя в целом по общим комментам, создается впечатление, что данная задача из серии "слишком многое о не очень многом". Доводилось как бы встречать.
Когда всю задачу из многих тысяч строк какого-то древнего кода после внимательного анализа и продумывания можно в принципе вполне уложить в 100 строчек кода на фокспро. На том же FPD2.6 уж хотя бы. Зачем тянуть все эти детские уже сегодня его прототипы из древнего мира.
С другой стороны понятно конечно, кому оно нужно все переделывать. Работает - ну и хорошо.
Хотя так по идее, думаю, с нуля переписать все было бы проще для дальнейшего сопровождения. Если оно реально нужно конечно в какой-то перспективе.
Те же рипорты можно хотя бы уж нарисовать - их правка при дальнейшей необходимости обычно бывает намного проще и нагляднее, нежели морока со всеми этими say и прочим.
В идеале же - стоило бы переписать и вовсе под VFP9.
Много меньше проблем будет при замене систем на более новые, тем более 64-битные.
А так, при использовании проекта в имеющемся виде - все настоящие проблемы еще впереди. [sm128]


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 1 раз(а). Последнее : Crispy, 23.12.19 10:59
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
MrDalex
Автор

Сообщений: 13
Дата регистрации: 19.11.2019
Я бы с удовольствием все это переписал, но на Delphi + Firebird 3, в клиент-сервере, с единой базой, с импортом всей этой бадяги за много лет, и но проблем! Стимула нет никакого, абсолютно! А фокспрошников у нас днем с огнем не найти, впрочем как и дельфистов нормальных, все сваливают в большие города. Есть не так много WEB-разработчиков, сидят по домам на фрилансе. IT-специалисты - это админы и всяческая сопроводиловка спускаемых казначействами и тд программ, продление лицензий, ключей и всяческая туфтень, которая к программированию не имеет никакого отношения. Такая вот печаль. У меня просто обстоятельства по жизни так сложились, сюда залезть.



Исправлено 2 раз(а). Последнее : MrDalex, 23.12.19 12:52
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
akvvohinc

Сообщений: 4216
Откуда: Москва
Дата регистрации: 11.11.2008
ssa
Проведенное небольшое расследование по поводу расширения F4x выяснено, что сие расширение есть аналог расширения F2x при конвертации файлов версии 2.* в VFP, только для Dbase IV. Обсуждаемая система, похоже, была нарисована на сей системе, а потом перенесена на фокс.
Я, когда в самом начале программы увидел команду
SET COMPATIBLE ON
так и подумал, что все непонятки связаны с данной настройкой, так как никогда в ней не работал. Но оказалось, что это не так.

Дибейс дибейсом, но пока получается, что о возможности работы REPORT FORM с программными файлами в некоторых версиях Фокса так нигде и не написано. Возможно, об этом писалось в родных бумажных руководствах - Developer's Guide и проч. - были у нас такие толстые белые книги по какой-то старой версии Фокса.

А ведь это должны быть не просто любые PRG, а принимающие вполне определенные параметры. Да и расширение должно быть строго F4X, а не любое другое. И очевидно, что автор проги откуда-то всё это должен был узнать.
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
akvvohinc
ssa
Проведенное небольшое расследование по поводу расширения F4x выяснено, что сие расширение есть аналог расширения F2x при конвертации файлов версии 2.* в VFP, только для Dbase IV. Обсуждаемая система, похоже, была нарисована на сей системе, а потом перенесена на фокс.
Я, когда в самом начале программы увидел команду
SET COMPATIBLE ON
так и подумал, что все непонятки связаны с данной настройкой, так как никогда в ней не работал. Но оказалось, что это не так.

Дибейс дибейсом, но пока получается, что о возможности работы REPORT FORM с программными файлами в некоторых версиях Фокса так нигде и не написано. Возможно, об этом писалось в родных бумажных руководствах - Developer's Guide и проч. - были у нас такие толстые белые книги по какой-то старой версии Фокса.

А ведь это должны быть не просто любые PRG, а принимающие вполне определенные параметры. Да и расширение должно быть строго F4X, а не любое другое. И очевидно, что автор проги откуда-то всё это должен был узнать.
А где-нить про f2x написано? С чего решил, что для конверторов с DBaseIV будут расписаны все расширения, которые они наплодят? FoxBase вон, в свое время NTX открывал, а много ли про это написано?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Модификация отчета .f4x
nik_l

Сообщений: 47
Откуда: Лида
Дата регистрации: 28.12.2011
В документации на FoxPro 2.10 есть книга "FoxView-FoxCode-FoxGen" в которой описывается порядок работы с этим набором программ. Фактически это генератор экранных форм и отчетов. Генерация происходит на основании таблицы FoxView и шаблонов (template). С системой поставляются стандартные шаблоны и исходники стандартных шаблонов на входном языке FoxCode (что-то похожее на C). Так что вполне возможно сделать генератор под свои нужды.
Подтверждением того, что в данном проекте применялся генератор служат программы *.f4x. Посмотрев исходники программ сразу видна стандартная структура, характерная для генератора. Одни и те же названия процедур, даже параметрами служат одни и те же переменные. Разница только в детальных строках, строках итогов, в заголовке и окончании отчета.
В дальнейшем FoxPro перешла от Fox Software к Microsoft Corporation и новая фирма разработала генераторы на основе собственного языка FoxPro расширив для этого набор команд. Кроме того был добавлен генератор меню, чего в системе FoxView-FoxCode-FoxGen вовсе не было.
К сожалению в электроннов виде описания системы я не нашел. Сохранилась только бумажная книга, напечатанная на матричном принтере. Зачем я ее сохранил хз. Просто, когда еще не было FoxPro 2.0 от Microsoft я попробовал, как работает генератор и очень впечатлился. Ведь тогда, чтобы разработать экранную форму надо было все позиции рассчитывать вручную. Где текст написать, каким цветом, где поле ввода, каким цветом, все считать надо. А тут базу загрузил с индексами и relation и рисуй на экране. Это был настоящии прорыв! Правда нельзя было пользоваться мышью, только горячие клавиши. Но буквально сразу нашлась FoxPro 2.0 и все это стало ненужным. Теперь конечно, это все забылось и кажется, что так было всегда.
Ratings: 0 negative/2 positive


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

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

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