for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  

Список Форумов  :: Обсуждаем проекты
   :: Помощь сайту :: 

Re: FastReport for FoxPro (тестирование и реализация)
piva
[Болтун]

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

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


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

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

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

Ok.
Ratings: 0 negative/0 positive

Re: FastReport for FoxPro (тестирование и реализация)
piva
[Болтун]

Сообщений: 18532
Откуда: Курган
Дата: 16.10.10 23:08:35ОтветитьЦитировать
Пока предупреждение к вам не относится, но вы отклонились от темы обсуждения тестирования.


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата: 21.10.10 09:20:03ОтветитьЦитировать
Здравствуйте,

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

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
Откуда: Москва
Дата: 21.10.10 10:26:24ОтветитьЦитировать
Pliskin
Помощь в написании каких-либо модулей не нужна?

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

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

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

Жду ваших мнений и т.д. Спасибо.
Ratings: 0 negative/0 positive

Re: FastReport for FoxPro (тестирование и реализация)
Евгений Банщиков

Сообщений: 211
Откуда: Kurgan
Дата: 21.10.10 13:38:34ОтветитьЦитировать
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
Откуда: Москва
Дата: 21.10.10 14:41:31ОтветитьЦитировать
Евгений Банщиков
  
     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
Откуда: Москва
Дата: 08.11.10 10:15:55ОтветитьЦитировать
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

Сообщений: 32000
Дата: 08.11.10 13:55:07ОтветитьЦитировать
SET SKIP работает ровно так как описано в хелпе. По видимому эффекту - "размножает" записи мастер-таблицы. Реально - при хождении по мастер-таблице будет ходить по записям дочерней. Поэтому переклчаться на дочернюю для просмотра действия SET SKIP есть бессмысленное действие.


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

Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

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

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

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

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

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

Re: FastReport for FoxPro (тестирование и реализация)
Igor Korolyov

Сообщений: 32000
Дата: 08.11.10 17:37:49ОтветитьЦитировать
Предполагая наличие связи от 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
Откуда: Москва
Дата: 08.11.10 18:36:03ОтветитьЦитировать
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
Откуда: Москва
Дата: 01.12.10 11:02:22ОтветитьЦитировать
Здравствуйте,

Позвольте представить вам первую 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

Сообщений: 2735
Откуда: Новосибирск
Дата: 01.12.10 13:19:13ОтветитьЦитировать
Запустил, вроде все работает!
Ratings: 0 negative/0 positive

Re: FastReport for FoxPro (тестирование и реализация)
HouseManedger

Сообщений: 53
Дата: 01.12.10 15:10:50ОтветитьЦитировать
При запуске ADO and Carts - ошибка



Исправлено: HouseManedger, 01.12.10 15:12
Ratings: 0 negative/0 positive


Вложения:
[ADO.JPG (11.4KB)]   [ADO2.JPG (17.1KB)]  

Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата: 01.12.10 16:13:01ОтветитьЦитировать
HouseManedger
При запуске ADO and Carts - ошибка

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

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

В винде MS Jet 4.0 провайдер случайно не снесен?
Ratings: 0 negative/0 positive

Re: FastReport for FoxPro (тестирование и реализация)
HouseManedger

Сообщений: 53
Дата: 01.12.10 16:34:04ОтветитьЦитировать
VFP 09.7243
XP SP2
MS Jet 4.0 стоит
Просто запустил exe-шник
Ratings: 0 negative/0 positive

Re: FastReport for FoxPro (тестирование и реализация)
SergeySpirin
Автор

Сообщений: 203
Откуда: Москва
Дата: 01.12.10 16:43:46ОтветитьЦитировать
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 (тестирование и реализация)
Евгений Банщиков

Сообщений: 211
Откуда: Kurgan
Дата: 01.12.10 17:44:09ОтветитьЦитировать
Все в принципе работает , но отчет "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
Откуда: Москва
Дата: 01.12.10 17:47:39ОтветитьЦитировать
HouseManedger
VFP 09.7243
XP SP2
MS Jet 4.0 стоит
Просто запустил exe-шник

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

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


Вложения:
[24.zip (4.4KB)]  



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

On-line: 49 Alsim of63 Simple777 po2  and Guests: 45


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