On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник


Пост N: 129
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 10.03.08 23:53. Заголовок: ANN: Вышел релиз FastReport for [x]Harbour (продолжение)


Здравствуйте.

Рад сообщить, что вышел релиз FastReport for [x]Harbour. Как всегда, информацию можно посмотреть:

http://www.paritetsoft.ru/frh.htm

Возможным русскоязычных покупателей лучше контактировать со мной напрямую по email. Цена для оплаты в рублях банковским переводом по выставленному счету- 9999 рублей.

--
Спирин Сергей.
Компания "Паритет Софт".
FRH sales: http://www.paritetsoft.ru/frh.htm
FRAX sales: http://www.hotsoft.ru/ALASKA/frax_eng.htm



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 268 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All [только новые]


постоянный участник


Пост N: 334
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.03.10 15:03. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
если вы хотите работать только по алиасу, то всегда обнуляйте WorkArea, ставьте 0


Да. Так все нормально. Большое спасибо.


 цитата:
При отдавании приоритета алиасу надо не забыть обнулить WorkArea.


Теперь буду помнить...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1163
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.03.10 01:32. Заголовок: Сделал я "мастер..


Сделал я "мастер-детальную связь" !
Работает нормально ! Можно посмотреть "пример 1".

Начал дальше развивать эту тему, но столкнулся с проблемой: Пример 2 - не работает "мастер-детальная связь"
Делаю также как и в Примере 1, а он все равно не работает....

По NN=2048 (это первый адрес - красный цветом, База Мастер) выскакивают все записи базы-деталь (синяя NN - первая строчка) !
Итак по всей Мастер-базе...


Разъясните мне пожалуйста в чем тут дело ?
Ссылка для скачки демо-примера: http://files.mail.ru/G9W6H8




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 325
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 25.03.10 13:53. Заголовок: Andrey пишет: По NN..


Andrey пишет:

 цитата:
По NN=2048 (это первый адрес - красный цветом, База Мастер) выскакивают все записи базы-деталь (синяя NN - первая строчка) !
Итак по всей Мастер-базе...



Компилить ваш пример я не буду. Поэтому пойдем последовательно. Во-первых, для начала, уберем все лишнее.

// Установить СВЯЗЬ БД-Мастер с БД-Деталь по полю
SELECT BASE_TITLE
SET RELATION TO NN INTO BASE_ROOMS

Это что? Зачем? Думаю, что RELATION вполне может конфликтовать с Мастер-Детэйл. Убрать! Далее:

M->FrPrn:SetMasterDetail( aMasterDetail[nI,1], aMasterDetail[nI,2], aMasterDetail[nI,3] )
//? nI, aMasterDetail[nI,1], aMasterDetail[nI,2], Valtype(aMasterDetail[nI,3]),
M->FrPrn:SetResyncPair( aMasterDetail[nI,1], aMasterDetail[nI,2] )

Это что за SetResyncPair()? Ну я же в прошлых постах говорил, что SetResyncPair НЕ НУЖЕН при MasterDetail.

Убираем, смотрим.

-----

Ну и главное, поймите, что такое MasterDetail, не вообще, а как реализовано. MasterDetail - это отношение, при котором любое изменение текущей записи Master-таблицы приводит к вызову такого кода для Detail-таблицы:

DbSetScope(soScope_Both, Результат переданного блока кода)

То есть, идет вызов чисто Харбурной функции.

Ваша задача понять, почему, собственно, Scope не устанавливается.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1167
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.03.10 01:07. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Это что за SetResyncPair()? Ну я же в прошлых постах говорил, что SetResyncPair НЕ НУЖЕН при MasterDetail.


Это случайно осталось.... Убрал раньше.

Учел ваши замечания ! Все равно не работает !

Sergey Spirin пишет:

 цитата:
Ваша задача понять, почему, собственно, Scope не устанавливается.



Я так и не понял, почему этот Scope не устанавливается ....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 326
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 26.03.10 09:30. Заголовок: Andrey пишет:  цита..


Andrey пишет:

 цитата:
 цитата:
Это что за SetResyncPair()? Ну я же в прошлых постах говорил, что SetResyncPair НЕ НУЖЕН при MasterDetail.


Это случайно осталось.... Убрал раньше.



А relation убрали?

Andrey пишет:

 цитата:
Учел ваши замечания ! Все равно не работает !
Что-то хХарбор "барохлит" ...

Как мне подсказал знакомый Дельфист:
У тебя, всё-таки, внутри харбора не установлена мастер-детальная связь
я добавил событие отсеивающее ненужные записи:

procedure DetailData1OnBeforePrint(Sender: TfrxComponent);



Не надо ничего выдумывать со знакомым дельфистом!!!

Master-Detail для фаста устанавливается методом :SetMasterDetail(). Все, точка. Если не работает, то надо разбираться почему, а не выдумывать.

Придуманная же фильтрация может быть накладна на больших объемах.

Andrey пишет:

 цитата:
Я так и не понял, почему этот Scope не устанавливается ....



Так, добавьте в пример bat-ник, чтобы я мог его компилировать и я разберусь, в чем там у вас дело. Жду.








Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1169
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.03.10 11:37. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
А relation убрали?



Убрал конечно ! Все ваши рекомендации выполнил. Не работает.

Sergey Spirin пишет:

 цитата:
Так, добавьте в пример bat-ник, чтобы я мог его компилировать и я разберусь, в чем там у вас дело. Жду.



Bat-ник уже есть в проекте. Запуск
С:\xHarbour\bin\hbmake Frx-Dbase.bc , т.е. Харборовская утилита hbmake.exe сама проверяет и компилирует этот проект.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 328
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 26.03.10 18:34. Заголовок: Andrey пишет: Bat-н..


Andrey пишет:

 цитата:
Bat-ник уже есть в проекте. Запуск
С:\xHarbour\bin\hbmake Frx-Dbase.bc ,



Угу. Кроме того что path надо прописывать, еще терминалы какие-то Я в этих терминалах как ...

C:\Borland\BCC55\BIN\ilink32 @makefile.lnk
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Fatal: Unable to open file 'WVTGUI.LIB'





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1171
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.03.10 22:28. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Угу. Кроме того что path надо прописывать, еще терминалы какие-то



Извиняюсь, не учел этого. Это по терминологии Аляски - гибридный терминал. Собирается дополнительно из CONTRIB'ов...
Удалил и переделал на стандартный...

Ссылка для скачивания:
http://files.mail.ru/N4KZC3


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 329
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 27.03.10 10:16. Заголовок: Гм... Пересобрал, ни..


Гм... Пересобрал, ничего не менял, все работает без единого изменения


Что делать будем?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 330
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 27.03.10 10:59. Заголовок: Ан нет, это у вас фи..


Ан нет, это у вас фильтр не удален в отчете..... Счас буду смотреть.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 331
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 27.03.10 11:27. Заголовок: Фу, Андрей, ну надо ..


Фу, Андрей, ну надо же быть внимательным, елы-палы!!!!!!

USE HOUSES\Rooms ALIAS BASE_ROOMS NEW
AADD( aAlias , ALIAS() ) ; AADD( aSelect , SELECT() ) // Добавить в массив для иниц. в FastReport

И

// Мастер-детальная связь для FastReport
AADD( aMasterDetail, { "BASE_TITLE", "BASE_ROOM", {||BASE_TITLE->NN} } )

Сиди тут, опечатки ищи под дебаггером

Ясно, что фаст просто не нашел детальную таблицу, надо:

AADD( aMasterDetail, { "BASE_TITLE", "BASE_ROOMS", {||BASE_TITLE->NN} } )


Давайте, внимательней! А то, из-за банальных опечаток рождаются фантазии с другом дельфистом





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 332
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 27.03.10 14:15. Заголовок: Кстати, если бы вы з..


Кстати, если бы вы заглянули в FastRepH.prg, то увидели бы, что метод :SetMasterDetail() возвращает True-False успешности действия. В вашем случае он честно возвращал False "в никуда" Поэтому может имеет смысл вам написать так:

IF M->FrPrn:SetMasterDetail( aMasterDetail[nI,1], aMasterDetail[nI,2], aMasterDetail[nI,3] ) == .f. 
Alert("Проверь правильность написания мастера и детали, то что они не равны друг другу, и то что они были уже добавлены методом SetWorkArea")
ENDIF




Ну, а другу дельфисту поясните, что между, собственно, Фастом и Харбур-приложением написано достаточно много моего кода. Иначе бы они друг друга никак не поняли бы. В этот код входит и дельфийский харбур-датасет, эти датасеты фаст и принимает, и ему абсолютно все равно откуда эти датасеты "притащили" данные, из Харбур-приложения ли, или с сервера Oracle, например. Это несколько отличается от клипперного RDD-понимания, но суть та же, только универсальней и шире. В сторону Харбор-приложения датасет работает только харборными методами и реализует все необходимое для работы с данными, в том числе стандартную для Дельфи связь Master-Detail.











Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1172
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.03.10 17:15. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Фу, Андрей, ну надо же быть внимательным, елы-палы!!!!!!


Каюсь... Ну что поделаешь, такие вещи встречается иногда...
Причем как не заработал код в моей большой системе, так этот код перетащил в отдельный пример.
Так эту же ошибку перетащил тоже...
В следующий раз буду внимательней !

Sergey Spirin пишет:

 цитата:
SetMasterDetail() возвращает True-False успешности действия.


А за это спасибо тоже, учту и применю у себя.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1173
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.10 13:15. Заголовок: Спасибо большое ! С ..


Спасибо большое ! С меня коньяк ! Где пересечемся ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 58
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 28.03.10 15:36. Заголовок: Наконец-то, после се..


Наконец-то, после серьёзного разговора с шефом, дошли-таки до необходимости покупки FastReport. Пока гоняю тестовую версию. На MINIGUI Extended она залинковалась, а вот на OOHG почему-то ведёт себя очень странно:
 
fastreph.prg: In function HB_FUN_CALL_FUNC_CICCCCCCCC_I
fastreph.prg:173: warning: passing arg1 of pointer to fucntion discards qualifiers from pointer target type

Подскажите, пожалуйста, в чём может быть проблема?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 333
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 29.03.10 11:53. Заголовок: Andrey пишет: Спаси..


Andrey пишет:

 цитата:
Спасибо большое ! С меня коньяк ! Где пересечемся ?



Ну, может, когда и пересечемся. Я в Москве живу

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 334
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 29.03.10 12:09. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
fastreph.prg: In function HB_FUN_CALL_FUNC_CICCCCCCCC_I
fastreph.prg:173: warning: passing arg1 of pointer to fucntion discards qualifiers from pointer target type


Подскажите, пожалуйста, в чём может быть проблема?



Разные компиляторы, наверное. Только Варнинги? Ошибок нет? Собирается, работает?











Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1176
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.03.10 13:48. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Я в Москве живу


Да я тоже рядом, в ближнем Подмосковье ! В спальном районе Москвы.
Несколько раз за месяц езжу в Москву. Так что можно пересечься ....


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 59
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 30.03.10 08:45. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Разные компиляторы, наверное. Только Варнинги? Ошибок нет? Собирается, работает?


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

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 335
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 30.03.10 12:16. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Собираться-то оно собирается, даже дизайнер вылазит. Но почему-то ни одной строчки в отчётах.



Ok. Так, какой там Харбур/хХарбур используется, какой С компилятор? Ну, и где эту штуку можно скачать, дайте ссылку.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 60
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 30.03.10 18:04. Заголовок: Качать отсюда FastRe..


Качать отсюда FastReport for Harbour

Используется последняя версия OOHG, самый последний Харбор и компилятор MinGW 5.1.06

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 336
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 30.03.10 18:31. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Качать отсюда FastReport for Harbour



Э... Ну фаст то у меня есть

Dr. Oldwarez пишет:

 цитата:
Используется последняя версия OOHG, самый последний Харбор и компилятор MinGW 5.1.06



Меня интересует откуда это качать - OOHG с MinGW 5.1.06

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 856
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 30.03.10 19:37. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Используется последняя версия OOHG, самый последний Харбор и компилятор MinGW 5.1.06


Очень условное понятие "последняя версия". Самый последний Харбор - ото официальный релиз или код с SVN?
Компилятор MinGW 5.1.06 - такого еще нет. 5.1.16 - это не версия компилятора. Скорее всего у вас установлен gcc версии 3.4.5
Для определения версии пользуйтесь
harbour -build
gcc -v




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1181
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.03.10 22:31. Заголовок: Приветствую ! Это оп..


Приветствую ! Это опять я с предыдущим отчетом....
Как можно сделать, чтоб АДРЕС и СПИСОК КВАРТИР не разрывались ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 337
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 31.03.10 08:49. Заголовок: Andrey пишет: Как м..


Andrey пишет:

 цитата:
Как можно сделать, чтоб АДРЕС и СПИСОК КВАРТИР не разрывались ?



У бэндов мастера и детали поставьте свойство KeepTogerther в True. KeepTogerther - по русски это "держаться вместе".

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 61
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 31.03.10 11:07. Заголовок: Итак: Harbour 2.1.0 ..


Итак: Harbour 2.1.0 build 14130 gcc 3.4.5

Попробовал я перейти на ноутбук с Borland Console Compiler и xHarbour. И, о, чудо! Это заработало!!!

Так, что виноват, судя по всему MINGW. А компьютер придётся пока сменить, потому что на нём Borland выдаёт какие-то криптические LME279 LME347. На ноутбуке же тот же Builder работает и не глючит!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 339
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 31.03.10 11:32. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Итак: Harbour 2.1.0 build 14130 gcc 3.4.5



Скачал с "sourceforge.net/projects/oohg", развернул у меня дает:

Harbour Build Info
---------------------------
Version: Harbour 2.0.0beta3 (Rev. 12452)
Compiler: MinGW GNU C 3.4.5 (32-bit)

Ладно, думаю, дело в gcc, поэтому не так принципиально.

А что, вообще, это за компилятор gcc?





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 340
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 31.03.10 12:34. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Собираться-то оно собирается, даже дизайнер вылазит. Но почему-то ни одной строчки в отчётах.



Ну не знаю, что у вас не получается. Варнингов конечно море, но у меня все работает. Например взял пример из \oohg\samples\browse_3\browse1.prg.

Добавил в OpenTables():

FrPrn := frReportManager():new()
FrPrn:SetWorkArea("Test", Select("Test"))
FrPrn:DesignReport()

Вот результат:

Так что конкретней говорите, что значит "почему-то ни одной строчки в отчётах"?

А насчет варнингов, давно собираюсь сесть и по возможности причесать код так, чтоб "нравился" всем компиляторам



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1385
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 31.03.10 13:12. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
А что, вообще, это за компилятор gcc?



Это, наверное, mingw. А насчет предупреждений - у этого компилятора более строгие правила по типизации данных, вот он и выдает варнинги, которые в bcc такими не рассматриваются. Но предупреждение - не ошибка, должно работать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 341
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 31.03.10 13:25. Заголовок: Pasha пишет: А насч..


Pasha пишет:

 цитата:
А насчет предупреждений - у этого компилятора более строгие правила по типизации данных, вот он и выдает варнинги, которые в bcc такими не рассматриваются. Но предупреждение - не ошибка, должно работать.



Не... "Виноват" оказался не gcc, а харбур, точнее харбур2. Дело в том, что в двойке возврат функции hb_parc поменялся с

char *

на

const char *

(вот куролесят как тут обойдешься без варнингов на всех версиях всего). Поэтому придется явно приводить.

Замените по всему текcту FastRepH.prg все вхождения

hb_parc

на

(char *)hb_parc

После такой замены нет ни одного варнинга В общей сборке я на выходных поменяю.














Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 342
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 31.03.10 15:17. Заголовок: PSP пишет: Warning ..


PSP пишет:

 цитата:
Warning W8075 FastRepH.prg 80: Suspicious pointer conversion in function HB_FUN_CALL_PROC_C
Warning W8075 FastRepH.prg 86: Suspicious pointer conversion in function HB_FUN_CALL_PROC_IC
Warning W8075 FastRepH.prg 92: Suspicious pointer conversion in function HB_FUN_CALL_PROC_CC
Warning W8075 FastRepH.prg 92: Suspicious pointer conversion in function HB_FUN_CALL_PROC_CC
Warning W8075 FastRepH.prg 98: Suspicious pointer conversion in function HB_FUN_CALL_PROC_CCC
Warning W8075 FastRepH.prg 98: Suspicious pointer conversion in function HB_FUN_CALL_PROC_CCC
Warning W8075 FastRepH.prg 98: Suspicious pointer conversion in function HB_FUN_CALL_PROC_CCC
Warning W8075 FastRepH.prg 124: Suspicious pointer conversion in function HB_FUN_CALL_FUNC_C_I
Warning W8075 FastRepH.prg 136: Suspicious pointer conversion in function HB_FUN_CALL_FUNC_IC_I
Warning W8075 FastRepH.prg 142: Suspicious pointer conversion in function HB_FUN_CALL_FUNC_CC_I
Warning W8075 FastRepH.prg 142: Suspicious pointer conversion in function HB_FUN_CALL_FUNC_CC_I
Warning W8075 FastRepH.prg 148: Suspicious pointer conversion in function HB_FUN_CALL_FUNC_CCC_I



Кстати, и "Ваша" проблема похоже растет оттуда же. Сделайте такую замену, которую я описал выше и попробуйте.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 355
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.03.10 15:32. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Сделайте такую замену, которую я описал выше и попробуйте.


Я один раз компилю в obj и потом просто его линкую. Меня варнинги сейчас не беспокоят. Подожду изменений в общей сборке. Спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 62
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 31.03.10 16:45. Заголовок: Я попробовал заменит..


