:: Обсуждаем проекты
Re: FastReport for FoxPro (тестирование и реализация)
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Предвижу дальнейший спор по заплатам программистов и ценам на продукты (софт). Поэтому скажу, что обсуждение этого оффтопика продолжайте или в Курилке или в личку или в мыло.

Я предупредил.


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
piva
Предвижу дальнейший спор по заплатам программистов и ценам на продукты (софт). Поэтому скажу, что обсуждение этого оффтопика продолжайте или в Курилке или в личку или в мыло.
Я предупредил.

Ну, загонял по веткам

Ok.
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Пока предупреждение к вам не относится, но вы отклонились от темы обсуждения тестирования.


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
Здравствуйте,

Выложил, скажем так, "ознакомительную сборку". Скачивать можно отсюда:

www.paritetsoft.ru

Это еще не материал для какого-то тщательного тестирования, больше меня сейчас интересует обсуждение fastrepf.prg. Собственно, правильно ли я начал prg-часть, могу ли "двигаться в этом направлении" и далее и т.д..

В начале fastrepf.prg несколько тестовых вызовов, чтобы нормально работали надо, естественно, поправить пути в вызовах. Для этих вызовов вложил простой отчет и dbf cо знаменитыми Borland-овскими рыбками

В самом Фасте пока ничего не делайте с вызовами Фокс-функций (там пока лежат заглушенные Харбурные). Встроенный объект FoxWorkArea пока будет работать только в режиме "AlreadyUse".

Но, главное fastrepf.prg. Жду откликов и обсуждения

Спасибо.
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
Pliskin
Помощь в написании каких-либо модулей не нужна?

Думаю, что можно начинать "подумывать" о двух вещах.

Первое, это демо-программка будущего FrFox. За основу можно взять либо мои харборно-алясочные варианты, либо демонстрационную версию FR VCL (только делать на dbf-ах). Ясно, что целью этой программы будет как, собственно, демонстрация возможностей FR так и демонстрация реализации этих возможностей теперь и средствами FoxPro.

Второе, возможно будет очень интересна некоторая утилита, конвертирующая Fox-отчет в отчет FastReport. То есть, некоторая frx2fr3. Думаю, что для будущего использования будет очень полезна.

Жду ваших мнений и т.д. Спасибо.
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
Евгений Банщиков

Сообщений: 218
Откуда: Kurgan
Дата регистрации: 09.04.2004
SergeySpirin
Но, главное fastrepf.prg. Жду откликов и обсуждения
Спасибо.
У Foxpro есть особенность работы с перенными , которая заключается в том , что когда имя переменной совпадает с именем поля открытой таблицы , значение будет взято из поля таблицы. Поэтому хорошим тоном , особенно для сторонних компонент, будет практика добавления к переменным префикса m.
Например вместо xValue правильнее будет писать m.xValue
К чему приводит пренебрежение данным правилом ,можно увидеть заменив в Вашем примере строку
oFr.SetProperty("PDFExport", "FileName", "9new.pdf")
на такой код
create Cursor var_error_test (xValue C(100))
Insert Into var_error_test (xValue) Values ('всякая хрень.pdf' )
oFr.SetProperty("PDFExport", "FileName", "9new.pdf")
Вместо макроподстановок , лучше по возможности использовать именованные выражения
Например код
SET LIBRARY TO &cFrFllLib ADDITIVE
можно заменить на
SET LIBRARY TO (m.cFrFllLib) ADDITIVE

Из примера видно , что предпросмотр является модальным , следует ли из этого что живые отчеты (live report) не будут поддерживаться ?
Будет ли реализована возможность создавать композитные отчеты?
Будет ли возможность из отчета обращаться к переменным памяти и полям объектов (пользователя или встроенных , вроде _screen) ?
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
Евгений Банщиков
create Cursor var_error_test (xValue C(100))
Insert Into var_error_test (xValue) Values ('всякая хрень.pdf' )
oFr.SetProperty("PDFExport", "FileName", "9new.pdf")
Вместо макроподстановок , лучше по возможности использовать именованные выражения
Например код
SET LIBRARY TO &cFrFllLib ADDITIVE
можно заменить на
SET LIBRARY TO (m.cFrFllLib) ADDITIVE

Ok. Спасибо. Это все поправлю.


Евгений Банщиков
Из примера видно , что предпросмотр является модальным, следует ли из этого что живые отчеты (live report) не будут поддерживаться ?

Под "живыми" имеется в виду интерактивные? Нет, не следует Во-первых, немодальным предпросмотр можно сделать и сейчас даже на этом примере:

oFr.PreviewOptions.Modal = .f.

Во-вторых, даже на модальных предпросмотрах можно будет выстраивать их в "линейку" или комбинировать "модальный-немодальный". В пятерке, кстати, заявлен уже многостраничный предпросмотр, чтобы не навигировать по разным предпросмотрам.