Я попробовал заменить, но у меня саму среду, судя по всему, переставлять надо. Я над ней слишком уж много экспериментов делал. Жду свежей сборки. ИМХО, версия на BCC xHarbour работает быстрее, чем на MinGW Harbour. Извините за холивор, если что.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1182
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.03.10 22:22. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
У бэндов мастера и детали поставьте свойство KeepTogerther в True. KeepTogerther - по русски это "держаться вместе".


Спасибо БОЛЬШОЕ !!!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 345
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 04.04.10 14:39. Заголовок: Пересобрал FRH с вер..


Пересобрал FRH с версией 4.9.48.

У меня просьба, если у кого-то будут варнинги или хинты на каких-то комбинациях компиляторов, то сообщайте, плиз, сюда об этом.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1208
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.04.10 02:57. Заголовок: Протестировал на хХа..


Протестировал на хХарборе 1.0.0 и Harbour 2.0.0 и MiniGui 1.7 , все под BCC . Нормально, нет варнингов.

А нельзя название "FrSystH.dll" в файле FastRepH.prg перенести наверх и сделать типа:
#define FR_NAMEFILEDLL "FrSystH.dll"

А то я библиотеку называю другим именем и каждый раз менять приходиться ?
Забываешь, приходишь к заказчику и облом... Формы не печатаются....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 377
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 07.04.10 08:24. Заголовок: Все чисто (Harbour 2..


Все чисто (Harbour 2 и BCC). Спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 346
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 07.04.10 08:45. Заголовок: Andrey пишет: Проте..


Andrey пишет:

 цитата:
Протестировал на хХарборе 1.0.0 и Harbour 2.0.0 и MiniGui 1.7 , все под BCC . Нормально, нет варнингов.



Ok. Спасибо. Но появятся новые версии Харбуров и варнинги опять полезут Не забудьте тогда сообщить

Andrey пишет:

 цитата:
А нельзя название "FrSystH.dll" в файле FastRepH.prg перенести наверх и сделать типа:
#define FR_NAMEFILEDLL "FrSystH.dll"

А то я библиотеку называю другим именем и каждый раз менять приходиться ?
Забываешь, приходишь к заказчику и облом... Формы не печатаются....



Андрей, вы в "своем репертуаре". Значит правите FastRepH.prg, исправляете "FrSystH.dll" на свое? Ну а что там в этом месте написано то?

METHOD Init( cOptionalPath ) class frReportManager   
LOCAL oError

IF ::frSystHandle == 0
cOptionalPath := IF(cOptionalPath <> NIL, cOptionalPath, "FrSystH.dll")
::frSystHandle := FrLoad(cOptionalPath)


То есть, "FrSystH.dll" подставляется только тогда, когда :Init() вызывается без параметра! У себя в коде вызывайте не:

FrPrn := frReportManager():new()

a:

FrPrn := frReportManager():new(MY_DLL_NAME)

Вот и все И не надо сторонние prg править, это плохая практика.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1209
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.04.10 22:59. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
И не надо сторонние prg править, это плохая практика.


Вот спасибо, а то я пробовал делать что-то подобное, но у меня не получилось.
Спасибо большое...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1215
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.04.10 11:54. Заголовок: Периодически сталкив..


Периодически сталкиваюсь с такой проблемой:


Нельзя ли обойтись без "QUIT", а то пользователь вылетает из программы, а я репу чешу, что-там случилось..... ?
Они (пользователи) смекалистые... И на них управу не найти....
Конечно, можно проверять - есть ли файл на диске, а он может быть в другой папке и т.д.

И еще бы проверку версий сделать !!! Т.е. чтоб можно было бы получить НОМЕР ВЕРСИИ сборки FrSystH.dll !!! Очень нужно !!!


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 347
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 08.04.10 15:35. Заголовок: Andrey пишет: Нельз..


Andrey пишет:

 цитата:
Нельзя ли обойтись без "QUIT", а то пользователь вылетает из программы, а я репу чешу, что-там случилось..... ?
Они (пользователи) смекалистые... И на них управу не найти....
Конечно, можно проверять - есть ли файл на диске, а он может быть в другой папке и т.д.



Ну не знаю, все-таки это ошибка - целой либы нет на месте, сперли Как-то одним алертом здесь обходится ... не кудряво. Поэтому ошибку и генерю. Если у вас такие проблемы, то вам лучше просто самому ошибку обрабатывать. И все.

Andrey пишет:

 цитата:
И еще бы проверку версий сделать !!! Т.е. чтоб можно было бы получить НОМЕР ВЕРСИИ сборки FrSystH.dll !!! Очень нужно !!!



Ну, это пожалйста:

FrPrn:GetProperty("Report", "Version")

Интересно, а зачем нужно?





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1217
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.04.10 17:12. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Интересно, а зачем нужно?



Обновлять библиотеку нужно под новые формы. А так забудешься и облом....
Сделаю проверку у себя в программе и при старте буду проверять версию DLL-ки.
А уж пользователь сам мне потом будет сообщать что у него старая DLL-ка....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 348
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 08.04.10 17:35. Заголовок: Andrey пишет: Обнов..


Andrey пишет:

 цитата:
Обновлять библиотеку нужно под новые формы. А так забудешься и облом....
Сделаю проверку у себя в программе и при старте буду проверять версию DLL-ки.



В смысле? Вы, что, думаете, что отчет сделанный, например, в дизайнере 4.9.x, не будет работать под 4.7? Почему вы так решили? Вообше-то, версия на то и версия, что в течении ее формат стабилен. Актуально это будет с выходом 5-ки, который ожидается осенью.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1218
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.04.10 23:21. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Вы, что, думаете, что отчет сделанный, например, в дизайнере 4.9.x, не будет работать под 4.7?



Не будет ! У меня версия 4.5 раньше стояла и сейчас стоит у многих ! А в 4.7 появились новые функции, а 4.8 еще и это: FrPrn:SetTxtDataSet("MyText", "C:\MyText.txt") и т.д.

А как балбесу пользователю объяснить, что нужно обновить версию DLL ?
Не буду же я записывать размер файла, дату создания DLL куда-нибудь в массив и при открытии каждый раз сравнивать существующий файл с массивом даты..... и т.д.
А так запросил НОМЕР ВЕРСИИ DLL и выдал сообщение, если нужно обновить ! И все....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 349
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 09.04.10 08:35. Заголовок: Andrey пишет: Не бу..


Andrey пишет:

 цитата:
Не будет ! У меня версия 4.5 раньше стояла и сейчас стоит у многих ! А в 4.7 появились новые функции, а 4.8 еще и это: FrPrn:SetTxtDataSet("MyText", "C:\MyText.txt") и т.д.



А, ну да, про собственный добавляемый функционал я подзабыл А как так получается, что пользователь может обновить отчеты, не обновив при этом либу? Он, что, руками отдельные файлы обновляет?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1219
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.04.10 17:38. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
А как так получается, что пользователь может обновить отчеты, не обновив при этом либу?


Да кто ж его знает.... У меня были умельцы, как они это делают ? И вдобавок ко всему мужики, настройщики компьютеров....
Ставят последнее обновление, а потом откуда-то вытаскивают старые обновления... Вот так-то !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 363
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 02.05.10 19:50. Заголовок: Привет! Почему-то у..


Привет!

Почему-то у буржуйских пользователей FRH, один из "самых спрашиваемых вопросов" это - как печатать этикетки... В конце концов сделал пример, если у кого-то есть подобные вопросы, то можете скачать посмотреть. Качать с главной FRH-страницы:

http://www.paritetsoft.ru/frh.htm

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 65
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 10.05.10 23:08. Заголовок: Одна ошибочка


Вот скачал и установил демоверсию.

У меня дома на стационарном компьютере и на ноутбуке (Dell D400) всё нормально работает. А у шефа почему-то на некоторых компьютерах начинает выдавать вот такую ошибку:


 цитата:
Error FRH/2012 Can not load FRH library FrSystH.dll
Called from FRREPORTMANAGER:INIT(478)
Called from FRREPORTMANAGER:NEW(0)
Called from MAIN(15)



Самое интересное, что эта ошибка выдаётся только в сетевом режиме и только при загрузке в первый раз за сессию работы на компьютере. Если потом, на этом же компьютере запустить эту же программу - ОНА ЗАРАБОТАЕТ!

Сеть у меня на работе, правда, ещё та - Нетварь 4. Поначалу я на неё грешил. Но, сегодня я на свой ноутбук поставил клиент Нетвари и подключил его к серверу шефа. Представьте себе - заработало. Операционные системы у меня и у шефа одинаковые - Windows XP SP3, так что тут тоже не придерёшься. На другом компьютере у шефа моя программа почему-то "тянет" при загрузке, хотя его компьютер более быстродействующий, чем мой ноутбук.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 365
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 11.05.10 10:57. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
У меня дома на стационарном компьютере и на ноутбуке (Dell D400) всё нормально работает. А у шефа почему-то на некоторых компьютерах начинает выдавать вот такую ошибку:

цитата:
Error FRH/2012 Can not load FRH library FrSystH.dll
Called from FRREPORTMANAGER:INIT(478)
Called from FRREPORTMANAGER:NEW(0)
Called from MAIN(15)



Просто копируйте аккуратно файлы НЕ ЗАБЫВАЯ файл FrSystH.dll. FrSystH.dll - это основной и единственный файл FRH. Он должен находится в той же папке, что и ваш EXE-файл. Приведенная вами ошибка возможно только тогда, когда FrSystH.dll нет на месте, либо файл "битый". Сеть здесь, вообще, никаким боком не причастна... Ну если только пофантазировать, что Винда, не найдя FrSystH.dll, пошла искать его в сеть, и таки нашла где-то, что объясняет долгую загрузку... Но это так, догадки. Нормально копируйте FrSystH.dll и проблем у вас не будет. При загрузке dll она ищется в следующем порядке:

1. The directory from which the application loaded.
2. The current directory.
3. Windows 95: The Windows system directory. Use the GetSystemDirectory function to get the path of this directory.

Windows NT: The 32-bit Windows system directory. Use the GetSystemDirectory function to get the path of this directory. The name of this directory is SYSTEM32.

4. Windows NT: The 16-bit Windows system directory. There is no Win32 function that obtains the path of this directory, but it is searched. The name of this directory is SYSTEM.
5. The Windows directory. Use the GetWindowsDirectory function to get the path of this directory.
6. The directories that are listed in the PATH environment variable.









Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 66
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 12.05.10 17:51. Заголовок: В том-то и дело, что..


В том-то и дело, что всё нормально копируется и при последующих запусках. А как сделать, чтобы программа запускала эту FrSystH.dll только из своей корневой директории? (п.2 поиска сделать п.1)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 368
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 12.05.10 18:21. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
В том-то и дело, что всё нормально копируется



Ошибка, которую вы привели, это ошибка загрузки dll на уровне Windows OS.

Dr. Oldwarez пишет:

 цитата:
А как сделать, чтобы программа запускала эту FrSystH.dll только из своей корневой директории? (п.2 поиска сделать п.1)



Пункт 1 это и есть директория, в которой расположен EXE-файл. Пункт 2 это текущая директория.

Dr. Oldwarez пишет:

 цитата:
А как сделать, чтобы программа запускала эту FrSystH.dll только из своей корневой директории?



Загружать с полным путем, тогда это будет единственный вариант, например:

FrPrn := frReportManager():new("С:\МуDir\FrSystH.dll")



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 67
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 12.05.10 18:52. Заголовок: Спасибо! А какая в ..


Спасибо!
А какая в Харборе функция определяет букву текущего диска. Потому, что у меня она может быть, как С: (локальный), так и Е: (сетевой)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 906
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 12.05.10 19:25. Заголовок: CurDrive() или hb_Cu..


CurDrive() или hb_CurDrive()/CurDrive(), в зависимости от того, что вы определяете словом Харбор.

Но этот вопрос никакого отношения к FastReport не имеет.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 68
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 13.05.10 14:31. Заголовок: Большое спасибо! Поп..


Большое спасибо! Попробовал

FrPrn := frReportManager():new(CURDRIVE()+":\"+CURDIR()+"\FrSystH.dll")

У меня пока идёт. Скоро опять к шефу. Надеюсь, что и у него всё работать будет.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1648
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.05.10 14:45. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
У меня пока идёт. Скоро опять к шефу. Надеюсь, что и у него всё работать будет.


Все будет нормально и у шефа

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1281
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.05.10 14:32. Заголовок: Можно ли узнать (вер..


Можно ли узнать (вернуть в Харбор) отправлен ли документ на печать или только его посмотрели и не печатали ?
Это нужно для того что бы вести журнал напечатанных документов !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 376
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 14.05.10 17:09. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно ли узнать (вернуть в Харбор) отправлен ли документ на печать или только его посмотрели и не печатали ?



Можно. Поставьте обработчик на событие OnAfterPrintReport. Смотрите метод :SetEventHandler().


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1297
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.05.10 12:37. Заголовок: Можно ли в Дизайнере..


Можно ли в Дизайнере посмотреть значение полей в БД ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 380
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 22.05.10 15:43. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно ли в Дизайнере посмотреть значение полей в БД ?



Гм... Бросить мастер-дату, на нее поля, и нажать F9... В чем вопрос?

P.S. C OnAfterPrintReport то получилось?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1300
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.05.10 18:37. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
C OnAfterPrintReport то получилось?



Нет не получается....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 381
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 22.05.10 19:09. Заголовок: Andrey пишет: Нет н..


Andrey пишет:

 цитата:
Нет не получается....



Что не получается? Что делаете?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 384
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 29.05.10 19:05. Заголовок: Собрал 4.9.79, добав..


Собрал 4.9.79, добавил часто спрашиваемую встроенную функцию:

function LoadImageFromHbRes(Picture: TfrxPictureView; HbResName: string; IsBitmap: Boolean): Variant;

Загружает картинку из ресурсов exe-шника. Если IsBitmap = True, то грузится RT_BITMAP иначе RT_RCDATA. Пример:

procedure ReportHOnStartReport(Sender: TfrxComponent);
begin
LoadImageFromHbRes(Picture1, 'MYJPEG', False);
end;

P.S. Хотел отвертеться от желающих советом использовать [x]Harbour-средства, а затем LoadImageFromHbVar, не прокатило


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1345
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.06.10 19:14. Заголовок: Вопрос удобства ! В..


Вопрос удобства !

Взял свою готовую форму (было 2 базы). Удалил ненужную БАЗУ, АЛИАС тоже удалил.
По всем полям прошелся, нет на экране ПОЛЕЙ удаленной базы.
Вызываю просмотр, высвечивается ошибка: Набор данных "ХХХХ" не найден !
Ну я его же удалил.

КАК ИСКАТЬ ЭТУ фигню УДАЛЕННУЮ на форме ???
Когда мало полей еще ничего, а если много то ....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 69
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 18.06.10 16:56. Заголовок: И ещё один вопросик...


И ещё один вопросик.
Как сделать так, чтобы в FastReport строка выпечатывалась только при определённых условиях, например, если заполнено одно из полей даты? Как сделать, чтобы Visible было не только TRUE и FALSE, но и условное, например !(EMPTY(DATAFIELD))

Подскажите пожалуйста.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 99
Зарегистрирован: 10.07.07
ссылка на сообщение  Отправлено: 19.06.10 12:01. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Как сделать так, чтобы в FastReport строка выпечатывалась только при определённых условиях, например, если заполнено одно из полей даты? Как сделать, чтобы Visible было не только TRUE и FALSE, но и условное, например !(EMPTY(DATAFIELD))



IMHO проще всего передать FRH уже проиндексированную БД по !(EMPTY(DATAFIELD))

Если хочется управлять параметром Visible в дизайнере, то надо создать событие OnBeforePrint для Masterdata, а затем в коде написать что-то типа

procedure MasterData1OnBeforePrint(Sender: TfrxComponent); 
begin

MasterData1.Visible := True;
if ( bla bla bla ) then
MasterData1.Visible := False;

end;


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1375
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.06.10 00:41. Заголовок: Наверно эта ветка за..


Наверно эта ветка закрыта до окончания отдыха ?
Приятного отдыха Sergey !!!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 385
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 01.07.10 10:14. Заголовок: Andrey пишет: Навер..


Andrey пишет:

 цитата:
Наверно эта ветка закрыта до окончания отдыха ?



Все. Вернулся я

Смотрю, вопросов особенно не накопилось

- Как найти поле, в котором ошибка? Ну, вообще, когда происходит ошибка, то указывается имя объекта, в котором она произошла. Ну а найти этот объект всегда можно в дереве объектов.

- Относительно фильтрации на стороне FRH, то TimTim все верно ответил, единственное, незачем Visible присваивать 2 раза Достаточно:

MasterData1.Visible := ( bla bla bla );

P.S. Dr. Oldwarez, у вас шефа случайно не Timm Sodtalbers зовут? (Компания Sodtalbers IT). Просто покупка FRH из Германии чрезвычайно редкий случай (в отличие от FRAX). А тут приезжаю - есть такая, сразу вас вспомнил






Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 386
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 01.07.10 15:11. Заголовок: И, кстати, говоря: ..


И, кстати, говоря:


Выпуск FastReport VCL 5 намечен на осень 2010. Вот далеко не полный перечень тех нововведений, которые будут в FastReport VCL 5:

Улучшенный движок:
- улучшенный механизм смещения;
- объединение дублирующихся значений;
- новые агрегатные функции;
- улучшенный CrossTab;
- изменения в XML формате(запись коллекций в виде XML);
- улучшенное наследование отчетов;
- печать иерархий;
- водяной знак/ заливка объектов градиентом;
- улучшенные линейные штрих коды;
- улучшенные интерактивные отчеты: OnMouseEnter/OnMouseLeave события;
- детализированные отчеты;
- многостраничный предпросмотр для детализированных отчетов;

Новые объекты:
- двухмерные штрих коды: DataMatrix и PDF417;
- Объект таблица;
- Cellular text;
- Zip Code;

Новые экспорты:
- BIFF XLS экспорт
- PPTX экспорт;
- XLSX экспорт;
- DOCX экспорт;

И пара скриншотиков (сравните с FastReport.Net):

http://www.fast-report.com/ru/products/fastreport-vcl-5-screenshots.html<\/u><\/a>


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1394
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.07.10 16:34. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
- Как найти поле, в котором ошибка? Ну, вообще, когда происходит ошибка, то указывается имя объекта, в котором она произошла. Ну а найти этот объект всегда можно в дереве объектов.



Нет нельзя !
Сделайте сам и поймете в чем дело !
Берем готовую форму, подключаем ДРУГУЮ базу, правим поля в форме на новую базу и ИМЕЕМ те ошибки о которых я писал.
И невозможно найти ПОЛЯ на какие выдаются ошибки... Т.е. переменная Memo20 выдается на ней ошибка, смотришь ее - НАПИСАНО ПРАВИЛЬНО !!! Лезешь в форму Far'ом и там в конце свойства прописаны другого поля из ДРУГОЙ базы, которую уже убрали !
Это я только потом допер что за фигня появляется !!!
Вопрос остается открытым: КАК НАЙТИ и УБРАТЬ ошибку: Набор данных "ХХХХ" не найден !


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 387
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 05.07.10 22:59. Заголовок: Andrey пишет: Вопро..


Andrey пишет:

 цитата:
Вопрос остается открытым: КАК НАЙТИ и УБРАТЬ ошибку: Набор данных "ХХХХ" не найден !



Достаточно просто Если в отчете сменился набор датасетов, то, очевидно, что упоминания об "утраченном" датасете в отчете остались, однако в глобальном списке его уже нет.

Чтобы обновить ссылки зайдите "Отчет"->"Данные" и просто нажмите "Ok" (даже,если не делаете там изменений). Ссылки обновятся, и ошибки "по Мемам" станут более осмысленными.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1395
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.07.10 23:05. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Чтобы обновить ссылки зайдите "Отчет"->"Данные" и просто нажмите "Ok" (даже,если не делаете там изменений). Ссылки обновятся, и ошибки "по Мемам" станут более осмысленными.



Спасибо !

Еще один вопрос по языкам !
Мне нужны формы на русском и украинском языках !
Если я переключаюсь на украинский язык, то все суммы остаются в русском языке (руб.коп).
А как можно сделать переключение на украинский, чтоб суммы были на украинском (гривны) ?

Самый простой выход держать 2 формы: на русском и украинском !
Но у меня порядка 50 форм, не хотелось бы раздувать кол-во файлов !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 388
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 06.07.10 10:08. Заголовок: Andrey пишет: Если ..


Andrey пишет:

 цитата:
Если я переключаюсь на украинский язык, то все суммы остаются в русском языке (руб.коп).
А как можно сделать переключение на украинский, чтоб суммы были на украинском (гривны) ?



Вообще говоря, все региональные настройки по умолчанию считываются из настроек Windows. Поэтому у вас рубль и остается так как все на русской Винде. Будет украинская - появится гривна.

Вообще, как в любом delphi приложении менять их можно, но их многовато, чтобы сделать отдельные методы для каждой настройки, вот некоторые например:

var
CurrencyString: string;
CurrencyFormat: Byte;
NegCurrFormat: Byte;
ThousandSeparator: Char;
DecimalSeparator: Char;
CurrencyDecimals: Byte;
DateSeparator: Char;
ShortDateFormat: string;
LongDateFormat: string;
TimeSeparator: Char;
TimeAMString: string;
TimePMString: string;
ShortTimeFormat: string;
LongTimeFormat: string;
ShortMonthNames: array[1..12] of string;
LongMonthNames: array[1..12] of string;
ShortDayNames: array[1..7] of string;
LongDayNames: array[1..7] of string;
SysLocale: TSysLocale;
TwoDigitYearCenturyWindow: Word = 50;
ListSeparator: Char;

Вообще же говоря, в вашем случае, по уму у вас в программе должен определяться тип валюты и он должен в отчетах использоваться - это наиболее грамотно.




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1397
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.07.10 22:38. Заголовок: Использую формат вы..


Использую формат вывод сумм %2.2m !
При переключении на украинский язык все равно печатает руб.

А если Windows будет украинская, то будет печатать гривны ! Понятно !
А как быть если установлена Windows русская, а нужно печатать гривны ?

Можно ли завести свой формат печати ?

Я конечно могу завести свою функцию в программе, и выводить через нее... Блин но столько переделывать форм...
Есть ли еще другие варианты ?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 389
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 07.07.10 13:06. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как быть если установлена Windows русская, а нужно печатать гривны ?

Можно ли завести свой формат печати ?



Ну, на данный момент надо пойти в "Пуск"->"Панель управления"-> "Язык и региональные стандарты" и поменять там валюту

Andrey пишет:

 цитата:
Я конечно могу завести свою функцию в программе, и выводить через нее... Блин но столько переделывать форм...
Есть ли еще другие варианты ?



Ну, можно в принципе добавить еще один метод в frReportManager. Ладно, добавлю на днях.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1398
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.07.10 15:21. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Ну, можно в принципе добавить еще один метод в frReportManager. Ладно, добавлю на днях.



Спасибо большое !!!
Жду !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 390
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 08.07.10 23:16. Заголовок: Добавлен метод :SetFormatSettings()


Добавил метод :SetFormatSettings(nSetting, xValue)

Андрей! Перекомпилил пока только вашу копию и жду тестирования для выкладывания в общую сборку! :)

Возможные значения для nSetting пока только такие и описаны в FastRepH.ch (ваш случай frxCurrencyString):

#define frxCurrencyString 1
#define frxCurrencyFormat 2
#define frxNegCurrFormat 3
#define frxThousandSeparator 4
#define frxDecimalSeparator 5
#define frxCurrencyDecimals 6
#define frxDateSeparator 7
#define frxShortDateFormat 8
#define frxLongDateFormat 9
#define frxTimeSeparator 10
#define frxTimeAMString 11
#define frxTimePMString 12
#define frxShortTimeFormat 13
#define frxLongTimeFormat 14
#define frxShortMonthNames 15
#define frxLongMonthNames 16
#define frxShortDayNames 17
#define frxLongDayNames 18
#define frxTwoDigitYearCenturyWindow 20
#define frxListSeparator 21

Описание всех вариантов:

{ Currency and date/time formatting options

The initial values of these variables are fetched from the system registry
using the GetLocaleInfo function in the Win32 API. The description of each
variable specifies the LOCALE_XXXX constant used to fetch the initial
value.

CurrencyString - Defines the currency symbol used in floating-point to
decimal conversions. The initial value is fetched from LOCALE_SCURRENCY.

CurrencyFormat - Defines the currency symbol placement and separation
used in floating-point to decimal conversions. Possible values are:

0 = '$1'
1 = '1$'
2 = '$ 1'
3 = '1 $'

The initial value is fetched from LOCALE_ICURRENCY.

NegCurrFormat - Defines the currency format for used in floating-point to
decimal conversions of negative numbers. Possible values are:

0 = '($1)' 4 = '(1$)' 8 = '-1 $' 12 = '$ -1'
1 = '-$1' 5 = '-1$' 9 = '-$ 1' 13 = '1- $'
2 = '$-1' 6 = '1-$' 10 = '1 $-' 14 = '($ 1)'
3 = '$1-' 7 = '1$-' 11 = '$ 1-' 15 = '(1 $)'

The initial value is fetched from LOCALE_INEGCURR.

ThousandSeparator - The character used to separate thousands in numbers
with more than three digits to the left of the decimal separator. The
initial value is fetched from LOCALE_STHOUSAND. A value of #0 indicates
no thousand separator character should be output even if the format string
specifies thousand separators.

DecimalSeparator - The character used to separate the integer part from
the fractional part of a number. The initial value is fetched from
LOCALE_SDECIMAL. DecimalSeparator must be a non-zero value.

CurrencyDecimals - The number of digits to the right of the decimal point
in a currency amount. The initial value is fetched from LOCALE_ICURRDIGITS.

DateSeparator - The character used to separate the year, month, and day
parts of a date value. The initial value is fetched from LOCATE_SDATE.

ShortDateFormat - The format string used to convert a date value to a
short string suitable for editing. For a complete description of date and
time format strings, refer to the documentation for the FormatDate
function. The short date format should only use the date separator
character and the m, mm, d, dd, yy, and yyyy format specifiers. The
initial value is fetched from LOCALE_SSHORTDATE.

LongDateFormat - The format string used to convert a date value to a long
string suitable for display but not for editing. For a complete description
of date and time format strings, refer to the documentation for the
FormatDate function. The initial value is fetched from LOCALE_SLONGDATE.

TimeSeparator - The character used to separate the hour, minute, and
second parts of a time value. The initial value is fetched from
LOCALE_STIME.

TimeAMString - The suffix string used for time values between 00:00 and
11:59 in 12-hour clock format. The initial value is fetched from
LOCALE_S1159.

TimePMString - The suffix string used for time values between 12:00 and
23:59 in 12-hour clock format. The initial value is fetched from
LOCALE_S2359.

ShortTimeFormat - The format string used to convert a time value to a
short string with only hours and minutes. The default value is computed
from LOCALE_ITIME and LOCALE_ITLZERO.

LongTimeFormat - The format string used to convert a time value to a long
string with hours, minutes, and seconds. The default value is computed
from LOCALE_ITIME and LOCALE_ITLZERO.

ShortMonthNames - Array of strings containing short month names. The mmm
format specifier in a format string passed to FormatDate causes a short
month name to be substituted. The default values are fecthed from the
LOCALE_SABBREVMONTHNAME system locale entries.

LongMonthNames - Array of strings containing long month names. The mmmm
format specifier in a format string passed to FormatDate causes a long
month name to be substituted. The default values are fecthed from the
LOCALE_SMONTHNAME system locale entries.

ShortDayNames - Array of strings containing short day names. The ddd
format specifier in a format string passed to FormatDate causes a short
day name to be substituted. The default values are fecthed from the
LOCALE_SABBREVDAYNAME system locale entries.

LongDayNames - Array of strings containing long day names. The dddd
format specifier in a format string passed to FormatDate causes a long
day name to be substituted. The default values are fecthed from the
LOCALE_SDAYNAME system locale entries.

ListSeparator - The character used to separate items in a list. The
initial value is fetched from LOCALE_SLIST.

TwoDigitYearCenturyWindow - Determines what century is added to two
digit years when converting string dates to numeric dates. This value
is subtracted from the current year before extracting the century.
This can be used to extend the lifetime of existing applications that
are inextricably tied to 2 digit year data entry. The best solution
to Year 2000 (Y2k) issues is not to accept 2 digit years at all - require
4 digit years in data entry to eliminate century ambiguities.

Examples:

Current TwoDigitCenturyWindow Century StrToDate() of:
Year Value Pivot '01/01/03' '01/01/68' '01/01/50'
-------------------------------------------------------------------------
1998 0 1900 1903 1968 1950
2002 0 2000 2003 2068 2050
1998 50 (default) 1948 2003 1968 1950
2002 50 (default) 1952 2003 1968 2050
2020 50 (default) 1970 2003 2068 2050
}


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1404
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.07.10 23:27. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Возможные значения для nSetting пока только такие и описаны в FastRepH.ch (ваш случай frxCurrencyString):
.........
и т.д.



Блин... Столько строчек я сегодня не переведу... И как все это компоновать ?
А покороче нельзя ?
Или пример ?
А то я еще неделю буду в этом разбираться....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 391
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 08.07.10 23:38. Заголовок: Andrey пишет: Или п..


Andrey пишет:

 цитата:
Или пример ?



В вашем конкретном случае :

FrPrn:SetFormatSettings(frxCurrencyString, "GRIVNA")

"GRIVNA"- понятно что условно, я уж не знаю как она там отображается.

Про остальное, что сможете



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1405
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.07.10 08:48. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
FrPrn:SetFormatSettings(frxCurrencyString, "GRIVNA")

"GRIVNA"- понятно что условно, я уж не знаю как она там отображается.



А если я $ захочу отображать ? или фунты ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 392
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 09.07.10 11:54. Заголовок: Andrey пишет: А есл..


Andrey пишет:

 цитата:
А если я $ захочу отображать ? или фунты ?



FrPrn:SetFormatSettings(frxCurrencyString, "$")
FrPrn:SetFormatSettings(frxCurrencyString, "£")

Андрей, вы меня все больше и больше удивляете Уже даже предчувствую, пытаюсь "разжевать":

Sergey Spirin пишет:

 цитата:
"GRIVNA"- понятно что условно, я уж не знаю как она там отображается.



донести, что "GRIVNA" - это я так написал, как правильно напиши давай сам.... В результате, по логам сервера вижу, что ничего еще не скачивал, значит и не пробовал, а уже ничего ему непонятно (!) Андрей, ну что за детский сад?

Специально погуглил сайты с ценами в гривнах, обычно пишут "грн.", поэтому:

FrPrn:SetFormatSettings(frxCurrencyString, "грн.")

Если нужно по-другому, то так и пишите:

FrPrn:SetFormatSettings(frxCurrencyString, "как я хочу так и обзову!")

Предвидя вопрос - "как знак доллара поставить слева":

FrPrn:SetFormatSettings(frxCurrencyFormat, 0)

Варианты значений в справке, которую я привел:

0 = '$1'
1 = '1$'
2 = '$ 1'
3 = '1 $'


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1408
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.07.10 13:00. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Уже даже предчувствую, пытаюсь "разжевать":



Спасибо большое за понимание !
Коньяк за мной !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 393
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 09.07.10 14:46. Заголовок: Andrey пишет: Спаси..


Andrey пишет:

 цитата:
Спасибо большое за понимание !



Спасибо, это хорошо. А проверить, как работает и работает ли?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1414
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.07.10 15:24. Заголовок: Сижу делаю ! Сегодня..


Сижу делаю ! Сегодня же сообщу....


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1418
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.07.10 16:34. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Спасибо, это хорошо. А проверить, как работает и работает ли?



Сделал тестовый пример ! Отправил вам на почту !
Вроде работает без проблем.

Пере собрать проект на хХарборе - команда hbmake.exe Frh-Lang.bc



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 394
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 14.07.10 00:28. Заголовок: Пересобрал с версией..


Пересобрал с версией 4.9.98 общую сборку. Включен, обсуждавшийся выше новый метод - :SetFormatSettings(nSetting, xValue).

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1427
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.07.10 18:35. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:

Пересобрал с версией 4.9.98 общую сборку



Спасибо большое. Скачал, буду подключать к своей системе !


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 78
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 16.07.10 20:06. Заголовок: И ещё один вопрос по..


И ещё один вопрос по FastReport, очень важный.

Как сделать чтобы сводная таблица разбивалась на несколько подтаблиц по группам. При этом реквизиты группы должны выпечатываться сверху, как в обычном табличном отчёте. Но нужно анализировать цену, которую требуют за задание несколько фирм.

Сверху группировка по проектам и родам работ (сантехник, электрик и т.д. и т.п.) И чтобы в строку вылазили не все фирмы, а только те фирмы, которые отвечают за данный род работ. Чтобы было всё как в обычном отчёте, но с повторяющейся парой фирма-цена в одну строку несколько раз.

Если удастся сделать то, о чём я прошу, тогда уже покупаем эту библиотеку.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1432
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.07.10 21:29. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Если удастся сделать то, о чём я прошу, тогда уже покупаем эту библиотеку.



Ну блин, Хотабыча нашли .....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 396
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.07.10 00:20. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Если удастся сделать то, о чём я прошу, тогда уже покупаем эту библиотеку.



Так о чем просишь то? Я что-то не понял.

Нужен отчет, так давай, пробуй, ваяй Судя, правда по мутному описанию, ничего сложного нет. Только группировки? Ну так, смотри простой пример с группами в демо, да и вперед Пробуй, спрашивай конкретику, если что не понятно. Ну, и естественно, не надейся, что кто-то что-то сделает за тебя


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 79
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 17.07.10 09:08. Заголовок: Сложность в том, что..


Сложность в том, что на элемент DBCrossTab не действуют внешние группировки. Так если кладешь DBCrossTab на полосу MasterData, а сверх того даёшь группировку в полосе GroupHeader, то никакого дополнительного разбиения по группам в перекрёстной таблице не происходит.

Можно в самой DBCrossTab делать Subtotals, но при этом условия группировки печатаются сбоку, а число фирм в строке зашкаливает, поскольку на один род работ фирм от силы 5-6, а всего их сотня.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 397
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.07.10 11:08. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Сложность в том, что на элемент DBCrossTab не действуют внешние группировки



Я бы делал без КроссТаба. И все-таки, конкретика, сколько каких таблиц участвуют в отчете? Какие между ними отношения? И т. д.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 80
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 17.07.10 14:07. Заголовок: Отношения между табл..


Отношения между таблицами - многоуровневая иерархия, и, соответственно, многоуровневая группировка. На самом верхнем уровне - таблица проектов (капремонт, модернизация и т.д.) по тому или иному зданию.
Дальше идёт группировка по профилю работ (сантехник, электрик и т.д. и т.п.)
Основная таблица - таблица выполненных работ и расходных материалов. Например: сантехник - замена ванной. Ну и к ней подтаблица - различные фирмы и цены, которые они берут за ту или иную работу. Выбираем минимальную.
А сложность заключается в том, что несколько пар фирма-цена нужно выпечатать В ОДНОЙ СТРОКЕ

PROJEKT
PROFIL_RABOT

====================================================================
POS_NUM POS_TEXT1 FIRMA FIRMA FIRMA ....................................
POS_TEXT2 PRICE PRICE PRICE ....................................

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 398
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.07.10 14:57. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
А сложность заключается в том, что несколько пар фирма-цена нужно выпечатать В ОДНОЙ СТРОКЕ



Ну если владеть инструментом, то ничего особенно уж сложного в этом отчете нет.

Во-первых, группировок, по крайней мере в фастовском понимании здесь нет. Здесь типичный Master-Detail-SubDetail:

PROJEKT - это мастер.
PROFIL_RABOT - детэйл.

Как установить MasterDetail отношение, надеюсь, труда не составит.

И третий уровень, который будет вычисляемым - subdetail.

Итак, третий уровень. Насколько я понимаю, пар "фирма-цена" нужно напечатать конечное количество? Например не более 3-х самых дешевых, это так? Просто в одну строку нельзя же напечатать неопределенное количество информации (вернее, это уже другой тип отчета с вертикальными бэндами).

Если все так, то определим UserDataSet для третьего уровняЖ

FrPrn:SetUserDataSet("Третий уровень", "POS_NUM;POS_TEXT1;POS_TEXT2;FIRMA1;PRICE1;FIRMA2;PRICE2;FIRMA3;PRICE3",; 
{|| PrepareData())} ,;
{|| PrepareData())},;
{|| },;
{|| CheckEOF()},;
{|cField| GetDSValue(cField)})


Идея понятна? Заведем массив из 9 элементов. Пишем функцию PrepareData() в которой этот массив текущей записи будем заполнять. Пишем функцию GetDSValue(), которая просто по имени поля будет отдавать соответствующий элемент массива. И CheckEOF() которая будет решать, пора ли переходить к следующей записи PROFIL_RABOT или есть еще что "поколбасить" на текущей.

Надеюсь, что идея понятна, и не столь сложна в реализации


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1433
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.07.10 17:14. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Как установить MasterDetail отношение, надеюсь, труда не составит.


Пример работы с MasterDetail http://files.mail.ru/C8IUGH<\/u><\/a>

Делай там отдельную папку, записывай базы и можно будет конкретно помочь - разбирая отдельный пример !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 81
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 17.07.10 17:28. Заголовок: Я так и думал, что в..


Я так и думал, что всё сведётся к пользовательскому массиву и заполнению его данными на каждой строке. Число элементов на одну строку отчёта формата А4 всё равно жёстко ограничено. Цена имеет формат 10DEC2, плюс зазор в одну строку. А если учесть что длина главной таблицы достигает 5 тыс строк :LOL: то 5 тыс. раз опрашивать постороннюю таблицу - очень замедлит работу.

Не проще ли сделать дополнительно поля FIRM1,FIRM2,FIRM3,... и, соотвестственно, PRICE1,PRICE2,PRICE3,....
Иногда ДЕнормализация имеет смысл. Есть ещё такая база данных -4D. Названа так, поскольку помимо классических двухмерных таблиц, поддерживает также вложенную таблицу SUBTABLE. Часто это бывает необходимо.