А так, в prg я еще мало поместил от того, что там будет (чтобы потом "перетащить уже по накатанной" ). Поэтому вы еще не видите методов типа AddReport(), SelectReport() и т.д.


Евгений Банщиков
Будет ли реализована возможность создавать композитные отчеты?

Конечно, даже опять сейчас уже можно:

oFr.LoadFromFile("d:\tmp_\_foxpro\tmp_test\9New.fr3")
oFr.PrepareReport()
oFr.LoadFromFile("d:\tmp_\_foxpro\tmp_test\ДРУГОЙ.fr3")
oFr.PrepareReport(.t.) && не очищать предыдущий
oFr.ShowPreparedReport()

Евгений Банщиков
Будет ли возможность из отчета обращаться к переменным памяти и полям объектов (пользователя или встроенных , вроде _screen) ?

Конечно, и не только Будут фоксовские и EVALUATE() и Execute() и параметризованные их формы сделаю, то есть полный доступ к языку будет (оно так по задумке ).

Справа на вкладке "Функции" там уже узел FoxPro появился, только то что там есть, еще не соответствует тому, что будет
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
h.i.a.
Связь "Один ко многим" устанавливается SET RELATION. Другой вопрос, что практической необходимости в этой команде в VFP не много, это наследие FoxPro досовских времен. Select в курсор куда как удобнее.

SergeySpirin
Дело в том, что в Клиппере SET RELATION хоть и переводит курсор в дочерней области, но сам объем данных в дочерней области никак не ограничивает (не фильтрует). Я почему-то думал, что так во всех Dbase-языках.
А тут вы подтолкнули меня все-таки проверить Открываю, проверяю SET RELATION, и вижу дельфийский MasterDetail в чистом виде В Фоксе так всегда было?


Эхххх... Обманули вы меня жестоко Дошел до проверки SET RELATION и все стало на свои места. SET RELATION в Fox-е абсолютно классический Dbase-ный и ничем не отличается от Клипперного. Да, собственно, это и в хэлпе так, в описании SET RELATION ничего нет про ограничение объема данных в дочерней области. Почему BROWSE-ы начинают это дело эмулировать не совсем понятно, скорее всего, когда появилась потребность в "Один ко многим", то такая возможность была "прикручена" на уровне поведения контролов.... Но это догадки..

Неожиданно увидел команду SET SKIP TO... Согласно хэлпу вот она как раз и обещает желаемый "Один ко многим". Но заставить это полноценно работать ВНЕ КОНТРОЛОВ мне не удалость, то есть:

SET RELATION TO bla-bla
SET SKIP TO bla-bla
SELECT Child
GO TOP

И мы благополучно "улетаем" на реально первую запись Child-а, а не первую запись его текущей "выборки"...

Собственно не так страшно, но MasterDetail для Фаста придется делать также как в клипперном варианте...