Больше 5 цен всё равно не поместится, поскольку нужно ещё указать реквизиты задания. Печать бисером - не у всех хорошее зрение.

ЗЫ. А вот про вертикальные бэнды я бы хотел поподробнее. Интересно, интересно.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1435
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.07.10 19:04. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Пересобрал с версией 4.9.98 общую сборку. Включен, обсуждавшийся выше новый метод - :SetFormatSettings(nSetting, xValue).



Собрал со своей системой ! Работает, только одна непонятка, не критичная, но думаю опять пальцем тыкать будут меня !

Переключаюсь на украинский язык, отображается нормально:
<\/u><\/a>

А в дизайнере, нет такого формата, только (руб.) !
<\/u><\/a>

Как исправить ?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 399
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.07.10 23:32. Заголовок: Andrey пишет: А в д..


Andrey пишет:

 цитата:
А в дизайнере, нет такого формата, только (руб.) !



Это вопрос к украинским локализаторам Это просто статичная строка в файле локализации. Смотри файл Ukrainian.frc, Значение ключа "fkNumber4", почему-то они решили оставить рубль Видимо тоскуют по Союзу

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 400
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.07.10 23:42. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Я так и думал, что всё сведётся к пользовательскому массиву и заполнению его данными на каждой строке. Число элементов на одну строку отчёта формата А4 всё равно жёстко ограничено. Цена имеет формат 10DEC2, плюс зазор в одну строку. А если учесть что длина главной таблицы достигает 5 тыс строк :LOL: то 5 тыс. раз опрашивать постороннюю таблицу - очень замедлит работу.



Дорогой, все в твоих руках, и это главное Как ты сделаешь доступ к этим данных в этой записи, так и будет. Сделаешь так, что будет тормозить, то виноват будешь только ты, а не FR Разговор же про 5 тысяч строк, которые будут тормозить - слышать смешно, хотя, чего только кривые ручки не добивались

Dr. Oldwarez пишет:

 цитата:
ЗЫ. А вот про вертикальные бэнды я бы хотел поподробнее. Интересно, интересно.



Ну смотри, например:
http://www.reportingfor.info/ru/news.php?extend.33.4<\/u><\/a>





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 82
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 24.07.10 13:53. Заголовок: Так, был у шефа, шеф..


Так, был у шефа, шеф мне объяснил, что пока будет по другому и cross-table выпадает за ненадобностью. Впоследствии будет по-другому - с вертикальной группировкой главной таблицы. Так, что извините за ложную тревогу.

А пока что один небольшой вопросик. Можно суммировать по группе, можно суммировать по странице, но при переходе на новую страницу сумма обнуляется. Как сделать, чтобы был перенос, т.е. сумма по всем строкам, печатаемая один раз в конце страницы, а потом, ещё раз - в начале следующей страницы то же значение. Не печатать его только на последней странице группы.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 401
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 26.07.10 14:18. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Как сделать, чтобы был перенос, т.е. сумма по всем строкам....



Там опция такая есть в диалоге агрегатов "Нарастающим итогом", в выражение подставляет двоечку третьим параметром. Ну и если нужно еще запоминать и на след. странице печатать, то просто запоминать в своей переменной, типа:

var 
MySum: Variant;

procedure Memo14OnAfterPrint(Sender: TfrxComponent);
begin
MySum := Memo14.Value;
end;






Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1482
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.07.10 22:13. Заголовок: Добрый вечер ! Подс..


Добрый вечер !

Подскажите как сделать отчет такого типа:

<\/u><\/a>

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 403
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 28.07.10 09:16. Заголовок: Andrey пишет: Подск..


Andrey пишет:

 цитата:
Подскажите как сделать отчет такого типа:



Ну уж подскажите тогда в чем сложность то возникла? Какие проблемы?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1484
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.07.10 11:50. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Ну уж подскажите тогда в чем сложность то возникла?



На картинке я не совсем правильно отобразил.
На листе нужно размещать только 4 записи из базы ! Т. № заявки, дату, фио и т.д.
А как такие формы делать я не знаю ?



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 404
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 28.07.10 12:28. Заголовок: Ну, во-первых, сколь..


Ну, во-первых, сколько наборов данных? Выполненные работы, что, не печатаются? Если печатаются сколько их там может быть?

Andrey пишет:

 цитата:
На листе нужно размещать только 4 записи из базы !



Начните с изучения колонок Колонки есть у страницы (Page) - вертикальные, и у бэнда - горизонтальные. Определитесь какие вам нужны.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1485
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.07.10 12:57. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:

Начните с изучения колонок



Пример дайте посмотреть ! Или где посмотреть ?

Или мне пример сделать, а вы на форме покажите как выводить ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 405
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 28.07.10 13:09. Заголовок: Andrey пишет: Приме..


Andrey пишет:

 цитата:
Пример дайте посмотреть ! Или где посмотреть ?



Колонки - по Columns. В демке колонки страницы используются в отчете "UserDS and Dialogs".

Andrey пишет:

 цитата:
Или мне пример сделать, а вы на форме покажите как выводить ?



Ну сделайте. И на вопросы ответьте все-таки:

Sergey Spirin пишет:

 цитата:
Ну, во-первых, сколько наборов данных? Выполненные работы, что, не печатаются? Если печатаются сколько их там может быть?




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1486
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.07.10 13:18. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Ну, во-первых, сколько наборов данных? Выполненные работы, что, не печатаются? Если печатаются сколько их там может быть?



Набор данных один !
Выполненные работы - отдельная песня ... Это наверно мне самому придется через функцию делать ... Потом буду делать !

Делаю пример. Скорее всего завтра будет готов.
Сейчас пока другую работу доделываю.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1488
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.07.10 22:19. Заголовок: Сделал пример ! Кача..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 406
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 29.07.10 23:53. Заголовок: Andrey пишет: Сдела..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1489
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.07.10 00:15. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Если их количество будет произвольным, то выдержать 4 наряда на страницу будет проблематично просто исходя из здравого смысла



Хорошо, я подумаю над этим !
Спасибо большое !
Форма СУПЕР ! Еще раз убеждаешься, что FastReport - это ВЕЩЬ !!!

С ходу не понял пока, как задается Overlay: Overlay1 ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 407
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 30.07.10 00:33. Заголовок: Andrey пишет: С ход..


Andrey пишет:

 цитата:
С ходу не понял пока, как задается Overlay: Overlay1 ?



Это просто "бэнд" как и остальные, например MasterData По русски он зовется "Фоновый бэнд". То есть бэнд, который печатаетяс под всеми остальными фоном.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 83
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 04.08.10 13:20. Заголовок: RichView


Подскажите, пожалуйста, как сделать, чтобы в поле RichView выводился rtf-документ, а то там настройки только на поля базы данных, будто все хранят и правят memo-поля в формате RTF.

В простом Text я решил эту проблему с помощью CALLHBFUNC('MEMOREAD',['TEXTFILE.TXT'])

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 410
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 04.08.10 14:20. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Подскажите, пожалуйста, как сделать, чтобы в поле RichView выводился rtf-документ, а то там настройки только на поля базы данных, будто все хранят и правят memo-поля в формате RTF.

В простом Text я решил эту проблему с помощью CALLHBFUNC('MEMOREAD',['TEXTFILE.TXT'])



Скриптом. Просто LoadFromFile() это метод, а не свойство:

// для rtf 
procedure Rich1OnBeforePrint(Sender: TfrxComponent);
begin
Rich1.RichEdit.Lines.LoadFromFile('C:\shablon.rtf');
end;

// для простой мемы
procedure Memo2OnBeforePrint(Sender: TfrxComponent);
begin
Memo2.Lines.LoadFromFile('C:\my.txt');
end;


И кстати, совет. Когда в редакторе набрал имя объекта и точку, например

Memo2.

то нажми Ctrl+Space, будет подсказка что можно писать дальше..








Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1496
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.08.10 14:21. Заголовок: Смотри пример http:/..


Смотри пример http://slil.ru/29531611<\/u><\/a>


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 411
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 04.08.10 14:48. Заголовок: Andrey пишет: Смотр..


Andrey пишет:

 цитата:
Смотри пример http://slil.ru/29531611<\/u><\/a>



Андрей, а зачем rtf грузить в OLE-объект?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 84
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 04.08.10 15:41. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Скриптом. Просто LoadFromFile() это метод, а не свойство:

// для rtf procedure Rich1OnBeforePrint(Sender: TfrxComponent); begin Rich1.RichEdit.Lines.LoadFromFile('C:\shablon.rtf'); end; // для простой мемы procedure Memo2OnBeforePrint(Sender: TfrxComponent); begin Memo2.Lines.LoadFromFile('C:\my.txt'); end;


И кстати, совет. Когда в редакторе набрал имя объекта и точку, например

Memo2.

то нажми Ctrl+Space, будет подсказка что можно писать дальше..



ОГРОМНОЕ СПАСИБО! ПО-ЛУ-ЧИ-ЛОСЬ

Ещё, пожалуйста, функцию сброса Page#, потому, что у меня, после того, как я установил печать RTF-документа в отчёте (ReportTitle), начали сначала съезжать заголовки страниц, что было устранено установкой символа "Разрыв страницы" в OpenOffice, потом нумерация стала вести себя странно: Первая страница данных нумеруется как 1, дальше - как 3 и далее всё как обычно.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 412
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 04.08.10 15:54. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Ещё, пожалуйста, функцию сброса Page#, потому, что у меня, после того, как я установил печать RTF-документа в отчёте (ReportTitle), начали сначала съезжать заголовки страниц, что было устранено установкой символа "Разрыв страницы" в OpenOffice, потом нумерация стала вести себя странно: Первая страница данных нумеруется как 1, дальше - как 3 и далее всё как обычно.



Ну, тут по описанию понять трудно, что там у вас "разъехалось". Сделайте, что-ли пример, как Андрей делает, посмотрю.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1497
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.08.10 17:06. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Андрей, а зачем rtf грузить в OLE-объект?



Так я хотел редактировать файл ! т.е. чтоб был предпросмотр документа, а потом если надо по кнопочке редактировать можно.
Но так и не получилось....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1498
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.08.10 15:14. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:

Ну, смотрите колонки:
http://www.paritetsoft.ru/zaivka6c.fr3<\/u><\/a>



Можете описать как делаются такие формы ? Хотя бы кратко...
У меня новая форма не получается...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 413
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 05.08.10 16:04. Заголовок: Andrey пишет: Может..


Andrey пишет:

 цитата:
Можете описать как делаются такие формы ? Хотя бы кратко...



Да длинно и не получится

Колонки для страницы сделать - просто у страницы (Page) поставьте свойство Columns = 2. Или двойной клик по странице - "Прочее" - "Колонки" - "Количество".

Бэнд Overlay добавляется точно также как любой другой.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1499
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.08.10 17:25. Заголовок: Спасибо ! Поменял в..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 414
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 05.08.10 18:52. Заголовок: Andrey пишет: Тепер..


Andrey пишет:

 цитата:
Теперь 5 записей печатается на странице.... Внизу еще ОДНА добавляется ...
Как убрать ? Т.е. где задается высота и ширина печати колонок ?



Да..... Удивлять вы продолжаете ...

Андрей, ну вы что газет никогда в жизни не читали? Что такое колонка? Про колонки в Word-е я уже не спрашиваю.. Какая у колонки может быть высота? Может еще глубину потребуете!

Ширина же колонок задается в том же диалоге "Настройка страницы".





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1500
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.08.10 19:40. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Может еще глубину потребуете!


Глубина в речке или бассейне....
А пример вы так и не смотрели ....

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1845
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.08.10 19:58. Заголовок: Andrey Мне просто с..


Andrey
Мне просто стало интересно :)
А русскоязычной документации к FastReport for [x]Harbour , нет ?



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1501
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.08.10 22:43. Заголовок: Dima пишет: А русск..


Dima пишет:

 цитата:
А русскоязычной документации к FastReport for [x]Harbour , нет ?


Да нет ! Есть на Аляску++ ! Но я спрашиваю про отчеты, которые не описаны.
Мне бы даже на английском пример бы показали, я бы разобрался.
Да и то готовый пример хорошо, я где что устанавливать - тоже загадка... Как в моем случае !
Сам можешь на моем примере поковырятся, где что установить, чтоб заработало ????
2-ой пункт меню не доделан !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 415
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 06.08.10 00:03. Заголовок: Dima пишет: Мне про..


Dima пишет:

 цитата:
Мне просто стало интересно :)
А русскоязычной документации к FastReport for [x]Harbour , нет ?



Дока к FastReport for [x]Harbour описывает взаимодействие FastReport с [x]Harbour, как ни странно Дока для просто FastReport (работа с дизайнером типа) конечно на русском как первоисточник. Но... вряд ли там идет речь о том что 2*2=4...

Дим, как ты думаешь, если текст на странице располагается в несколько колонок, то какова будет высота колонки?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 416
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 06.08.10 00:08. Заголовок: Andrey пишет: Глуби..


Andrey пишет:

 цитата:
Глубина в речке или бассейне....



Глубина колонки текста в станице

Andrey пишет:

 цитата:
А пример вы так и не смотрели ....



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

P.S. Overlay то адекватно поправьте.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 417
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 06.08.10 00:10. Заголовок: Andrey пишет: Но я ..


Andrey пишет:

 цитата:
Но я спрашиваю про отчеты, которые не описаны.
Мне бы даже на английском пример бы показали, я бы разобрался.





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1502
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.08.10 00:21. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
если текст на странице располагается в несколько колонок, то какова будет высота колонки?



Да догадываюсь я, что высота колонки будет зависеть от количества строк в колонке.
Только увеличение строк в "MasterData" не приводит к печати 4-записи на лист, уходит запись,
остаются 3-записи на листе !

Вместо хи-хи дали бы четкое указание, какие параметры от чего зависят .... Я уже все их передергал...
Можно было бы проконсультироваться и у других, но сейчас лето, пора отпусков...
А людям форма нужна, а у меня не получается... Сами же на сопровождении сидите, знаете как это бывает !
А вы все хи-хи...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 418
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 06.08.10 00:25. Заголовок: Andrey пишет: Да до..


Andrey пишет:

 цитата:
Да догадываюсь я, что высота колонки будет зависеть кол-ва строк в колонке.



На вопрос сколько будет 2*2 ОТВЕТ (догадка) ДАН НЕПРАВИЛЬНЫЙ! Все-таки, думать! Уж больно элементарна проблематика.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 419
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 06.08.10 00:33. Заголовок: Andrey пишет: Вмест..


Andrey пишет:

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



Ого!
Andrey пишет:

 цитата:
А людям форма нужна, а у меня не получается... Сами же на сопровождении сидите, знаете как это бывает !



Гм.. А не страдать косноязычаем это получиться может? Если да, то я готов помогать, иначе же это бред сивой кобылы, в котором что-то понять - увольте...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1503
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.08.10 01:04. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
А не страдать косноязычаем это получиться может?


Какой есть, такой есть.... В другой жизни другим буду ....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1504
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.08.10 02:52. Заголовок: Размер А4 альбомная:..


Размер А4 альбомная: высота 29 (29,7) и ширина 21 (см)
Для печати 2 листков в высоту (4-х на странице) имеем - в высоту: 0,5 край листа сверху и снизу: 29 - 0,5*2 = 28 !
Что меня интересовало.
28/2 = 14, значит в "MasterData" параметр "Height" (Высота объекта) устанавливаем в 14,0 !
Вот и все.... А написано то было ....


В ширину имеем: 21 - 0,5*2 = 20 ... 20/ 2 листка = 10 см - ширина одного листка.
Для сведения другим, как устанавливать:
<\/u><\/a>

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 420
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 06.08.10 10:47. Заголовок: Andrey пишет: Разме..


Andrey пишет:

 цитата:
Размер А4 альбомная: высота 29 (29,7) и ширина 21 (см)
Для печати 2 листков в высоту (4-х на странице) имеем - в высоту: 0,5 край листа сверху и снизу: 29 - 0,5*2 = 28 !
Что меня интересовало.
28/2 = 14, значит в "MasterData" параметр "Height" (Высота объекта) устанавливаем в 14,0 !
Вот и все.... А написано то было ....



Ну так это высота чего? Неужели колонки? Андрей, все мои "хи-хи" преследуют одну цель - заставить вас думать.

И, кстати, о доке. Кто-то на какое-то отсутствие жаловался? А вот кто-то не жалуется... А именно:

Rene Flores (известный разработчик) полностью перевел мою доку на испанский (!), и сейчас сообщает, что они заканчивают перевод общей доки по дизайнеру...

И, совсем неожиданно, вчера получил от "нашего" Темура его полный перевод моей доки на русский!! Вот так вот.

Так что, Андрей, просите у Темура доку, и не забудьте ему проставиться

И, надеюсь, отсылок на отсутствие доки больше не будет.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1505
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.08.10 11:28. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Так что, Андрей, просите у Темура доку, и не забудьте ему проставиться



Доку эту уже читал ! Там нет про "Дизайнер" ничего толком.
А проставиться ему всегда рад.
С земляками легче всего договориться, да я его знаю еще по Вычислительному центру Академии наук Таджикистана !
Свои замечания по этой доке я ему уже выслал.

Нужна дока работы с дизайнером... Ну это на будущее, когда очередной раз нужно будет новую "изысканную" форму делать...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1508
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.08.10 13:04. Заголовок: Dima пишет: Andrey ..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 421
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 06.08.10 13:08. Заголовок: Andrey пишет: Доку ..


Andrey пишет:

 цитата:
Доку эту уже читал ! Там нет про "Дизайнер" ничего толком.
А проставиться ему всегда рад.
С земляками легче всего договориться, да я его знаю еще по Вычислительному центру Академии наук Таджикистана !
Свои замечания по этой доке я ему уже выслал.

Нужна дока работы с дизайнером... Ну это на будущее, когда очередной раз нужно будет новую "изысканную" форму делать...



У меня уже смех переходит в истерический

Чем вас не устраивает текущая дока по дизайнеру? 246 страниц текста и картинок на самом, что ни на есть русском языке?????


[url=http://fast-report.com/pbc_download/FR4.6.UserManual-ru.pdf ]Дока по дизайнеру и разработке отчетов!!![/url]


Чего не хватает то? Именно эту доку Rene пыхтит, переводит на испанский.


Еще раз. Моя дока - это дока по работе с FRH, то есть, описывается вся [x]Harbour-специфика. По дизайнеру, разработке отчетов и т.д. моя дока отсылает к основной Фастовской, которой какой только нет, и которая вся есть нам РУССКОМ языке.

Фу...



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 438
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.08.10 12:49. Заголовок: Сергею Спирину. Сего..


Сергею Спирину.
Сегодня скачал архив FRH. Увидел свежую дату (29.08.2010) модификации файлов. Что интересного добавилось/изменилось?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 423
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 31.08.10 16:37. Заголовок: PSP пишет: Сегодня ..


PSP пишет:

 цитата:
Сегодня скачал архив FRH. Увидел свежую дату (29.08.2010) модификации файлов. Что интересного добавилось/изменилось?



Привет. Именно эта сборка (111-я) связана с исправлениями в FRAX (баг с полем типа Timestamp) а не в FRH

А вообще, существенные изменения, фиксы и т.д. отражаются с моей стороны в:

http://www.paritetsoft.ru/frh_ver.html<\/u><\/a>

А со стороны FastReport Inc в:

http://fast-report.com/ru/versions/index.php?changes=2903<\/u><\/a>

Если ничего нового не написали, а номер сборки вырос, значит были незначительные изменения, корректировки и т.д.


Кстати, в 4-ке, каких-то новых интересностей ждать уже не стоит. Осенью-зимой ждем пятерку с двухмерными штрих-кодами, Ribbon-интерфейсом, многостраничным предпросмотром, новыми объектами и т.д.






Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 439
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.08.10 16:51. Заголовок: Привет! Еще вопрос. ..


Привет!
Еще вопрос. Искал, но не нашел...
Можно ли объединить два (или более) отчета в ран-тайме в Харборе?
А потом уже просматривать/печатать объединенный отчет?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 424
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 31.08.10 17:00. Заголовок: PSP пишет: Можно ли..


PSP пишет:

 цитата:
Можно ли объединить два (или более) отчета в ран-тайме в Харборе?



Можно:

FrPrn:LoadFromFile(RepDir + "1.fr3")
FrPrn:PrepareReport()
FrPrn:LoadFromFile(RepDir + "4.fr3")
FrPrn:PrepareReport(FR_NOTCLEARLASTREPORT)
FrPrn:ShowPreparedReport()


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 85
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 31.08.10 17:12. Заголовок: Перекрёстная таблица - больная тема


А теперь вопрос на больную тему перекрёстных таблиц DBCrossTab.

Нужно, чтобы по строке выводился минимум, а по столбцу - сумма. Как это сделать? Если я ставлю одну аггрегирующую функцию - минимум, то и по строкам и по столбцам выходит только минимум. А если дополнительно добавляю сумму, то число столбцов удваивается, что недопустимо.

ФИРМА1 ФИРМА2 ФИРМА3 МИНИМУМ
001 Задание1 120,00 240,00 300,00 120,00
002 Задание2 100,00 200,00 250,00 100,00
==================================
ИТОГО 220,00 440,00 550,00 220,00

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 440
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.08.10 20:52. Заголовок: Sergey Spirin, огром..


Sergey Spirin, огромное мерси! :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 441
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.08.10 21:01. Заголовок: Dr. Oldwarez, я бы п..


Dr. Oldwarez, я бы поиск минимума сделал до формирования отчета, а отчете использовал бы уже готовые значения.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 86
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 31.08.10 21:09. Заголовок: PSP пишет: я бы пои..


PSP пишет:

 цитата:
я бы поиск минимума сделал до формирования отчета, а отчете использовал бы уже готовые значения.



А где хранить эти минимумы?

Извините, но я ещё новичок в перекрёстных таблицах. Как-то до этой задачи не приходилось с ними работать...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 442
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.08.10 21:39. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
А где хранить эти минимумы?


Либо в dbf, либо в переменных (массиве). А в отчете можно легко их достать либо из dbf, либо из переменной(ых)/массива.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 87
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 31.08.10 21:46. Заголовок: Дык, элемент DBCross..


Дык, элемент DBCrosstab не позволяет вставлять в перекрёстную таблицу сторонние данные. Только одна таблица с горизонтальной группировкой.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 425
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 31.08.10 23:17. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Дык, элемент DBCrosstab не позволяет вставлять в перекрёстную таблицу сторонние данные. Только одна таблица с горизонтальной группировкой.



Честно говоря, так получилось, что никогда не использовал КроссТабы, поэтому имено про них ничего не подскажу.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 88
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 31.08.10 23:31. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Честно говоря, так получилось, что никогда не использовал КроссТабы, поэтому имено про них ничего не подскажу.



Блин, я тоже не использовал. А теперь на-а-а-а-до!!! Ну просто позарез надо!!!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 443
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.09.10 09:08. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Дык, элемент DBCrosstab не позволяет


Извините, не вник сразу.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 426
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 01.09.10 13:28. Заголовок: PSP пишет: Блин, я ..


PSP пишет:

 цитата:
Блин, я тоже не использовал. А теперь на-а-а-а-до!!! Ну просто позарез надо!!!



Ну чтож, пришлось мне почитать за вас доку, ту самую, на отсутствие которой Андрей наш так сетовал. <\/u><\/a>

А это скрипт:
var 
MyMin: Variant;

procedure Cross1OnPrintCell(Memo: TfrxMemoView; RowIndex, ColumnIndex, CellIndex: Integer; RowValues, ColumnValues, Value: Variant);
begin
if not Cross1.IsGrandTotalColumn(ColumnIndex) then
begin
if (ColumnIndex = 0) then
MyMin := Memo.Value
else
if (MyMin = 0) or ((Memo.Value < MyMin) and (Memo.Value > 0)) then
MyMin := Memo.Value;
end
else
Memo.Text := Format('%m', [MyMin]);
end;







Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1540
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.09.10 15:20. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
ту самую, на отсутствие которой Андрей наш так сетовал.



Я сетовал на отсутствие доки по моему примеру. Не надо передергивать !
А по своему примеру, пришлось методом тыка делать !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 427
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 01.09.10 16:43. Заголовок: Andrey пишет: Я сет..


Andrey пишет:

 цитата:
Я сетовал на отсутствие доки по моему примеру.



Это как? Под ваши примеры уже дока должна быть готова? Заранее?

Использование же колонок документировано, о них идет речь и в разделе 1.6 Параметры страницы, и более подробно в разделе 2.19 Печать этикеток.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1542
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.09.10 21:07. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Использование же колонок документировано, о них идет речь и в разделе 1.6 Параметры страницы, и более подробно в разделе 2.19 Печать этикеток.


Эта информация уже не нужна (устарела). Так как пример уже сделан ! Ну на будущее, может и пригодится.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 428
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 02.09.10 09:25. Заголовок: Andrey пишет: Эта и..


Andrey пишет:

 цитата:
Эта информация уже не нужна (устарела)



Это информация о том, что вам надо сесть и просто прочитать "Руководство пользователя" полностью, с 1-ой по 246-ю страницу. Иначе, в будущем помощь может и не прийти...

Так как вопросы по синтаксису, уточнению понятий, прояснению концепций - это одно. А вопрос - "А чего это оно куда то не туды", это совсем, совсем другое.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 90
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 03.09.10 14:32. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
А это скрипт:

var MyMin: Variant;

procedure Cross1OnPrintCell(Memo: TfrxMemoView; RowIndex, ColumnIndex, CellIndex: Integer; RowValues, ColumnValues, Value: Variant);

begin
if not Cross1.IsGrandTotalColumn(ColumnIndex) then begin if (ColumnIndex = 0) then MyMin := Memo.Value else if (MyMin = 0) or ((Memo.Value < MyMin) and (Memo.Value > 0)) then MyMin := Memo.Value; end else Memo.Text := Format('%m', [MyMin]); end;



Огромное спасибо за скрипт! Я попробовал - получилось! Но шеф усложнил задачу и теперь нужно дополнительно выводить столбец количества позиций (не участвующий в группировке, а принадлежащий к той же группе, что и номер позиции) и дополнительно в простых клетках выводить цену, а в сумме внизу - сумму общих цен (цена*количество)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 429
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 08.09.10 08:49. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Я попробовал - получилось! Но шеф усложнил задачу и теперь нужно дополнительно выводить столбец количества позиций (не участвующий в группировке, а принадлежащий к той же группе, что и номер позиции) и дополнительно в простых клетках выводить цену, а в сумме внизу - сумму общих цен (цена*количество)



Привет. Ну что сказать. Как выводить все что угодно "клетках" кросстаба я показал.

Конечно, если все устраивать на скрипте, то это уже не так красиво... Все-таки, вы определились с количеством столбцов? Если оно статично или варируется в разумных известных пределах, то может удобней сделать без кросстабов? Еще есть варианты соединять кросстабы по горизонтально, если это подойдет... Короче, задачу надо лучше понимать, чтобы что-то посоветовать.








Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1752
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.05.11 09:10. Заголовок: Что за остатки полей..


Что за остатки полей на форме ?

Взял старую форму, MasterData был BookAbon. Подключил к другой базе, поменял нужные мне поля.
И все равно остались "остатки" предыдущей БД в этой новой форме !!!
Как их удалить ?
И как вообще правильно использовать мои готовые формы для других случаев ? Т.е. порядок подключения формы к другим MasterData ?
Заранее спасибо за ответ.

Увеличить<\/u><\/a>


И еще один вопрос.
Делаю вывод (в качестве примера) на форму "Сумму прописью".
CallHbFunc('SUMMAPROPIS',[<ABONENT."DOLG_2008">,True]) - работает нормально.
Усложнил пример для показа другим...
SummaPropis( <ABONENT."DOLG_2008"> ,True) ] - не работает. Что-то неправильно делаю. Где ? Подскажите пожалуйста.

Сама форма и пример:
http://files.mail.ru/NJ3CJ0


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1753
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.05.11 09:16. Заголовок: Как бы убрать эти ..




Как бы убрать эти кракозябы ?
Вставить в коде FastReport ПРОВЕРКУ на OEM-кодировку и перевести в WIN-кодировку.
И еще добавить строку вызываемой функции, а то приходиться догадки строить, где и что не работает, виноват ли Фаст или своя функция !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 492
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.05.11 21:01. Заголовок: Andrey пишет: Что з..


Andrey пишет:

 цитата:
Что за остатки полей на форме ?

Взял старую форму, MasterData был BookAbon. Подключил к другой базе, поменял нужные мне поля.
И все равно остались "остатки" предыдущей БД в этой новой форме !!!



Это ж с какого интересно бодуна вы решили, что то на что указывают стрелки - это поля БД (!!!) Это объекты отчета типа TfrxMemoView и от того, что изменился набор данных для отчета, с какого лешего это они должны исчезать?

Andrey пишет:

 цитата:
Как их удалить ?



Выделить и нажать Delete.

Andrey пишет:

 цитата:
И как вообще правильно использовать мои готовые формы для других случаев ? Т.е. порядок подключения формы к другим MasterData ?
Заранее спасибо за ответ.



Если бы можно было бы понять вопрос, то можно было бы дать и ответ. Попробуйте, напрягитесь наконец с понятийным рядом, и попытайтесь сформулировать.

Andrey пишет:

 цитата:
И еще один вопрос.
Делаю вывод (в качестве примера) на форму "Сумму прописью".
CallHbFunc('SUMMAPROPIS',[<ABONENT."DOLG_2008">,True]) - работает нормально.
Усложнил пример для показа другим...
SummaPropis( <ABONENT."DOLG_2008"> ,True) ] - не работает. Что-то неправильно делаю. Где ? Подскажите пожалуйста.



Андрей, вы не пьяны были когда это писали?
   ELSEIF ( FName == "SUMMAPROPIS" ) 
RES := Str( FParams[ 1 ], FParams[ 2 ] )

Какая была логика? И, кстати, как можно не получить вывих мозга от следующего за этим комментария?
   // --------------- без этой строчки работать не будет ---// 
// Так как SUMMAPROPIS() вызывает STR() то необходимо подключить
// стандартную Harbour функцию !!!
// --------------- без этой строчки работать не будет ---//


Andrey пишет:

 цитата:
Как бы убрать эти кракозябы ?
Вставить в коде FastReport ПРОВЕРКУ на OEM-кодировку и перевести в WIN-кодировку.
И еще добавить строку вызываемой функции, а то приходиться догадки строить, где и что не работает



Гм... Вы хотите сказать, что у вас тексты харборных ошибок по-русски и в OEM-кодировке? Гм... У меня эта выглядит так как и должна:

BASE/1099 Argument error: STR

Но все в ваших руках. METHOD FrNotifyError(oError) class frReportManager - напишите лучше, и ЕСЛИ Петр, Паша, Григорий одобрят ваш вариант, то заменю и у себя, это не проблема.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1758
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.05.11 21:50. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Андрей, вы не пьяны были когда это писали?


Конечно пьян. Я же без бутылки не сажусь программировать !!!

А по людски, этот ваш вопрос просто скотский. Просишь о помощи, то что не видишь сам, а вы с издевкой отвечаете.
Что у вас никто не может ошибиться в коде ?
Большое спасибо, бог вам судья.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 493
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.05.11 23:34. Заголовок: Andrey пишет: А по ..


Andrey пишет:

 цитата:
А по людски, этот ваш вопрос просто скотский. Просишь о помощи, то что не видишь сам, а вы с издевкой отвечаете.
Что у вас никто не может ошибиться в коде ?
Большое спасибо, бог вам судья.



Ну, дорогой, нашел на что обижаться Ошибки, непонятки, конечно, всякие бывают, НО писать такое!!! Это же как: "Я написал 2+2=5, в чем проблема? Сиди тут гадай кто виноват Фаст или я". И как к этому относится? Так что терпи, назвать человека пьяным на Руси никогда оскорблением не было. Я вот сейчас сижу и пиво пью, и тоже пьяный. И мне все-таки дьявольски интересно, как написав:

ELSEIF ( FName == "SUMMAPROPIS" )
RES := Str( FParams[ 1 ], FParams[ 2 ] )

можно надеяться, что вызовется функция SUMMAPROPIS(), как, почему? И причем здесь Str()? Ну хоть как-то объяснить это можно?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 494
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 19.05.11 00:31. Заголовок: Кстати, забыл сказат..


Кстати, забыл сказать, пересобрал копии с версией 4.11, основное нововведение:

+ добавлен новый фильтр экспорта BIFF8 XLS