Ну и интересно А почему собственно не работает SET SKIP TO? Так же интересно все-таки, есть ли какой-либо способ установить "Один ко многим" на УРОВНЕ ДАННЫХ? Или вариант только один - на каком-то событии (контрола?) устанавливать SET KEY для дочерней области (ну или по тому же событию "Select в курсор, который куда как удобнее"
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
SET SKIP работает ровно так как описано в хелпе. По видимому эффекту - "размножает" записи мастер-таблицы. Реально - при хождении по мастер-таблице будет ходить по записям дочерней. Поэтому переклчаться на дочернюю для просмотра действия SET SKIP есть бессмысленное действие.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
Igor Korolyov
SET SKIP работает ровно так как описано в хелпе. По видимому эффекту - "размножает" записи мастер-таблицы. Реально - при хождении по мастер-таблице будет ходить по записям дочерней. Поэтому переклчаться на дочернюю для просмотра действия SET SKIP есть бессмысленное действие.

Что-то в хэлпе про SET SKIP я ничего не вижу про "эффекту - "размножает"" и т.п., хотя в browse этот "эффект" очевиден За то, вроде четко там говорится:

"Команда SET SKIP устанавливает множественное отношение между рассматриваемыми таблицами. Пока указатель записи в родительской таблице остается на месте, указатель записей в дочерней таблице перемещается только в соответствующем диапазоне, ограничен в перемещении."

В родительской он у меня стоит на месте. В дочерней же получается, летает как хочет.

Хорошо. Так как программно можно было бы "прочитать" (пронавигировать) в произвольный момент времени "текущий объем" дочерней области, исходя из предположения что мы можем "стоять" не на первой записи этого объема?
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Предполагая наличие связи от Master к Detail и SET SKIP TO Detail
SELECT Master
lnID = Master.ID
GO RECNO()
SCAN WHILE Master.ID = m.lnID
? Detail.Field1, ...
ENDSCAN
Можно и не по ID, а по тому-же RECNO("Master") SCAN делать...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
Igor Korolyov
Предполагая наличие связи от Master к Detail и SET SKIP TO Detail
SELECT Master
lnID = Master.ID
GO RECNO()
SCAN WHILE Master.ID = m.lnID
? Detail.Field1, ...
ENDSCAN
Можно и не по ID, а по тому-же RECNO("Master") SCAN делать...

Мудрёно Чтож, спасибо, вроде теперь уже полностью прояснили ситуацию. От Дельфи (то, что мы говорили с h.i.a.) подход все-таки отличается и использовать напрямую достаточно затруднительно... но посмотрим..
Ratings: 0 negative/0 positive
ANN: FastReport for FoxPro (beta candidate 1)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
Здравствуйте,

Позвольте представить вам первую beta candidate продукта FastReport for FoxPro. Скачивать можно здесь:

www.paritetsoft.ru

Кроме самого FrFox в zip включена "болванка" для будущего демо-приложения, в "болванке" десяток отчетов уже функционируют.

Напомню, что FastReport - это один из самых популярных и качественных генераторов отчетов для Win32, c очень широкими возможностями. Реализация FrFox является полностью нативной (на FoxAPI) и может рассматриваться как полное замещение стандартных средств Фокса для генерации отчетов.

Напомню также, что добровольные помощники, участвующие в тестировании, написании демо-приложения и т.д. получат лицензию на FrFox бесплатно. Жду откликов

В течении 2-3 дней я буду "накидывать" топики в эту тему, описывающие принципы работы с FrFox.

P.S. Извиняюсь за некоторую задержку (по собственным планам). У меня, вообще, сложилось впечатление, что бытие противилось появлению FrFox (как у Стругацких в "Миллиаде лет..") Но, кажется, в последние недели я смог это бытие преодолеть

---
Spirin Sergey.
"Paritet Soft" Company.
FRH sales: www.paritetsoft.ru
FRAX sales: www.paritetsoft.ru
Ratings: 0 negative/0 positive
Re: ANN: FastReport for FoxPro (beta candidate 1)
Pliskin

Сообщений: 2959
Откуда: Новосибирск
Дата регистрации: 19.11.2003
Запустил, вроде все работает!
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
HouseManedger

Сообщений: 53
Дата регистрации: 25.06.2009
При запуске ADO and Carts - ошибка



Исправлено 1 раз(а). Последнее : HouseManedger, 01.12.10 16:12
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
HouseManedger
При запуске ADO and Carts - ошибка

По ошибкам похоже на сбой инициализации ADO...

А какая Винда, какой фокс? Вы exe-шник просто запустили или пересобрали?

В винде MS Jet 4.0 провайдер случайно не снесен?
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
HouseManedger

Сообщений: 53
Дата регистрации: 25.06.2009
VFP 09.7243
XP SP2
MS Jet 4.0 стоит
Просто запустил exe-шник
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
HouseManedger
VFP 09.7243
XP SP2
MS Jet 4.0 стоит
Просто запустил exe-шник

Вообще странно, так как это единственный независимый почти от Фокса отчет. Он у меня во всех демках и проблем с ним не было.

Попробуйте все-таки пересобрать exe, или просто запустить проект из среды. Exe у меня собран с версией 09.00.0000.2412...
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
Евгений Банщиков

Сообщений: 218
Откуда: Kurgan
Дата регистрации: 09.04.2004
Все в принципе работает , но отчет "ADO and Charts" при запуске выдает ошибку о неверном пути к demo.mdb , решение : в шаблоне отчета ADODatabase1.connected установить в false.

По поводу того , почему не видны define :
команды define видны только в пределах prg фаилов или методов форм , в которых они определены.
Если есть необходимость использования в разных prg файлах или формах , лучше выделить все определения в один файл.
Например fastrepf.h , а в программах подключать его командой
#Include fastrepf.h
Для визуальных форм и классов : Меню Form (Class)->Include File...

Я мог бы потестировать на своих отчетах , но нужен конвертер отчетов с 2 версии на 3 (если таковой существует), а то лень все по новой руками рисовать. И желательно иметь какой нибуь мануал по методам и функциям .
Ratings: 0 negative/0 positive
Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата регистрации: 20.07.2010
HouseManedger
VFP 09.7243
XP SP2
MS Jet 4.0 стоит
Просто запустил exe-шник

Обошел несколько компов, вашу ошибку воспроизвести не могу...

Правда нашел помарку в этом отчете с путями. AdoDatabase1.Connected был сохранен как True, поэтому соединение устанавливалось немедленно по загрузке отчета по путям на моей рабочей машине. Но ошибка корректная. Поправил отчет. Приложил. Попробуйте на вашей "проблемной" машине
Ratings: 0 negative/0 positive


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

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

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