Это экспорт напрямую в файл Excel, минуя OLE/COM.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1759
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.05.11 00:32. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Ну хоть как-то объяснить это можно?



Ну ошибся я, да неправ, тупо поставил возврат функции "XBASESTR" и не
мог понять, почему CallHbFunc(SUMMA_PROPIS()) - работает, а объявленная функция нет.
Я же делал раньше правильно, а здесь усталость глаза замылила.
Да и ошибка Фаста вылазила в кракозябах (у меня же OEM-кодировка), а я никак не мог понять что за ошибка...

Sergey Spirin пишет:

 цитата:
Так что терпи, назвать человека пьяным на Руси никогда оскорблением не было


Называйте так в своей семье и родне, а я вам не родня и нормы приличия никто не отменял.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 495
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 19.05.11 01:07. Заголовок: Andrey пишет: Да и ..


Andrey пишет:

 цитата:
Да и ошибка Фаста вылазила в кракозябах (у меня же OEM-кодировка), а я никак не мог понять что за ошибка...



Это мне непонятно, харбор-ошибки они латиницей... Возьми , например, любую демку, в том числе консольные, в отчете "Some functions calls.." исправь в Memo1 вызова XBaseStr() второй параметр на True/False, получаем:


---------------------------
Error
---------------------------
BASE/1099 Argument error: STR
---------------------------
ОК
---------------------------

Какая OEM, если текст английский?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1760
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.05.11 02:00. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Это мне непонятно, харбор-ошибки они латиницей... Возьми , например, любую демку



Демку можете не брать ! Возьмите мой пример и исправьте - будет вам такая же кракозяба !
У меня постоянно ошибки в OEM-кодировке, так как используется GTWIN или GTWVT терминал и OEM-кодировка в программе !



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 497
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 19.05.11 07:28. Заголовок: Andrey пишет: Демку..


Andrey пишет:

 цитата:
Демку можете не брать ! Возьмите мой пример и исправьте - будет вам такая же кракозяба !
У меня постоянно ошибки в OEM-кодировке, так как используется GTWIN или GTWVT терминал и OEM-кодировка в программе !



Андрей, еще раз. Фраза "Argument error:" состоит из латинских буков! И в WIN и OEM она "звучит" одинаково. Каким образом получается перевод (?) на русский стандартного oError:Description? Ответьте мне как харбурист.


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1938
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.05.11 08:30. Заголовок: Текст сообщений, в т..


Текст сообщений, в том числе для ошибок, определяется установкой

hb_LangSelect( "RU866" )

Поскольку программа консольная, то эта установка и должна быть

Но FastReport по-видимому выдает сообщения сам, вызовами функций Message*(), которые предполагают кодировку ansi
Если хотите, введе в frh какую-то настройку для такой конфигурации, чтобы перекодировать текст вызовами hb_oemtoansi() или аналогичной дельфийской функцией

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 498
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 19.05.11 11:40. Заголовок: Pasha пишет: Если х..


Pasha пишет:

 цитата:
Если хотите, введе в frh какую-то настройку для такой конфигурации, чтобы перекодировать текст вызовами hb_oemtoansi() или аналогичной дельфийской функцией



Ok. Это можно. Хоть, честно говоря, удивлен, зачем тексты ошибок то переводить? Пара вопросов, можно ли автоматом определить что кодировка OEM (не обязательно RU)? hb_oemtoansi() существует во всех версиях [x]Harbour?

Паш, если не трудно, взгляни на метод METHOD FrNotifyError(oError) class frReportManager, что там можно еще добавить? Номер строки ошибки это реально?



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1939
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.05.11 12:44. Заголовок: Тексты ошибок на нац..


Тексты ошибок на национальных языках завел еще Нантакет в клиппере, и в харбор они попали по наследству.
Автоматом определить oem/ansi нельзя, разве что из всех кодовых страниц харбора:

include\hbcpage.hbx

выбрать относящиеся к OEM, ANSI и прочим

Функция hb_oemtoansi() появилась в харборе изначально, но она может быть не подлинкована к приложению, так что на нее лучше не расчитывать

По поводу NotifyError. Все, что можно вытащить - можно глянуть в обработчике ошибок харбора:
source\rtl\errorsys.prg
src\rtl\errsys.prg

Можно вытащить и номера строк: см. метод и функцию ProcLine()

Кстати, может быть лучше в FrNotifyError() просто вызывать стандартный обработчик ошибок харбора ?
Тогда и с перекодировкой вопроса не будет
Но в консольной версии в этом случае будет выскакивать не гуевое окошко, а текстовое..


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 499
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 19.05.11 14:47. Заголовок: Pasha пишет: Кстати..


Pasha пишет:

 цитата:
Кстати, может быть лучше в FrNotifyError() просто вызывать стандартный обработчик ошибок харбора ?
Тогда и с перекодировкой вопроса не будет
Но в консольной версии в этом случае будет выскакивать не гуевое окошко, а текстовое..



Нет, так не получится. Дизайнер всегда, а предпросмотр в 90% случаев жестко модальны. Поэтому и графическое окно может "не пробиться", а уж консольное так и останется за дизайнером, в задизейбленном состоянии. Поэтому здесь правильно выводить харборную ошибку именно окном FRH.

Ok. Думаю сделаю так. Добавлю еще один параметр в Init() типа SystemIsOEM умолчательно .f., там же в FrLoad() протолкну его к себе. Ну и при ошибке буду на него ориентироваться. По ProcLine() и ProcName() стэк выведу, вопрос только ProcLine() и ProcName() они то всегда прилинкованы гарантировано?



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1941
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.05.11 15:06. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
вопрос только ProcLine() и ProcName() они то всегда прилинкованы гарантировано?



Не гарантированно, но практически всегда
Ссылка на них есть через тот же errorsys, getsys, browse
Если кто-то все это намеренно обрубил, тогда их может не быть, но это очень постараться надо

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1942
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.05.11 15:15. Заголовок: Но на это можно не з..


Но на это можно не заморачиваться, просто указать их в EXTERNAL в fastreph.ch

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 500
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 19.05.11 15:20. Заголовок: Pasha пишет: Но на ..


Pasha пишет:

 цитата:
Но на это можно не заморачиваться, просто указать их в EXTERNAL в fastreph.ch



Ok. Спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1782
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.06.11 13:25. Заголовок: Ну как там успехи по..


Ну как там успехи по поводу избавлений "крокозяб" в ошибках и номерах строк ошибки ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1784
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.06.11 13:28. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
+ добавлен новый фильтр экспорта BIFF8 XLS
Это экспорт напрямую в файл Excel, минуя OLE/COM.



В ДЕМО-версии этот вариант будет ?
Может пора ДЕМКУ DLL обновить ?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 539
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.06.11 14:23. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
+ добавлен новый фильтр экспорта BIFF8 XLS



Сергей, посморите, пожалуйста, на скриншоты.
Это в FR:

А это в Excel:


Косяк с числами (цены, суммы) и пустые места - в отчете Memo для формирования рамки.

PS: через OLE экспортируется корректно.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 502
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 11.06.11 10:37. Заголовок: Andrey пишет: Ну ка..


Andrey пишет:

 цитата:
Ну как там успехи по поводу избавлений "крокозяб" в ошибках и номерах строк ошибки ?



Даже в столь короткой фразе умудрился падежи, лица и числа напутать

Andrey пишет:

 цитата:
В ДЕМО-версии этот вариант будет ?
Может пора ДЕМКУ DLL обновить ?



Так скачай свою копию, зачем тебе демка?

PSP пишет:

 цитата:
Сергей, посморите, пожалуйста, на скриншоты.
Это в FR:

А это в Excel:

Косяк с числами (цены, суммы) и пустые места - в отчете Memo для формирования рамки.



Посмотреть не могу, запрещает турецкое правительство Пишет:


5651 sayılı yasa uyarınca katalog suçlar kapsamında yapılan teknik inceleme ve hukuksal değerlendirme sonucunda; bu internet sitesi (photo.qip.ru) hakkında Telekomünikasyon İletişim Başkanlığı'nın 25/10/2010 tarih ve 421.02.00.2010-367945 nolu kararı gereğince İDARİ TEDBİR uygulanmaktadır.

(After technical analysis and legal evaluation based on the catalog crimes of the Law no 5651, Administrative measure has been taken for this website (photo.qip.ru) according to decision no 421.02.00.2010-367945 dated 25/10/2010 of "Telekomünikasyon İletişim Başkanlığı")
http://www.tib.gov.tr | http://www.guvenliweb.org.tr | http://www.ihbarweb.org.tr


Но в любом случае, экспорт свежий, там сейчас активно идут правки, приеду из Турции, пересоберу копии со свежей версией.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1785
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.06.11 15:52. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Так скачай свою копию, зачем тебе демка?



Демка нужна, чтоб не отдавать свой исходник.
Да и в демке нет других функций, добавленных уже после ее создания.
Пишу примеры для демонстраций тех или иных функций.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 503
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.06.11 23:28. Заголовок: Привет, Андрей, во..


Привет,

Андрей, вот так доходчивей будет? Так будет нормально или еще что-то добавить?



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 542
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.06.11 15:50. Заголовок: Сергей, подскажи: ес..


Сергей, подскажи: есть ли в FR понятие тайм-аут? Т.е., есть ли возможность открытый на просмотр отчет закрыть автоматически по истечении тай-аута, если пользователь не проявляет активности?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 504
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.06.11 21:05. Заголовок: PSP пишет: Сергей, ..


PSP пишет:

 цитата:
Сергей, подскажи: есть ли в FR понятие тайм-аут? Т.е., есть ли возможность открытый на просмотр отчет закрыть автоматически по истечении тай-аута, если пользователь не проявляет активности?



Забавная постановка задачи Интересно даже, где такое может быть нужно? Может, достаточно использовать немодальный предпросмотр?

Штатного такого тайм-аута, конечно, нет. Но придумать можно. Надо просто использовать НЕНУЛЕВОЙ отчет. То есть, сначала

:AddReport()

А потом, по своему таймеру:

:RemoveReport()

Если непонятно - спрашивай!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1790
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.06.11 15:34. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Так будет нормально или еще что-то добавить?


Я думаю - в самый раз будет !


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 505
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 19.06.11 21:43. Заголовок: Andrey пишет: Я дум..


Andrey пишет:

 цитата:
Я думаю - в самый раз будет !



Ну тогда качай свою копию. Может быть, где-то во вторник, демку тоже перекомпилю. Не забудь про второй параметр в :Init()

version 4.11
-----------

+ New parameter of :Init() method is added - lSystemIsOEM. This parameter is for
OEM-based systems for correct showing [x]Harbour error-messages at disigner
and preview. For example:

FrPrn := frReportManager():new(,.t.)

Call stack information is added to error-messages.

+ Supports for some Extended Field Types of ADT tables is added. List of supported
datatypes:

-TIMESTAMP
-MODTIME
-IMAGE
-BINARY
-AUTOINC
-ROWVERSION
-DOUBLE
-MONEY


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 543
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 20.06.11 09:42. Заголовок: Привет! Sergey Spir..


Привет!

Sergey Spirin пишет:

 цитата:
Интересно даже, где такое может быть нужно?


При отсутствии активности пользователя в течение определенного времени программа сама завершает работу.
Если открыто окно отчета, то, естественно, не завершает. :)


 цитата:
Может, достаточно использовать немодальный предпросмотр?


Не подходит. Нужно останавливать программу, пока отчет открыт.
И еще: если попытаться создать второй раз отчет, который уже открыт, валится по ошибке.
Видимо, проблема с разделенным доступом. Не разбирался.
К тому же, данные для отчетов беруться из временных динамически создаваемых таблиц.
Эти таблицы удаляются после завершения функции, где формировался отчет.
Наверное, возможны траблы и в этом отношении.
Вобщем, немодальный режим не подходит.


 цитата:
Надо просто использовать НЕНУЛЕВОЙ отчет. То есть, сначала
:AddReport()
А потом, по своему таймеру:
:RemoveReport()
Если непонятно - спрашивай!


Я понял, о чем ты говоришь. :)
Дело в том, что программа "не знает", работает ли пользователь с окном отчета или нет.
Она может его закрыть раньше времени, когда отчет еще нужен.


 цитата:
Штатного такого тайм-аута, конечно, нет. Но придумать можно.


Вот это было бы отлично! Верю в положительное решение вопроса! :)


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 506
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 20.06.11 15:59. Заголовок: PSP пишет:  цитата..


PSP пишет:

 цитата:

 цитата:
Интересно даже, где такое может быть нужно?

При отсутствии активности пользователя в течение определенного времени программа сама завершает работу.
Если открыто окно отчета, то, естественно, не завершает. :)



Это то понятно, непонятно зачем? Зачем это нужно то может быть? Я было подумал, что бухгалтера у вас имеет склонность засыпать перед мониторами А сальдо, например, не посчитано, типа самое время посчитать А тут нет, сразу "на выход"... Ты и комп сразу выключаешь? Энергию экономишь?

PSP пишет:

 цитата:

 цитата:
Надо просто использовать НЕНУЛЕВОЙ отчет. То есть, сначала
:AddReport()
А потом, по своему таймеру:
:RemoveReport()
Если непонятно - спрашивай!

Я понял, о чем ты говоришь. :)
Дело в том, что программа "не знает", работает ли пользователь с окном отчета или нет.
Она может его закрыть раньше времени, когда отчет еще нужен.



C++ немного знаешь? Поставь Hook на текущий поток по мыше и клавиатуре. Смотри функции SetWindowsHookEx, UnhookWindowsHookEx, CallNextHookEx. Про последнюю не забудь, так как Фаст для некоторых целей хуки использует.

Это было бы для твоего приложения универсальным решением, мне же в FRH лишние хуки для такой экзотики тащить не хочется. Если С++ совсем не знаешь, то может быть местные Си-шники смогут помочь...



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1791
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.06.11 16:38. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Ну тогда качай свою копию.


Спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 544
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 20.06.11 20:40. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Это то понятно, непонятно зачем? Зачем это нужно то может быть? Я было подумал, что бухгалтера у вас имеет склонность засыпать перед мониторами А сальдо, например, не посчитано, типа самое время посчитать А тут нет, сразу "на выход"... Ты и комп сразу выключаешь? Энергию экономишь?


Это несколько вопросов или один?


 цитата:
C++ немного знаешь? Поставь Hook на текущий поток по мыше и клавиатуре. Смотри функции SetWindowsHookEx, UnhookWindowsHookEx, CallNextHookEx. Про последнюю не забудь, так как Фаст для некоторых целей хуки использует.

Это было бы для твоего приложения универсальным решением, мне же в FRH лишние хуки для такой экзотики тащить не хочется. Если С++ совсем не знаешь, то может быть местные Си-шники смогут помочь...


Спасибо. Попробую разобраться.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 507
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 20.06.11 21:33. Заголовок: PSP пишет: Это неск..


PSP пишет:

 цитата:
Это несколько вопросов или один?



Да расскажи, любопытно же, для чего это нужно

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 545
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 21.06.11 10:16. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Да расскажи, любопытно же, для чего это нужно


Ничего особенного. Режим работы - файловый. Считаю, что не нужно держать зря открытые файлы базы данных.
Приложение консольное. Никаких отдельных окон и процессов нет. Диалоги открываются один за одним. Закрытие происходит не моментально, а постепенно, в порядке обратном открытию диалогов. На каждый шаг отводится время тайм-аута. Поэтому, для пользователя это не становится неожиданностью, тем более, что в большинстве случаев в этот момент никого перед компьютером нет.
Вот, вкратце. Спасибо за проявленный интерес.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1794
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.06.11 00:24. Заголовок: По доке есть: SendMa..


По доке есть:
SendMail(<cServer>, <nPort>, <cUserField>, <cPasswordField>,;
<cFromField>, <cToField>, <cSubjectField>, <cCompanyField>,;
<cTextField>, <cFileNames>)
Посылает письмо по электронной почте.
Параметры:
<cTextField> и <cFileNames> - строки с разделителями CHR (13) + CHR (10).
Возвращает: если все успешно – пустую строку, иначе текст с ошибкой.
Пример:
cTextField := "Hello" + Chr(13) + Chr(10) + "How are you?"
cFileNames := "C:\MyAttach1.bin"+ Chr(13) + Chr(10) + "C:\MyAttach2.txt"

S := FrPrn:SendMail("someserver.com", 25, "MyUserName", "MyPassword", "from@xxx.ru", "to@xxx.es", "MySubject", "MyCompany", cTextField, cFileNames)

IF S <> ""
MsgBox(S)
ELSE
MsgBox("Mail is sent")
ENDIF

Что то у меня не получается для хХарбора. И как еще сделать БЕГУНОК отсылки письма ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 511
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 22.06.11 00:40. Заголовок: Andrey пишет: Что т..


Andrey пишет:

 цитата:
Что то у меня не получается для хХарбора.



Что не получается то? Ошибка? Что вызывается?

Andrey пишет:

 цитата:
И как еще сделать БЕГУНОК отсылки письма ?



Средствами Фаста никак. Своими (харбурными) средствами выводи.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1801
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.06.11 15:40. Заголовок: Собираю свой тестовы..


Собираю свой тестовый пример.
Не собирается, выдает ошибку:
Building object module for 'obj\FASTREPH.c'
using C compiler 'BCC32' as defined in 'Z:\xHARBOUR\BIN\harbour.cfg'...
Exec: BCC32 -c -D__EXPORT__ -IZ:\xHARBOUR\include -d -LZ:\xHARBOUR\lib -oobj\FASTREPH.obj obj\FASTREPH.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
obj\FASTREPH.c:
Error E2141 FASTREPH.PRG 177: Declaration syntax error
*** 1 errors in Compile ***


Компилятор xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406)
FastRepH.prg из поставки ДЕМО !!!



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1802
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.06.11 16:01. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:

Что не получается то? Ошибка? Что вызывается?



Собрал тест на хХарборе 1.0
Исходник здесь: http://zalil.ru/31343016
Вываливается по ошибке:



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 514
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 27.06.11 18:48. Заголовок: Andrey пишет: Error..


Andrey пишет:

 цитата:
Error E2141 FASTREPH.PRG 177: Declaration syntax error

Andrey пишет:

 цитата:
Собрал тест на хХарборе 1.0
Исходник здесь: http://zalil.ru/31343016
Вываливается по ошибке:



Для начала Андрей, надо бы хоть взглянуть тебе на самое первое сообщение в этой ветке и увидеть, что первый релиз FRH был 11.03.08.... Теперь посмотреть даты FRH, который ВДРУГ ты решил использовать, и увидеть - январь 2008.... Ну что сказать тут.... Я понятия не имею, что там могло ТОГДА не работать в тестовой(!) сборке, которую я когда-то рассылал и которая ни для какой работы не предназначалась, ТЕМ БОЛЕЕ УЖ СЕЙЧАС...

На текущей версии проверил, все работает нормально. Загляни в ящик.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1803
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.06.11 22:43. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
На текущей версии проверил, все работает нормально. Загляни в ящик.


Спасибо, скомпилировалось и заработало.

Если в параметре <server> пишу "mail.ru" - пишет, что все ОК - "Mail is sent !"
Хотя ошибка (записываю в файл): Network is unreachable.(10051)
Если в параметре <server> пишу "smtp.mail.ru" - пишет, что все ОК - "Mail is sent !"
Хотя тоже ошибка: Timeout expired (60)
501 sender address must match authenticated user




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 515
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 27.06.11 23:09. Заголовок: Andrey пишет: Но по..


Andrey пишет:

 цитата:
Но почта не отправляется.
Если в параметре <server> пишу "mail.ru" - пишет, что все ОК - "Mail is sent !"
Хотя ошибка (записываю в файл): Network is unreachable.(10051)
Если в параметре <server> пишу "smtp.mail.ru" - пишет, что все ОК - "Mail is sent !"
Хотя тоже ошибка: Timeout expired (60)
501 sender address must match authenticated user

Так что доку нужно править !!!



Ты скажи, мои 2 письма "от тебя" получил? Если нет, то увы, FRH не поддерживает сервера, требующих с SSL/HTTPS соединения, например gmail и и.д. Возможно mail.ru требует того же.... Если получил, то смотри ошибку у себя.




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1804
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.06.11 23:27. Заголовок: Правильный синтаксис..


Правильный синтаксис (при котором происходит отправка) подобрал опытным путем:
S := FrPrn:SendMail("smtp.mail.ru", 25, "mytest94@mail.ru", "mytest99", "mytest94@mail.ru", "Кому@mail.ru",....
И то через раз происходит, но это наверно беда MAIL.RU !
Попробуйте, у кого как получиться отправлять ?

Так что доку нужно править !!! Вместо "MyUserName" написать "MyUserName@xxx.ru" !

Исходник здесь: http://zalil.ru/31345964

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 516
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 27.06.11 23:48. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Ты скажи, мои 2 письма "от тебя" получил?


Andrey пишет:

 цитата:
Правильный синтаксис (при котором п



Ты будешь отвечать на вопросы?

С mail.ru разбирайся сам В конце концов это виртуальный SMTP. На стандартном SMTP FRH работает нормально, SSL как я сказал не поддерживает....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1805
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.06.11 00:13. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:

Ты будешь отвечать на вопросы?


Буду.
Писем от вас не получал !!!

Свои все получил ! Через раз работает mail.ru !
Буду пробовать через gmail.com !

Как прикрутить БЕГУНОК или таймер ?
Сколько времени ждет отправки - 60 сек ?
У меня через раз проходит и на ошибку не попадает !!!
Попробуйте сами - увидите !

И в почтовом ящике mytest94@mail.ru нет писем в отправленных !
Можно ли как то статистику получить, или они там не отображаются ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 517
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 28.06.11 00:37. Заголовок: Andrey пишет: Буду...


Andrey пишет:

 цитата:
Буду.
Писем от вас не получал !!!



Ну, наконец-то :) Хотя из из следующего поста видно, что проблема с правильностью написания логина/пароля...

Andrey пишет:

 цитата:
Свои все получил ! Через раз работает mail.ru !
Буду пробовать через gmail.com !



Противоречивое утвержднение: ВСЕ ПОЛУЧИЛ - ЧЕРЕЗ РАЗ РАБОТАЕТ MAIL.RU

Еще раз - gmail.com НЕ ПОДДЕРЖИВАЕТСЯ так как требует SSL.

Andrey пишет:

 цитата:
Сколько времени ждет отправки - 60 сек ?



Даю 60 сек.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 518
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 28.06.11 00:40. Заголовок: Andrey пишет: И в п..


Andrey пишет:

 цитата:
И в почтовом ящике mytest94@mail.ru нет писем в отправленных !
Можно ли как то статистику получить, или они там не отображаются ?



Издеваешься? Или просто не понимаешь, что такое SMTP/POP?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1806
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.06.11 01:26. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Издеваешься? Или просто не понимаешь, что такое SMTP/POP?


Да не издеваюсь. Не разбирался я с этим. Вижу The Bat сохраняет, подумал, мож какой параметр включить...
Нельзя, так нельзя...

Sergey Spirin пишет:

 цитата:
Противоречивое утвержднение: ВСЕ ПОЛУЧИЛ - ЧЕРЕЗ РАЗ РАБОТАЕТ MAIL.RU


А у вас как работает ?
Может у меня провайдер письма мои тырит...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 519
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 28.06.11 10:55. Заголовок: Andrey пишет: А у в..


Andrey пишет:

 цитата:
А у вас как работает ?
Может у меня провайдер письма мои тырит...



У меня, если сервер - обычный SMTP, то все проходит без исключений, а если как gmail "с наворотами", то ничего не проходит


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1814
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.07.11 21:47. Заголовок: Возвращаюсь опять к ..


Возвращаюсь опять к варианту ДЕМО !
Нужна версия библиотеки, которая бы собиралась для version 4.11
Как иначе передавать другим в качестве примеров и показа работающие и не работающие программки ?
Это не срочно....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1819
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.07.11 12:18. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Может быть, где-то во вторник, демку тоже перекомпилю.


Ждем....

Добавьте хотя бы отправку почты в старую версию....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1821
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.07.11 18:56. Заголовок: Как убрать диалогово..


Как убрать диалоговое окно при отправки письма ?

Вот код:
// -------------- Построить отчет ----------------------
FrPrn:PrepareReport()
// -------------- email to export ----------------------
FrPrn:SetProperty("MailExport", "FileName" , M->MyFileAttach )
FrPrn:SetProperty("MailExport", "Address" , M->MyAddresWho )
FrPrn:SetProperty("MailExport", "Subject" , M->MySubject )
FrPrn:SetProperty("MailExport.Lines", "Text" , M->MyText, .t.)
FrPrn:SetProperty("MailExport", "FromName" , M->MyFrom )
FrPrn:SetProperty("MailExport", "FromMail" , M->MyFromAdres )
FrPrn:SetProperty("MailExport", "FromCompany", M->MyFromCompany )
FrPrn:SetProperty("MailExport", "Signature" , M->MySignature )
FrPrn:SetProperty("MailExport", "SmtpHost" , M->MySmtpHost )
FrPrn:SetProperty("MailExport", "SmtpPort" , M->MySmtpPort )
FrPrn:SetProperty("MailExport", "Login" , M->MyLogin )
FrPrn:SetProperty("MailExport", "Password" , M->MyPassword )
FrPrn:SetProperty("MailExport", "LogFile" , "mail_log.txt" )
// При UseIniFile = True настройки берутся с реестра,
// при False - из свойств фильтра экспорта
// --- взято с форума: gpi сообщение 7.10.2010, 21:26
FrPrn:SetProperty("MailExport", "UseIniFile" , .F. )
// --- не показывать диалог отправки ---
FrPrn:SetProperty("MailExport", "ShowExportDialog" , .F. )
FrPrn:DoExport("MailExport")

Могу выслать пример...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 522
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 11.07.11 21:39. Заголовок: Andrey пишет: Добав..


Andrey пишет:

 цитата:
Добавьте хотя бы отправку почты в старую версию....



Чего-чего? Отправка почты существует во всех релизных версиях. Это ты умудрился "поднять" аж дорелизную тестовую...

Ладно, завтра как раз вторник, если руки дойдут, то пересоберу демку.

Andrey пишет:

 цитата:
Как убрать диалоговое окно при отправки письма ?
Не хочу чтоб он вообще появлялся...



Он - это кто? Или ты про "оно"?

Andrey пишет:

 цитата:
FrPrn:SetProperty("MailExport", "ShowExportDialog" , .F. )



Интересно Убрать доп. диалог текущего экспорта (pdf, xls и т.д. для MailExport) ты догадался, а почему тогда не догадался убрать диалог у самого MailExport?

FrPrn:SetProperty("MailExport", "ShowDialog" , .F. )

ShowDialog - свойство, которое есть у всех экспортов.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1822
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.07.11 23:02. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
почему тогда не догадался убрать диалог у самого MailExport?


Не знал. Спасибо !!!

А почему окно отправки такое малюсенькое, даже короткий адрес плохо видно и вообще оно какое-то не серьезное ?

Если письмо отправляется, и фокус мышки уводишь на другую программы, то программа ВИСНЕТ наглухо !
Пока не найдеш окно ошибки на экране:


Наверно это окно ошибки лучше сделать МОДАЛЬНЫМ ? Чтоб юзера не терялись и не вопили....
И подписать его "FastReport: Ошибка" или "Ошибка отправки письма"


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 523
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 12.07.11 12:18. Заголовок: Andrey пишет: А поч..


Andrey пишет:

 цитата:
А почему окно отправки такое малюсенькое, даже короткий адрес плохо видно и вообще оно какое-то не серьезное ?



Да, фоток своих натолкать в эти диалоги разработчики FastReport явно забыли Напишите им претензию, даже интересно, насколько далеко пошлют


Демку пересобрал, можно скачивать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1823
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.07.11 14:54. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Демку пересобрал, можно скачивать.



Спасибо большое !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1824
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.07.11 22:49. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Напишите им претензию, даже интересно, насколько далеко пошлют


А куда писать то ?

Как насчет этого ?

Наверно это окно ошибки лучше сделать МОДАЛЬНЫМ ? Чтоб юзера не терялись и не вопили....
И подписать его "FastReport: Ошибка" или "Ошибка отправки письма"
Или это тоже к разработчикам FastReport ?
Если у вас есть исходники на Дельфи, то наверно это окно можете сами сделать ? Чтоб удобней было для юзеров...
Я уже предвижу их вопли...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 524
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 13.07.11 00:23. Заголовок: Andrey пишет: А куд..


Andrey пишет:

 цитата:
А куда писать то ?



Входим логином-паролем (про то какие они, меня не спрашиваем, а ищем у себя) и нажав "Поддержка", создаем новое обращение (простите меня ребята из Fast Report Inc).

Andrey пишет:

 цитата:
Как насчет этого ?
Если письмо отправляется, и фокус мышки уводишь на другую программы, то программа ВИСНЕТ наглухо !
Пока не найдеш окно ошибки на экране:


Наверно это окно ошибки лучше сделать МОДАЛЬНЫМ ?



Если программа "виснет" пока не нажмешь что-то в одном окне, то это окно... модально! Интересно да? Andrey пишет:


 цитата:
Если у вас есть исходники на Дельфи, то наверно это окно можете сами сделать ?



Никогда не делаю никаких правок в коде FR, нет никакого желания сопровождать эти правки при всех обновлениях.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1826
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.07.11 00:56. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Если программа "виснет" пока не нажмешь что-то в одном окне, то это окно... модально! Интересно да?


Если это ОКНО модально, то почему внизу на Панели задач нет этого окна ?
В хХарборе есть:


Мне это без разницы, но ОКНО ошибки по всему экрану искать приходиться. Пожалейте юзеров ....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 525
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 13.07.11 00:59. Заголовок: Andrey пишет: Мне э..


Andrey пишет:

 цитата:
Мне это без разницы, но ОКНО ошибки по всему экрану искать приходиться. Пожалейте юзеров ....



В FastReport всё, в FastReport

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1827
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.07.11 01:14. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
В FastReport всё, в FastReport


Спасибо.

Подскажите пожалуйста тогда, как получить отчет в PDF и отправить этот PDF на емайл ?

// -------------- Построить отчет ----------------------
FrPrn:PrepareReport()
// -------------- email to export ----------------------
FrPrn:SetProperty("MailExport", "FileName" , M->MyFileAttach )
FrPrn:SetProperty("MailExport", "Address" , M->MyAddresWho )
FrPrn:SetProperty("MailExport", "Subject" , M->MySubject )
FrPrn:SetProperty("MailExport.Lines", "Text" , M->MyText, .t.)
FrPrn:SetProperty("MailExport", "FromName" , M->MyFrom )
FrPrn:SetProperty("MailExport", "FromMail" , M->MyFromAdres )
FrPrn:SetProperty("MailExport", "FromCompany", M->MyFromCompany )
FrPrn:SetProperty("MailExport", "Signature" , M->MySignature )
FrPrn:SetProperty("MailExport", "SmtpHost" , M->MySmtpHost )
FrPrn:SetProperty("MailExport", "SmtpPort" , M->MySmtpPort )
FrPrn:SetProperty("MailExport", "Login" , M->MyLogin )
FrPrn:SetProperty("MailExport", "Password" , M->MyPassword )
FrPrn:SetProperty("MailExport", "LogFile" , "mail_log.txt" )
// При UseIniFile = True настройки берутся с реестра,
// при False - из свойств фильтра экспорта
// --- взято с форума: gpi сообщение 7.10.2010, 21:26
FrPrn:SetProperty("MailExport", "UseIniFile" , .F. )
// --- не показывать диалог текущего экспорта ---
FrPrn:SetProperty("MailExport", "ShowExportDialog" , .F. )
// --- не показывать диалог MailExport ---
FrPrn:SetProperty("MailExport", "ShowDialog" , .F. )
FrPrn:DoExport("MailExport")

Наверно вместо
// -------------- Построить отчет ----------------------
FrPrn:PrepareReport()
нужно сделать ЭКСПОРТ этого отчета в PDF ?

А потом как его прицепить к отсылаемому письму ?
Делаю FrPrn:SetProperty("MailExport", "FileName" , M->MyFileAttach ) - в M->MyFileAttach помещаю файл с полным путем. Не помогает....


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 526
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 14.07.11 12:02. Заголовок: Andrey пишет: Подск..


Andrey пишет:

 цитата:
Подскажите пожалуйста тогда, как получить отчет в PDF и отправить этот PDF на емайл ?



Андрей, сначала экспортируем отчет в pdf-файл без диалогов, а потом SendMail()-ом его отправляем.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 527
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.07.11 02:02. Заголовок: Привет. В связи с в..


Привет.

В связи с выходом в ближайшее время FrFox (FastReport for FoxPro), перерабатываю документацию (на английском). Сейчас она уже разрослась больше чем на 60 страниц, и я понимаю, что и раньше она не была легко читаемой, сейчас становится еще менее...

Нормально было бы иметь нормальный chm-файл. Но заниматься этим самому совсем не хочется, поэтому предложение:

- Необходимо из doc/pdf файла сделать chm-файл. Все на английском. Необходимо также все проверить, то есть выполнить некоторую коррекцию, если что-то непонятно, то запросить доп. инфу и т.д. Цель - сделать полноценный chm, с удобным поиском, навигацией и т.д.

- Взамен бесплатная лицензия FRH (или FRAX или FrFox на выбор). Если есть желающие заняться этим, то жду в почту.






Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1831
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.07.11 01:38. Заголовок: 11 июля выпущены Fas..


11 июля выпущены FastReport for COM/ActiveX и FastReport for Business версии 4.9

Что нового?

+ формат картинок во всех экспортах изменён на PNG
+ добавлен экспорт в DBF формат - этот формат востребован при обмене данными модулями различных бизнес-приложений.

А у нас это когда будет ?
Я не тороплюсь, просто спрашиваю....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 559
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 25.07.11 10:14. Заголовок: Andrey пишет: А у н..


Andrey пишет:

 цитата:
А у нас это когда будет ?


Я только что скачал свою копию. Дата 11.07.11
Правда, я не вникал в суть обновления... :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 528
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 25.07.11 10:49. Заголовок: Andrey пишет: 11 ию..


Andrey пишет:

 цитата:
11 июля выпущены FastReport for COM/ActiveX и FastReport for Business версии 4.9

Что нового?

+ формат картинок во всех экспортах изменён на PNG
+ добавлен экспорт в DBF формат - этот формат востребован при обмене данными модулями различных бизнес-приложений.

А у нас это когда будет ?
Я не тороплюсь, просто спрашиваю....



А у нас это уже давно есть :) FastReport for COM/ActiveX и FastReport for Business (бывшая Студия) - это вторичные продукты по отношению к базовой FastReport VCL. В них все/всегда появляется позже.

экспорт в DBF же я пока не публиковал, так как глючит он что-то пока. Фокс получаемый dbf открыть не смог, что странно. Да и зачем вам dbf? У вас своего мало?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1832
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.07.11 13:25. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Да и зачем вам dbf? У вас своего мало?



Да так, до кучи.... Интересно будет как таблицу с логотипом фирмы будет выгружать этот ЭКСПОРТ ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1837
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.08.11 20:36. Заголовок: Разобрался я с отпра..


Разобрался я с отправкой письма через функцию отправки.

Но не могу понять зачем в документации написано:
S := FrPrn:SendMail("someserver.com", 25, "MyUserName", "MyPassword", "from@xxx.ru", "to@xxx.es", "MySubject", "MyCompany", cTextField, cFileNames)

IF S <> ""
MsgBox(S)
ELSE
MsgBox("Mail is sent")
ENDIF

При неправильных данных (адресах) всегда выходит "Mail is sent", хотя письмо не отправляется и получаю ошибку в файл:
Mail is sent !
Timeout expired (60)
535 Incorrect authentication data

Чего я не догоняю ?

Исходник и прога здесь: http://files.mail.ru/GMDK7I

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 529
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 02.08.11 22:47. Заголовок: Andrey пишет: Чего ..


Andrey пишет:

 цитата:
Чего я не догоняю ?



Возможно, что и разболталось за годы... Посмотрю на досуге. По задумке же, текст ошибки и должен возвращаться в S.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1838
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.08.11 07:04. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
По задумке же, текст ошибки и должен возвращаться в S.



Тогда нужно написать:

IF LEN(S) > 0
MsgBox(S)
ELSE
MsgBox("Mail is sent")
ENDIF


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 530
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 03.08.11 10:15. Заголовок: Andrey пишет: Тогда..


Andrey пишет:

 цитата:
Тогда нужно написать:



И в чем разница?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1839
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.08.11 21:08. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:

И в чем разница?



Тогда ошибка правильно появляется:


А почему это так - это нужно спрашивать у наших Гуру !

Вопрос знатокам, в чем различие этих конструкций ?


// --------- работает правильно --------------
IF LEN(S) > 0
MsgBox(S)
ELSE
MsgBox("Mail is sent")
ENDIF



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 563
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.08.11 08:40. Заголовок: Что возвращает SendM..


Что возвращает SendMail? Можно ж в runtime посмотреть.

PS
Хотя, скорее всего все правильно. Так работает сравнение строк:
http://www.ousob.com/ng/53guide/ng11a6ab.php
http://www.ousob.com/ng/53guide/nge677e.php

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 531
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 04.08.11 09:08. Заголовок: PSP пишет: Что возв..


PSP пишет:

 цитата:
Что возвращает SendMail?



SendMail то возвращает пустую строку, если все хорошо, и текст ошибки, если все плохо. Текст ошибки примерно такой как Андрей показал, два квадратика это chr1310.

Да ясно, что "проблема" с "мягким" сравнением строк Типа пустая строка часть любой строки, и поэтому равна любой строке

Самое противное, что я всегда проверяю выкладываемый код. То есть, на какой-то версии [x]Harbour это работало по умолчанию по "нормальному" сравнению. То бишь есть зависимости от версий [x]Harbour... ну, что называется, эффекты "Жopen Source".





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 564
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.08.11 09:20. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Да ясно, что "проблема" с "мягким" сравнением строк Типа пустая строка часть любой строки, и поэтому равна любой строке


Режим сравнения зависит от установки SET EXACT. Нельзя заранее предугадать, какое значение у этого переключателя будет в конечном приложении. Поэтому, имхо, пустые строки лучше "ловить", к примеру, функцией Empty().


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 532
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 04.08.11 11:45. Заголовок: PSP пишет: Нельзя з..


PSP пишет:

 цитата:
Нельзя заранее предугадать, какое значение у этого переключателя будет в конечном приложении.



Я к тому, что и умолчательное значение SET EXACT менялось от сборки к сборке, так как я никогда не переопределяю умолчание в своих тестах.

А кстати, для равенства есть жесткое ==, а для неравенства?



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2014
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.08.11 12:23. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
А кстати, для равенства есть жесткое ==, а для неравенства?



Для неравенства точного сравнения нет, надо пользоваться:
! (x1 == x2)


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1842
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.08.11 22:08. Заголовок: Собрал ваш пример на..


Собрал ваш пример на Harbour 3.0:
http://www.paritetsoft.ru/downloads/frh_demo_simple_console.zip

Пришлось переделывать bat-ник , с тем не пошло.
Наверно добавьте его отдельно:
Compile_bcc-Harbour30.bat
@ECHO ON

@set HB_BIN_INSTALL=Z:\hb30\bin
@set HB_LIB_INSTALL=Z:\hb30\lib\win\bcc\
@set HB_INC_INSTALL=Z:\hb30\include\

del FastDemo.c
del FastRepH.c

%HB_BIN_INSTALL%\harbour SmplDemo.prg -n -i%HB_INC_INSTALL%
%HB_BIN_INSTALL%\harbour FastRepH.prg -n -i%HB_INC_INSTALL%

bcc32 -O2 -d -X -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% SmplDemo.c FastRepH.c harbour-30-bcc.lib hbvm.lib hbrtl.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbcommon.lib gtwin.lib hblang.lib hbcpage.lib hbct.lib hbpcre.lib hbsix.lib hbzlib.lib hbextern.lib hbhsx.lib rddnsx.lib

И функцию в Smpldemo.prg пришлось добавлять:
FUNCTION CurDrive()
RETURN HB_CurDrive()


Размер ЕХЕ-ника небольшой вышел: 300544, правда без harbour-30.dll не запускается....
Наверно в Compile_bcc-Harbour30.bat нужно как-то это указать для малоразбирающихся...




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1844
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.08.11 23:25. Заголовок: Исправленный демо пр..


Исправленный демо пример (который я раньше собирал) для Harbour 3.0 вам на сайт.
Для последней сборки FrSystH.dll
Протестировано, работает !!!
http://files.mail.ru/ZJNQ1J

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 538
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 12.08.11 11:08. Заголовок: Andrey пишет: Разме..


Andrey пишет:

 цитата:
Размер ЕХЕ-ника небольшой вышел: 300544, правда без harbour-30.dll не запускается....



В соседней же ветке подсказали, что надо добавить ws2_32.lib, тогда и будет автономный exe в 2,5 мега.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1845
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.08.11 12:28. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:

В соседней же ветке подсказали,



Да я читал. Просто для других может непонятно будет.
А в примере вам для сайта, я указал в батнике как собирать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1847
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.08.11 14:18. Заголовок: Подскажите как форму..


Подскажите как форму ПРАВИЛЬНО делать.
Задача такова: есть базы с переменным количеством oplata2009.dbf , oplata2010.dbf, oplata2011.dbf (но могут быть еще и с 2000 года быть), алиасы этих баз предаю в FastReport соответственно.
Выходная форма должна быть такая:
http://files.mail.ru/N6DEEC

Или может все базы затолкать в одну ?
Как удобней сделать ?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 541
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 13.08.11 22:24. Заголовок: Andrey пишет: Или м..


Andrey пишет:

 цитата:
Или может все базы затолкать в одну ?



Если "затолкать", то это самое простое - группы. Если не ""заталкивать", то тоже можно, но это динамическое создание всех MasterData.


Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник


Пост N: 542
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 13.08.11 22:34. Заголовок: Andrey пишет: Как у..


Andrey пишет:

 цитата:
Как удобней сделать ?



Ну или Композит по каждому году.

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1848
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.08.11 13:48. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:

Если "затолкать", то это самое простое - группы.



Сделал пример. Базы объединил в одну и создал поле "YEAR" по годам.
Читал в доке описание отчетов по группам, мало что понял.
Подскажите пожалуйста на примере как это сделать !
Заранее спасибо за помощь.
http://files.mail.ru/W5QS7U


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 543
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 15.08.11 00:01. Заголовок: Andrey пишет: Читал..


Andrey пишет:

 цитата:
Читал в доке описание отчетов по группам, мало что понял



Смотри http://www.paritetsoft.ru/downloads/CardYearAll.fr3



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1849
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.11 09:42. Заголовок: Спасибо БОЛЬШОЕ !!! ..


Спасибо БОЛЬШОЕ !!!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1850
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.11 10:19. Заголовок: Какая-то непонятка. ..


Какая-то непонятка.
Вставляю форму в задачу - печать идет со второй страницы.
Увеличить

А в отдельной задаче нормально печатаеся....
Что делать ? Какой параметр нужно подправить ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 544
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 15.08.11 14:53. Заголовок: Andrey пишет: Что д..


Andrey пишет:

 цитата:
Что делать ?



Открывать дизайнер "в задаче" и смотреть почему так. На StartNewPage не похоже, скорее ReportTitle растянул на всю первую страницу.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1852
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.11 18:18. Заголовок: Странно, написал соо..


Странно, написал сообщение, сюда, а его здесь нет !!!
Пишу еще раз.

Нашел разницу. У меня в задаче DLL версии 4.9.98 (не хочется пока менять всем dll-ку)

А в примере версия 4.11 !!!
Форму тупо копирую (переименовав) в свою папку с "задачей" п получаю вот такой результат, как на картинке выше.
Исправленная мной форма: http://zalil.ru/31559019


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1853
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.08.11 19:42. Заголовок: Взял и перекомпилиро..


Взял и перекомпилировал пример с моими личными исходниками для 4.9.98 !
Получилась такая же фигня !!!
Что тогда неладно с моей библиотекой ?

Перекомпилировал под версию 4.11.8 - все нормально. Придется переходить на новую версию...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 545
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 15.08.11 19:46. Заголовок: Andrey пишет: Нашел..


Andrey пишет:

 цитата:
Нашел разницу. У меня в задаче DLL версии 4.9.98 (не хочется пока менять всем dll-ку)



Про 4.9 мне что-то сказать сложно, может и был баг когда-то. Надо обновляться.

В качестве workaround попробуй ReportTitle заменить на просто Header, может поможет, но лучше обновляться.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1867
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.08.11 12:39. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Андрей, сначала экспортируем отчет в pdf-файл без диалогов, а потом SendMail()-ом его отправляем.



Не получается что-то ....
pdf-файл создается, а отправляется fr3 - готовый отчет.
Программа и исходники здесь - http://files.mail.ru/9LLJRG
Отправка письма в myFastReport.prg строка 69 и ниже.

И еще вопрос: можно ли дополнительно к отчету прикрепить DOC-файл или любой другой ?
По документации есть параметр:
FrPrn:SetProperty("MailExport", "FileName" , cFileAttach )

За что он отвечает ?
Пробовал туда добавлять список файлов, ничего не отправляет !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 546
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 29.08.11 23:01. Заголовок: Andrey пишет: Не по..


Andrey пишет:

 цитата:
Не получается что-то ....



Андрей, я сейчас в Эмиратах, приеду в Москву 1-го сентября поздно вечером, посмотрю уже второго...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1869
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.08.11 01:50. Заголовок: Хорошо, ждем... :sm..


Хорошо, ждем...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1880
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.09.11 08:59. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Андрей, я сейчас в Эмиратах, приеду в Москву 1-го сентября поздно вечером, посмотрю уже второго...



Уже 7-е сентября.... Я понимаю дел много по приезду, но может чуть-чуть времени найдется...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 161
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 07.09.11 19:50. Заголовок: Подскажите пожалуйст..


Подскажите пожалуйста, как сделать, чтобы в RTF-файле, выводимом в заголовке отчёта, в текст можно было вставлять содержимое DBF-полей?
Rich1.Richedit.Lines.LoadFromFile('PATTERN.RTF')
Такое RTF выпечатывается один раз на группу верхнего уровня (фирмы) и каждый раз в него нужно вставлять реквизиты новой фирмы.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 548
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 08.09.11 00:41. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Подскажите пожалуйста, как сделать, чтобы в RTF-файле, выводимом в заголовке отчёта, в текст можно было вставлять содержимое DBF-полей?
Rich1.Richedit.Lines.LoadFromFile('PATTERN.RTF')
Такое RTF выпечатывается один раз на группу верхнего уровня (фирмы) и каждый раз в него нужно вставлять реквизиты новой фирмы.



Точно также как и в проcтом Memo. То есть, выражения дожны быть в квадратных скобках. Например:

Dear [Customers."Contact"]!
....



Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник


Пост N: 549
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 08.09.11 00:44. Заголовок: Andrey пишет: Уже 7..


Andrey пишет:

 цитата:
Уже 7-е сентября.... Я понимаю дел много по приезду, но может чуть-чуть времени найдется...



Андрей, письмо твоё новое получил, естественно, сейчас я не помню, что там было. Поэтому, давай, формулируй здесь, что хочешь сделать, и главное, что не получается.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 162
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 08.09.11 09:50. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Точно также как и в проcтом Memo. То есть, выражения дожны быть в квадратных скобках. Например:

Dear [Customers."Contact"]!



ОГРОМНОЕ СПАСИБО

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1884
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.09.11 19:38. Заголовок: Сначала этот вопрос ..


Сначала этот вопрос хотелось бы доделать.

Sergey Spirin пишет:

 цитата:
Андрей, сначала экспортируем отчет в pdf-файл без диалогов, а потом SendMail()-ом его отправляем.



Не получается что-то ....
pdf-файл создается, а отправляется fr3 - готовый отчет.
Программа и исходники здесь - http://files.mail.ru/8Z40Z8
Отправка письма в myFastReport.prg строка 69 и ниже.

И еще вопрос: можно ли дополнительно к отчету прикрепить DOC-файл или любой другой ?
По документации есть параметр:
FrPrn:SetProperty("MailExport", "FileName" , cFileAttach )

За что он отвечает ?
Пробовал туда добавлять список файлов, ничего не отправляет !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1894
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.09.11 08:48. Заголовок: Смотрю отвечаете на ..


Смотрю отвечаете на вопросы в
"FastReport for [x]Harbour, Alaska Xbase++, Visual FoxPro" <fastreport_for_x_harbour@googlegroups.com>
А сюда на форум когда придете ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 552
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 30.09.11 17:55. Заголовок: Andrey пишет: Смотр..


Andrey пишет:

 цитата:
Смотрю отвечаете на вопросы в
"FastReport for [x]Harbour, Alaska Xbase++, Visual FoxPro" <fastreport_for_x_harbour@googlegroups.com>



Привет, Андрей. Отвечаю я на конкретные вопросы, конкретные ответы. С этим особых задержек ни на каком форуме не будет.

Andrey пишет:

 цитата:
А сюда на форум когда придете ?



Я никуда и не уходил. Поэтому, напрягитесь и задайте, наконец, конкретные вопросы, если вам что-то непонятно. На такое же:

Andrey пишет:

 цитата:
Не получается что-то ....
pdf-файл создается, а отправляется fr3 - готовый отчет.



Andrey пишет:

 цитата:
По документации есть параметр:
FrPrn:SetProperty("MailExport", "FileName" , cFileAttach )
За что он отвечает ?



Я отвечать, естественно, не буду. Это за гранью моего восприятия реальности. Как не буду искать ваши харборные ошибки или делать за вас отчеты.

Так что жду от вас конкретных вопросов.






Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2162
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.04.12 12:16. Заголовок: И кто теперь будет д..


И кто теперь будет делать нам FastReport ?

Тут обнаружил нужную вещь:
http://www.fast-report.com/documentation/UserManFrNET-ru/index.html?zipcodeobject.htm

Теперь и спросить не у кого....

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2359
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.04.12 12:19. Заголовок: Andrey пишет: И кто..


Andrey пишет:

 цитата:
И кто теперь будет делать нам FastReport ?


Спроси Елену.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2775
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.04.13 19:38. Заголовок: Вопрос - кто работае..


Вопрос - кто работает с ФастРепортом ?
В форме


Использую свою функцию:
[Say_Sel_Dim(<NACHIS_ALL."KOD_UK">,'DB_UK','Name_UK',True)]
Она отрабатывает нормально ! Поле "KOD_UK" в базе NACHIS_ALL равно N 5,0

Но если применяю эту функцию на другом поле:
[Say_Sel_Dim(<NACHIS_ALL."KOD_PL">,'EIRC','ADRES',True)]
(поле "KOD_PL" равно N 14,0) - вылетаю по ошибке:



Как исправить ?
Я так подозреваю, что Дельфи где-то у себя создает ошибку...




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 201
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.04.13 10:21. Заголовок: Andrey пишет:Как исп..


Andrey пишет:
 цитата:
Как исправить ?


С ФастРепортом не работаю, а сообщение не говорит о переполнении ? Может где то мусор затесался или длину поля уменьшить ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2777
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.04.13 14:26. Заголовок: SergKis пишет: или..


SergKis пишет:

 цитата:
или длину поля уменьшить ?


Нельзя ! Это код плательщика (л/счет) абонента по Москве....
Скорее всего это в Дельфи тип числа другой... Я не эксперементировал, но думаю N 9-10 пройдет, а вот N 14 не проходит.
Я уже на нескольуих полях попробовал, как N14, так перестает работать !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 202
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.04.13 14:58. Заголовок: Andrey пишет:Нельзя ..


Andrey пишет:
 цитата:
Нельзя ! Это код плательщика (л/счет) абонента по Москве....
Скорее всего это в Дельфи тип числа другой..


FastReport - это отчеты, почему N14 не превратить C14, поле не суммируемое ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 203
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.04.13 15:13. Заголовок: Andrey Превратить N1..


Andrey
Превратить N14 в C14 можно не переписывая dbf функцией от Pasha из dbedit170.7z:
HB_FUNC( FIELDRENAME ).
FeldRename(OldName, NewName, Type [, len [, dec]])


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2779
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.04.13 16:34. Заголовок: SergKis пишет: Прев..


SergKis пишет:

 цитата:
Превратить N14 в C14 можно не переписывая dbf функцией


Спасибо за совет ! Попробую....

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 30
Зарегистрирован: 15.11.12
ссылка на сообщение  Отправлено: 19.04.13 14:47. Заголовок: объясните как (и где..


объясните как (и где) можно приобрести FastReport for [x]Harbour.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3054
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.04.13 14:57. Заголовок: yukirin Попробуй сп..


yukirin
Попробуй спросить по этому email
spirina@paritetsoft.ru

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 268 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 76
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет