Автор | Сообщение |
|
| постоянный участник
|
Пост N: 129
Зарегистрирован: 25.12.07
|
|
Отправлено: 10.03.08 23:53. Заголовок: ANN: Вышел релиз FastReport for [x]Harbour (продолжение)
|
|
|
Ответов - 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. |
| Теперь буду помнить...
|
|
|
|
| постоянный участник
|
Пост N: 1163
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.03.10 01:32. Заголовок: Сделал я "мастер..
Сделал я "мастер-детальную связь" ! Работает нормально ! Можно посмотреть "пример 1". Начал дальше развивать эту тему, но столкнулся с проблемой: Пример 2 - не работает "мастер-детальная связь" Делаю также как и в Примере 1, а он все равно не работает.... По NN=2048 (это первый адрес - красный цветом, База Мастер) выскакивают все записи базы-деталь (синяя NN - первая строчка) ! Итак по всей Мастер-базе... Разъясните мне пожалуйста в чем тут дело ? Ссылка для скачки демо-примера: http://files.mail.ru/G9W6H8
|
|
|
|
| постоянный участник
|
Пост 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 не устанавливается.
|
|
|
|
| постоянный участник
|
Пост N: 1167
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.03.10 01:07. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Это что за SetResyncPair()? Ну я же в прошлых постах говорил, что SetResyncPair НЕ НУЖЕН при MasterDetail. |
| Это случайно осталось.... Убрал раньше. Учел ваши замечания ! Все равно не работает ! Sergey Spirin пишет: цитата: | Ваша задача понять, почему, собственно, Scope не устанавливается. |
| Я так и не понял, почему этот Scope не устанавливается ....
|
|
|
|
| постоянный участник
|
Пост 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-ник, чтобы я мог его компилировать и я разберусь, в чем там у вас дело. Жду.
|
|
|
|
| постоянный участник
|
Пост N: 1169
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.03.10 11:37. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: Убрал конечно ! Все ваши рекомендации выполнил. Не работает. Sergey Spirin пишет: цитата: | Так, добавьте в пример bat-ник, чтобы я мог его компилировать и я разберусь, в чем там у вас дело. Жду. |
| Bat-ник уже есть в проекте. Запуск С:\xHarbour\bin\hbmake Frx-Dbase.bc , т.е. Харборовская утилита hbmake.exe сама проверяет и компилирует этот проект.
|
|
|
|
| постоянный участник
|
Пост 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'
|
|
|
|
| постоянный участник
|
Пост N: 1171
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.03.10 22:28. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Угу. Кроме того что path надо прописывать, еще терминалы какие-то |
| Извиняюсь, не учел этого. Это по терминологии Аляски - гибридный терминал. Собирается дополнительно из CONTRIB'ов... Удалил и переделал на стандартный... Ссылка для скачивания: http://files.mail.ru/N4KZC3
|
|
|
|
| постоянный участник
|
Пост N: 329
Зарегистрирован: 25.12.07
|
|
Отправлено: 27.03.10 10:16. Заголовок: Гм... Пересобрал, ни..
Гм... Пересобрал, ничего не менял, все работает без единого изменения Что делать будем?
|
|
|
|
| постоянный участник
|
Пост N: 330
Зарегистрирован: 25.12.07
|
|
Отправлено: 27.03.10 10:59. Заголовок: Ан нет, это у вас фи..
Ан нет, это у вас фильтр не удален в отчете..... Счас буду смотреть.
|
|
|
|
| постоянный участник
|
Пост 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} } ) Давайте, внимательней! А то, из-за банальных опечаток рождаются фантазии с другом дельфистом
|
|
|
|
|
| постоянный участник
|
Пост 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.
|
|
|
|
| постоянный участник
|
Пост N: 1172
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.03.10 17:15. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Фу, Андрей, ну надо же быть внимательным, елы-палы!!!!!! |
| Каюсь... Ну что поделаешь, такие вещи встречается иногда... Причем как не заработал код в моей большой системе, так этот код перетащил в отдельный пример. Так эту же ошибку перетащил тоже... В следующий раз буду внимательней ! Sergey Spirin пишет: цитата: | SetMasterDetail() возвращает True-False успешности действия. |
| А за это спасибо тоже, учту и применю у себя.
|
|
|
|
| постоянный участник
|
Пост N: 1173
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.03.10 13:15. Заголовок: Спасибо большое ! С ..
Спасибо большое ! С меня коньяк ! Где пересечемся ?
|
|
|
|
| постоянный участник
|
Пост 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 Подскажите, пожалуйста, в чём может быть проблема?
|
|
|
|
| постоянный участник
|
Пост N: 333
Зарегистрирован: 25.12.07
|
|
Отправлено: 29.03.10 11:53. Заголовок: Andrey пишет: Спаси..
Andrey пишет: цитата: | Спасибо большое ! С меня коньяк ! Где пересечемся ? |
| Ну, может, когда и пересечемся. Я в Москве живу
|
|
|
|
| постоянный участник
|
Пост 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 Подскажите, пожалуйста, в чём может быть проблема? |
| Разные компиляторы, наверное. Только Варнинги? Ошибок нет? Собирается, работает?
|
|
|
|
| постоянный участник
|
Пост N: 1176
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.03.10 13:48. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: Да я тоже рядом, в ближнем Подмосковье ! В спальном районе Москвы. Несколько раз за месяц езжу в Москву. Так что можно пересечься ....
|
|
|
|
| постоянный участник
|
Пост N: 59
Зарегистрирован: 27.07.08
|
|
Отправлено: 30.03.10 08:45. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Разные компиляторы, наверное. Только Варнинги? Ошибок нет? Собирается, работает? |
| Собираться-то оно собирается, даже дизайнер вылазит. Но почему-то ни одной строчки в отчётах.
|
|
|
|
| постоянный участник
|
Пост N: 335
Зарегистрирован: 25.12.07
|
|
Отправлено: 30.03.10 12:16. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Собираться-то оно собирается, даже дизайнер вылазит. Но почему-то ни одной строчки в отчётах. |
| Ok. Так, какой там Харбур/хХарбур используется, какой С компилятор? Ну, и где эту штуку можно скачать, дайте ссылку.
|
|
|
|
| постоянный участник
|
Пост N: 60
Зарегистрирован: 27.07.08
|
|
Отправлено: 30.03.10 18:04. Заголовок: Качать отсюда FastRe..
Качать отсюда FastReport for Harbour Используется последняя версия OOHG, самый последний Харбор и компилятор MinGW 5.1.06
|
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост N: 1181
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.03.10 22:31. Заголовок: Приветствую ! Это оп..
Приветствую ! Это опять я с предыдущим отчетом.... Как можно сделать, чтоб АДРЕС и СПИСОК КВАРТИР не разрывались ?
|
|
|
|
| постоянный участник
|
Пост N: 337
Зарегистрирован: 25.12.07
|
|
Отправлено: 31.03.10 08:49. Заголовок: Andrey пишет: Как м..
Andrey пишет: цитата: | Как можно сделать, чтоб АДРЕС и СПИСОК КВАРТИР не разрывались ? |
| У бэндов мастера и детали поставьте свойство KeepTogerther в True. KeepTogerther - по русски это "держаться вместе".
|
|
|
|
| постоянный участник
|
Пост 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 работает и не глючит!
|
|
|
|
| постоянный участник
|
Пост 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?
|
|
|
|
| постоянный участник
|
Пост 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() Вот результат: Так что конкретней говорите, что значит "почему-то ни одной строчки в отчётах"? А насчет варнингов, давно собираюсь сесть и по возможности причесать код так, чтоб "нравился" всем компиляторам
|
|
|
|
| Администратор
|
Пост N: 1385
Зарегистрирован: 23.05.05
|
|
Отправлено: 31.03.10 13:12. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | А что, вообще, это за компилятор gcc? |
| Это, наверное, mingw. А насчет предупреждений - у этого компилятора более строгие правила по типизации данных, вот он и выдает варнинги, которые в bcc такими не рассматриваются. Но предупреждение - не ошибка, должно работать.
|
|
|
|
| постоянный участник
|
Пост 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 После такой замены нет ни одного варнинга В общей сборке я на выходных поменяю.
|
|
|
|
| постоянный участник
|
Пост 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 |
| Кстати, и "Ваша" проблема похоже растет оттуда же. Сделайте такую замену, которую я описал выше и попробуйте.
|
|
|
|
|
| постоянный участник
|
Пост N: 355
Зарегистрирован: 27.01.07
|
|
Отправлено: 31.03.10 15:32. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Сделайте такую замену, которую я описал выше и попробуйте. |
| Я один раз компилю в obj и потом просто его линкую. Меня варнинги сейчас не беспокоят. Подожду изменений в общей сборке. Спасибо.
|
|
|
|
| постоянный участник
|
Пост N: 62
Зарегистрирован: 27.07.08
|
|
Отправлено: 31.03.10 16:45. Заголовок: Я попробовал заменит..
Я попробовал заменить, но у меня саму среду, судя по всему, переставлять надо. Я над ней слишком уж много экспериментов делал. Жду свежей сборки. ИМХО, версия на BCC xHarbour работает быстрее, чем на MinGW Harbour. Извините за холивор, если что.
|
|
|
|
| постоянный участник
|
Пост N: 1182
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.03.10 22:22. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | У бэндов мастера и детали поставьте свойство KeepTogerther в True. KeepTogerther - по русски это "держаться вместе". |
| Спасибо БОЛЬШОЕ !!!
|
|
|
|
| постоянный участник
|
Пост N: 345
Зарегистрирован: 25.12.07
|
|
Отправлено: 04.04.10 14:39. Заголовок: Пересобрал FRH с вер..
Пересобрал FRH с версией 4.9.48. У меня просьба, если у кого-то будут варнинги или хинты на каких-то комбинациях компиляторов, то сообщайте, плиз, сюда об этом.
|
|
|
|
| постоянный участник
|
Пост 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" А то я библиотеку называю другим именем и каждый раз менять приходиться ? Забываешь, приходишь к заказчику и облом... Формы не печатаются....
|
|
|
|
| постоянный участник
|
Пост N: 377
Зарегистрирован: 27.01.07
|
|
Отправлено: 07.04.10 08:24. Заголовок: Все чисто (Harbour 2..
Все чисто (Harbour 2 и BCC). Спасибо.
|
|
|
|
| постоянный участник
|
Пост 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 править, это плохая практика.
|
|
|
|
| постоянный участник
|
Пост N: 1209
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.04.10 22:59. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | И не надо сторонние prg править, это плохая практика. |
| Вот спасибо, а то я пробовал делать что-то подобное, но у меня не получилось. Спасибо большое...
|
|
|
|
| постоянный участник
|
Пост N: 1215
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.04.10 11:54. Заголовок: Периодически сталкив..
Периодически сталкиваюсь с такой проблемой: Нельзя ли обойтись без "QUIT", а то пользователь вылетает из программы, а я репу чешу, что-там случилось..... ? Они (пользователи) смекалистые... И на них управу не найти.... Конечно, можно проверять - есть ли файл на диске, а он может быть в другой папке и т.д. И еще бы проверку версий сделать !!! Т.е. чтоб можно было бы получить НОМЕР ВЕРСИИ сборки FrSystH.dll !!! Очень нужно !!!
|
|
|
|
| постоянный участник
|
Пост N: 347
Зарегистрирован: 25.12.07
|
|
Отправлено: 08.04.10 15:35. Заголовок: Andrey пишет: Нельз..
Andrey пишет: цитата: | Нельзя ли обойтись без "QUIT", а то пользователь вылетает из программы, а я репу чешу, что-там случилось..... ? Они (пользователи) смекалистые... И на них управу не найти.... Конечно, можно проверять - есть ли файл на диске, а он может быть в другой папке и т.д. |
| Ну не знаю, все-таки это ошибка - целой либы нет на месте, сперли Как-то одним алертом здесь обходится ... не кудряво. Поэтому ошибку и генерю. Если у вас такие проблемы, то вам лучше просто самому ошибку обрабатывать. И все. Andrey пишет: цитата: | И еще бы проверку версий сделать !!! Т.е. чтоб можно было бы получить НОМЕР ВЕРСИИ сборки FrSystH.dll !!! Очень нужно !!! |
| Ну, это пожалйста: FrPrn:GetProperty("Report", "Version") Интересно, а зачем нужно?
|
|
|
|
|
| постоянный участник
|
Пост N: 1217
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.04.10 17:12. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Интересно, а зачем нужно? |
| Обновлять библиотеку нужно под новые формы. А так забудешься и облом.... Сделаю проверку у себя в программе и при старте буду проверять версию DLL-ки. А уж пользователь сам мне потом будет сообщать что у него старая DLL-ка....
|
|
|
|
| постоянный участник
|
Пост N: 348
Зарегистрирован: 25.12.07
|
|
Отправлено: 08.04.10 17:35. Заголовок: Andrey пишет: Обнов..
Andrey пишет: цитата: | Обновлять библиотеку нужно под новые формы. А так забудешься и облом.... Сделаю проверку у себя в программе и при старте буду проверять версию DLL-ки. |
| В смысле? Вы, что, думаете, что отчет сделанный, например, в дизайнере 4.9.x, не будет работать под 4.7? Почему вы так решили? Вообше-то, версия на то и версия, что в течении ее формат стабилен. Актуально это будет с выходом 5-ки, который ожидается осенью.
|
|
|
|
| постоянный участник
|
Пост 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 и выдал сообщение, если нужно обновить ! И все....
|
|
|
|
| постоянный участник
|
Пост N: 349
Зарегистрирован: 25.12.07
|
|
Отправлено: 09.04.10 08:35. Заголовок: Andrey пишет: Не бу..
Andrey пишет: цитата: | Не будет ! У меня версия 4.5 раньше стояла и сейчас стоит у многих ! А в 4.7 появились новые функции, а 4.8 еще и это: FrPrn:SetTxtDataSet("MyText", "C:\MyText.txt") и т.д. |
| А, ну да, про собственный добавляемый функционал я подзабыл А как так получается, что пользователь может обновить отчеты, не обновив при этом либу? Он, что, руками отдельные файлы обновляет?
|
|
|
|
| постоянный участник
|
Пост N: 1219
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.04.10 17:38. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | А как так получается, что пользователь может обновить отчеты, не обновив при этом либу? |
| Да кто ж его знает.... У меня были умельцы, как они это делают ? И вдобавок ко всему мужики, настройщики компьютеров.... Ставят последнее обновление, а потом откуда-то вытаскивают старые обновления... Вот так-то !
|
|
|
|
| постоянный участник
|
Пост N: 363
Зарегистрирован: 25.12.07
|
|
Отправлено: 02.05.10 19:50. Заголовок: Привет! Почему-то у..
Привет! Почему-то у буржуйских пользователей FRH, один из "самых спрашиваемых вопросов" это - как печатать этикетки... В конце концов сделал пример, если у кого-то есть подобные вопросы, то можете скачать посмотреть. Качать с главной FRH-страницы: http://www.paritetsoft.ru/frh.htm
|
|
|
|
| постоянный участник
|
Пост 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, так что тут тоже не придерёшься. На другом компьютере у шефа моя программа почему-то "тянет" при загрузке, хотя его компьютер более быстродействующий, чем мой ноутбук.
|
|
|
|
| постоянный участник
|
Пост 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.
|
|
|
|
| постоянный участник
|
Пост N: 66
Зарегистрирован: 27.07.08
|
|
Отправлено: 12.05.10 17:51. Заголовок: В том-то и дело, что..
В том-то и дело, что всё нормально копируется и при последующих запусках. А как сделать, чтобы программа запускала эту FrSystH.dll только из своей корневой директории? (п.2 поиска сделать п.1)
|
|
|
|
| постоянный участник
|
Пост 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")
|
|
|
|
| постоянный участник
|
Пост N: 67
Зарегистрирован: 27.07.08
|
|
Отправлено: 12.05.10 18:52. Заголовок: Спасибо! А какая в ..
Спасибо! А какая в Харборе функция определяет букву текущего диска. Потому, что у меня она может быть, как С: (локальный), так и Е: (сетевой)
|
|
|
|
| постоянный участник
|
Пост N: 906
Зарегистрирован: 09.10.06
|
|
Отправлено: 12.05.10 19:25. Заголовок: CurDrive() или hb_Cu..
CurDrive() или hb_CurDrive()/CurDrive(), в зависимости от того, что вы определяете словом Харбор. Но этот вопрос никакого отношения к FastReport не имеет.
|
|
|
|
| постоянный участник
|
Пост N: 68
Зарегистрирован: 27.07.08
|
|
Отправлено: 13.05.10 14:31. Заголовок: Большое спасибо! Поп..
Большое спасибо! Попробовал FrPrn := frReportManager():new(CURDRIVE()+":\"+CURDIR()+"\FrSystH.dll") У меня пока идёт. Скоро опять к шефу. Надеюсь, что и у него всё работать будет.
|
|
|
|
| |
Пост N: 1648
Зарегистрирован: 17.05.05
|
|
Отправлено: 13.05.10 14:45. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | У меня пока идёт. Скоро опять к шефу. Надеюсь, что и у него всё работать будет. |
| Все будет нормально и у шефа
|
|
|
|
| постоянный участник
|
Пост N: 1281
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.05.10 14:32. Заголовок: Можно ли узнать (вер..
Можно ли узнать (вернуть в Харбор) отправлен ли документ на печать или только его посмотрели и не печатали ? Это нужно для того что бы вести журнал напечатанных документов !
|
|
|
|
| постоянный участник
|
Пост N: 376
Зарегистрирован: 25.12.07
|
|
Отправлено: 14.05.10 17:09. Заголовок: Andrey пишет: Можно..
Andrey пишет: цитата: | Можно ли узнать (вернуть в Харбор) отправлен ли документ на печать или только его посмотрели и не печатали ? |
| Можно. Поставьте обработчик на событие OnAfterPrintReport. Смотрите метод :SetEventHandler().
|
|
|
|
| постоянный участник
|
Пост N: 1297
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.05.10 12:37. Заголовок: Можно ли в Дизайнере..
Можно ли в Дизайнере посмотреть значение полей в БД ?
|
|
|
|
| постоянный участник
|
Пост N: 380
Зарегистрирован: 25.12.07
|
|
Отправлено: 22.05.10 15:43. Заголовок: Andrey пишет: Можно..
Andrey пишет: цитата: | Можно ли в Дизайнере посмотреть значение полей в БД ? |
| Гм... Бросить мастер-дату, на нее поля, и нажать F9... В чем вопрос? P.S. C OnAfterPrintReport то получилось?
|
|
|
|
| постоянный участник
|
Пост N: 1300
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.05.10 18:37. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | C OnAfterPrintReport то получилось? |
| Нет не получается....
|
|
|
|
| постоянный участник
|
Пост N: 381
Зарегистрирован: 25.12.07
|
|
Отправлено: 22.05.10 19:09. Заголовок: Andrey пишет: Нет н..
Andrey пишет: Что не получается? Что делаете?
|
|
|
|
| постоянный участник
|
Пост 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, не прокатило
|
|
|
|
| постоянный участник
|
Пост N: 1345
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.06.10 19:14. Заголовок: Вопрос удобства ! В..
Вопрос удобства ! Взял свою готовую форму (было 2 базы). Удалил ненужную БАЗУ, АЛИАС тоже удалил. По всем полям прошелся, нет на экране ПОЛЕЙ удаленной базы. Вызываю просмотр, высвечивается ошибка: Набор данных "ХХХХ" не найден ! Ну я его же удалил. КАК ИСКАТЬ ЭТУ фигню УДАЛЕННУЮ на форме ??? Когда мало полей еще ничего, а если много то ....
|
|
|
|
| постоянный участник
|
Пост N: 69
Зарегистрирован: 27.07.08
|
|
Отправлено: 18.06.10 16:56. Заголовок: И ещё один вопросик...
И ещё один вопросик. Как сделать так, чтобы в FastReport строка выпечатывалась только при определённых условиях, например, если заполнено одно из полей даты? Как сделать, чтобы Visible было не только TRUE и FALSE, но и условное, например !(EMPTY(DATAFIELD)) Подскажите пожалуйста.
|
|
|
|
| |
Пост 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;
|
|
|
|
| постоянный участник
|
Пост N: 1375
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.06.10 00:41. Заголовок: Наверно эта ветка за..
Наверно эта ветка закрыта до окончания отдыха ? Приятного отдыха Sergey !!!
|
|
|
|
| постоянный участник
|
Пост 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). А тут приезжаю - есть такая, сразу вас вспомнил
|
|
|
|
| постоянный участник
|
Пост 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>
|
|
|
|
| постоянный участник
|
Пост N: 1394
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.07.10 16:34. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | - Как найти поле, в котором ошибка? Ну, вообще, когда происходит ошибка, то указывается имя объекта, в котором она произошла. Ну а найти этот объект всегда можно в дереве объектов. |
| Нет нельзя ! Сделайте сам и поймете в чем дело ! Берем готовую форму, подключаем ДРУГУЮ базу, правим поля в форме на новую базу и ИМЕЕМ те ошибки о которых я писал. И невозможно найти ПОЛЯ на какие выдаются ошибки... Т.е. переменная Memo20 выдается на ней ошибка, смотришь ее - НАПИСАНО ПРАВИЛЬНО !!! Лезешь в форму Far'ом и там в конце свойства прописаны другого поля из ДРУГОЙ базы, которую уже убрали ! Это я только потом допер что за фигня появляется !!! Вопрос остается открытым: КАК НАЙТИ и УБРАТЬ ошибку: Набор данных "ХХХХ" не найден !
|
|
|
|
| постоянный участник
|
Пост N: 387
Зарегистрирован: 25.12.07
|
|
Отправлено: 05.07.10 22:59. Заголовок: Andrey пишет: Вопро..
Andrey пишет: цитата: | Вопрос остается открытым: КАК НАЙТИ и УБРАТЬ ошибку: Набор данных "ХХХХ" не найден ! |
| Достаточно просто Если в отчете сменился набор датасетов, то, очевидно, что упоминания об "утраченном" датасете в отчете остались, однако в глобальном списке его уже нет. Чтобы обновить ссылки зайдите "Отчет"->"Данные" и просто нажмите "Ok" (даже,если не делаете там изменений). Ссылки обновятся, и ошибки "по Мемам" станут более осмысленными.
|
|
|
|
| постоянный участник
|
Пост N: 1395
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.07.10 23:05. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Чтобы обновить ссылки зайдите "Отчет"->"Данные" и просто нажмите "Ok" (даже,если не делаете там изменений). Ссылки обновятся, и ошибки "по Мемам" станут более осмысленными. |
| Спасибо ! Еще один вопрос по языкам ! Мне нужны формы на русском и украинском языках ! Если я переключаюсь на украинский язык, то все суммы остаются в русском языке (руб.коп). А как можно сделать переключение на украинский, чтоб суммы были на украинском (гривны) ? Самый простой выход держать 2 формы: на русском и украинском ! Но у меня порядка 50 форм, не хотелось бы раздувать кол-во файлов !
|
|
|
|
| постоянный участник
|
Пост 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; Вообще же говоря, в вашем случае, по уму у вас в программе должен определяться тип валюты и он должен в отчетах использоваться - это наиболее грамотно.
|
|
|
|
| постоянный участник
|
Пост N: 1397
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.07.10 22:38. Заголовок: Использую формат вы..
Использую формат вывод сумм %2.2m ! При переключении на украинский язык все равно печатает руб. А если Windows будет украинская, то будет печатать гривны ! Понятно ! А как быть если установлена Windows русская, а нужно печатать гривны ? Можно ли завести свой формат печати ? Я конечно могу завести свою функцию в программе, и выводить через нее... Блин но столько переделывать форм... Есть ли еще другие варианты ?
|
|
|
|
| постоянный участник
|
Пост N: 389
Зарегистрирован: 25.12.07
|
|
Отправлено: 07.07.10 13:06. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как быть если установлена Windows русская, а нужно печатать гривны ? Можно ли завести свой формат печати ? |
| Ну, на данный момент надо пойти в "Пуск"->"Панель управления"-> "Язык и региональные стандарты" и поменять там валюту Andrey пишет: цитата: | Я конечно могу завести свою функцию в программе, и выводить через нее... Блин но столько переделывать форм... Есть ли еще другие варианты ? |
| Ну, можно в принципе добавить еще один метод в frReportManager. Ладно, добавлю на днях.
|
|
|
|
| постоянный участник
|
Пост N: 1398
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.07.10 15:21. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Ну, можно в принципе добавить еще один метод в frReportManager. Ладно, добавлю на днях. |
| Спасибо большое !!! Жду !
|
|
|
|
| постоянный участник
|
Пост 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 }
|
|
|
|
| постоянный участник
|
Пост N: 1404
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.07.10 23:27. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Возможные значения для nSetting пока только такие и описаны в FastRepH.ch (ваш случай frxCurrencyString): ......... и т.д. |
| Блин... Столько строчек я сегодня не переведу... И как все это компоновать ? А покороче нельзя ? Или пример ? А то я еще неделю буду в этом разбираться....
|
|
|
|
| постоянный участник
|
Пост N: 391
Зарегистрирован: 25.12.07
|
|
Отправлено: 08.07.10 23:38. Заголовок: Andrey пишет: Или п..
Andrey пишет: В вашем конкретном случае : FrPrn:SetFormatSettings(frxCurrencyString, "GRIVNA") "GRIVNA"- понятно что условно, я уж не знаю как она там отображается. Про остальное, что сможете
|
|
|
|
| постоянный участник
|
Пост N: 1405
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.07.10 08:48. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | FrPrn:SetFormatSettings(frxCurrencyString, "GRIVNA") "GRIVNA"- понятно что условно, я уж не знаю как она там отображается. |
| А если я $ захочу отображать ? или фунты ?
|
|
|
|
| постоянный участник
|
Пост 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 $'
|
|
|
|
| постоянный участник
|
Пост N: 1408
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.07.10 13:00. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Уже даже предчувствую, пытаюсь "разжевать": |
| Спасибо большое за понимание ! Коньяк за мной !
|
|
|
|
| постоянный участник
|
Пост N: 393
Зарегистрирован: 25.12.07
|
|
Отправлено: 09.07.10 14:46. Заголовок: Andrey пишет: Спаси..
Andrey пишет: цитата: | Спасибо большое за понимание ! |
| Спасибо, это хорошо. А проверить, как работает и работает ли?
|
|
|
|
| постоянный участник
|
Пост N: 1414
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.07.10 15:24. Заголовок: Сижу делаю ! Сегодня..
Сижу делаю ! Сегодня же сообщу....
|
|
|
|
| постоянный участник
|
Пост N: 1418
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.07.10 16:34. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Спасибо, это хорошо. А проверить, как работает и работает ли? |
| Сделал тестовый пример ! Отправил вам на почту ! Вроде работает без проблем. Пере собрать проект на хХарборе - команда hbmake.exe Frh-Lang.bc
|
|
|
|
| постоянный участник
|
Пост N: 394
Зарегистрирован: 25.12.07
|
|
Отправлено: 14.07.10 00:28. Заголовок: Пересобрал с версией..
Пересобрал с версией 4.9.98 общую сборку. Включен, обсуждавшийся выше новый метод - :SetFormatSettings(nSetting, xValue).
|
|
|
|
| постоянный участник
|
Пост N: 1427
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.07.10 18:35. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Пересобрал с версией 4.9.98 общую сборку |
| Спасибо большое. Скачал, буду подключать к своей системе !
|
|
|
|
| постоянный участник
|
Пост N: 78
Зарегистрирован: 27.07.08
|
|
Отправлено: 16.07.10 20:06. Заголовок: И ещё один вопрос по..
И ещё один вопрос по FastReport, очень важный. Как сделать чтобы сводная таблица разбивалась на несколько подтаблиц по группам. При этом реквизиты группы должны выпечатываться сверху, как в обычном табличном отчёте. Но нужно анализировать цену, которую требуют за задание несколько фирм. Сверху группировка по проектам и родам работ (сантехник, электрик и т.д. и т.п.) И чтобы в строку вылазили не все фирмы, а только те фирмы, которые отвечают за данный род работ. Чтобы было всё как в обычном отчёте, но с повторяющейся парой фирма-цена в одну строку несколько раз. Если удастся сделать то, о чём я прошу, тогда уже покупаем эту библиотеку.
|
|
|
|
| постоянный участник
|
Пост N: 1432
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.07.10 21:29. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Если удастся сделать то, о чём я прошу, тогда уже покупаем эту библиотеку. |
| Ну блин, Хотабыча нашли .....
|
|
|
|
| постоянный участник
|
Пост N: 396
Зарегистрирован: 25.12.07
|
|
Отправлено: 17.07.10 00:20. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Если удастся сделать то, о чём я прошу, тогда уже покупаем эту библиотеку. |
| Так о чем просишь то? Я что-то не понял. Нужен отчет, так давай, пробуй, ваяй Судя, правда по мутному описанию, ничего сложного нет. Только группировки? Ну так, смотри простой пример с группами в демо, да и вперед Пробуй, спрашивай конкретику, если что не понятно. Ну, и естественно, не надейся, что кто-то что-то сделает за тебя
|
|
|
|
| постоянный участник
|
Пост N: 79
Зарегистрирован: 27.07.08
|
|
Отправлено: 17.07.10 09:08. Заголовок: Сложность в том, что..
Сложность в том, что на элемент DBCrossTab не действуют внешние группировки. Так если кладешь DBCrossTab на полосу MasterData, а сверх того даёшь группировку в полосе GroupHeader, то никакого дополнительного разбиения по группам в перекрёстной таблице не происходит. Можно в самой DBCrossTab делать Subtotals, но при этом условия группировки печатаются сбоку, а число фирм в строке зашкаливает, поскольку на один род работ фирм от силы 5-6, а всего их сотня.
|
|
|
|
| постоянный участник
|
Пост N: 397
Зарегистрирован: 25.12.07
|
|
Отправлено: 17.07.10 11:08. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Сложность в том, что на элемент DBCrossTab не действуют внешние группировки |
| Я бы делал без КроссТаба. И все-таки, конкретика, сколько каких таблиц участвуют в отчете? Какие между ними отношения? И т. д.
|
|
|
|
| постоянный участник
|
Пост 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 ....................................
|
|
|
|
| постоянный участник
|
Пост 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 или есть еще что "поколбасить" на текущей. Надеюсь, что идея понятна, и не столь сложна в реализации
|
|
|
|
| постоянный участник
|
Пост N: 1433
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.07.10 17:14. Заголовок: Sergey Spirin пишет:..
|
|
|
|
| постоянный участник
|
Пост N: 81
Зарегистрирован: 27.07.08
|
|
Отправлено: 17.07.10 17:28. Заголовок: Я так и думал, что в..
Я так и думал, что всё сведётся к пользовательскому массиву и заполнению его данными на каждой строке. Число элементов на одну строку отчёта формата А4 всё равно жёстко ограничено. Цена имеет формат 10DEC2, плюс зазор в одну строку. А если учесть что длина главной таблицы достигает 5 тыс строк :LOL: то 5 тыс. раз опрашивать постороннюю таблицу - очень замедлит работу. Не проще ли сделать дополнительно поля FIRM1,FIRM2,FIRM3,... и, соотвестственно, PRICE1,PRICE2,PRICE3,.... Иногда ДЕнормализация имеет смысл. Есть ещё такая база данных -4D. Названа так, поскольку помимо классических двухмерных таблиц, поддерживает также вложенную таблицу SUBTABLE. Часто это бывает необходимо. Больше 5 цен всё равно не поместится, поскольку нужно ещё указать реквизиты задания. Печать бисером - не у всех хорошее зрение. ЗЫ. А вот про вертикальные бэнды я бы хотел поподробнее. Интересно, интересно.
|
|
|
|
| постоянный участник
|
Пост N: 1435
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.07.10 19:04. Заголовок: Sergey Spirin пишет:..
|
|
|
|
| постоянный участник
|
Пост N: 399
Зарегистрирован: 25.12.07
|
|
Отправлено: 17.07.10 23:32. Заголовок: Andrey пишет: А в д..
Andrey пишет: цитата: | А в дизайнере, нет такого формата, только (руб.) ! |
| Это вопрос к украинским локализаторам Это просто статичная строка в файле локализации. Смотри файл Ukrainian.frc, Значение ключа "fkNumber4", почему-то они решили оставить рубль Видимо тоскуют по Союзу
|
|
|
|
| постоянный участник
|
Пост 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>
|
|
|
|
| постоянный участник
|
Пост N: 82
Зарегистрирован: 27.07.08
|
|
Отправлено: 24.07.10 13:53. Заголовок: Так, был у шефа, шеф..
Так, был у шефа, шеф мне объяснил, что пока будет по другому и cross-table выпадает за ненадобностью. Впоследствии будет по-другому - с вертикальной группировкой главной таблицы. Так, что извините за ложную тревогу. А пока что один небольшой вопросик. Можно суммировать по группе, можно суммировать по странице, но при переходе на новую страницу сумма обнуляется. Как сделать, чтобы был перенос, т.е. сумма по всем строкам, печатаемая один раз в конце страницы, а потом, ещё раз - в начале следующей страницы то же значение. Не печатать его только на последней странице группы.
|
|
|
|
| постоянный участник
|
Пост 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;
|
|
|
|
| постоянный участник
|
Пост N: 1482
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.07.10 22:13. Заголовок: Добрый вечер ! Подс..
Добрый вечер ! Подскажите как сделать отчет такого типа: <\/u><\/a>
|
|
|
|
| постоянный участник
|
Пост N: 403
Зарегистрирован: 25.12.07
|
|
Отправлено: 28.07.10 09:16. Заголовок: Andrey пишет: Подск..
Andrey пишет: цитата: | Подскажите как сделать отчет такого типа: |
| Ну уж подскажите тогда в чем сложность то возникла? Какие проблемы?
|
|
|
|
| постоянный участник
|
Пост N: 1484
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.07.10 11:50. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Ну уж подскажите тогда в чем сложность то возникла? |
| На картинке я не совсем правильно отобразил. На листе нужно размещать только 4 записи из базы ! Т. № заявки, дату, фио и т.д. А как такие формы делать я не знаю ?
|
|
|
|
| постоянный участник
|
Пост N: 404
Зарегистрирован: 25.12.07
|
|
Отправлено: 28.07.10 12:28. Заголовок: Ну, во-первых, сколь..
Ну, во-первых, сколько наборов данных? Выполненные работы, что, не печатаются? Если печатаются сколько их там может быть? Andrey пишет: цитата: | На листе нужно размещать только 4 записи из базы ! |
| Начните с изучения колонок Колонки есть у страницы (Page) - вертикальные, и у бэнда - горизонтальные. Определитесь какие вам нужны.
|
|
|
|
| постоянный участник
|
Пост N: 1485
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.07.10 12:57. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Начните с изучения колонок |
| Пример дайте посмотреть ! Или где посмотреть ? Или мне пример сделать, а вы на форме покажите как выводить ?
|
|
|
|
| постоянный участник
|
Пост N: 405
Зарегистрирован: 25.12.07
|
|
Отправлено: 28.07.10 13:09. Заголовок: Andrey пишет: Приме..
Andrey пишет: цитата: | Пример дайте посмотреть ! Или где посмотреть ? |
| Колонки - по Columns. В демке колонки страницы используются в отчете "UserDS and Dialogs". Andrey пишет: цитата: | Или мне пример сделать, а вы на форме покажите как выводить ? |
| Ну сделайте. И на вопросы ответьте все-таки: Sergey Spirin пишет: цитата: | Ну, во-первых, сколько наборов данных? Выполненные работы, что, не печатаются? Если печатаются сколько их там может быть? |
|
|
|
|
|
| постоянный участник
|
Пост N: 1486
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.07.10 13:18. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Ну, во-первых, сколько наборов данных? Выполненные работы, что, не печатаются? Если печатаются сколько их там может быть? |
| Набор данных один ! Выполненные работы - отдельная песня ... Это наверно мне самому придется через функцию делать ... Потом буду делать ! Делаю пример. Скорее всего завтра будет готов. Сейчас пока другую работу доделываю.
|
|
|
|
| постоянный участник
|
Пост N: 1488
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.07.10 22:19. Заголовок: Сделал пример ! Кача..
|
|
|
|
| постоянный участник
|
Пост N: 406
Зарегистрирован: 25.12.07
|
|
Отправлено: 29.07.10 23:53. Заголовок: Andrey пишет: Сдела..
|
|
|
|
| постоянный участник
|
Пост N: 1489
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.07.10 00:15. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Если их количество будет произвольным, то выдержать 4 наряда на страницу будет проблематично просто исходя из здравого смысла |
| Хорошо, я подумаю над этим ! Спасибо большое ! Форма СУПЕР ! Еще раз убеждаешься, что FastReport - это ВЕЩЬ !!! С ходу не понял пока, как задается Overlay: Overlay1 ?
|
|
|
|
| постоянный участник
|
Пост N: 407
Зарегистрирован: 25.12.07
|
|
Отправлено: 30.07.10 00:33. Заголовок: Andrey пишет: С ход..
Andrey пишет: цитата: | С ходу не понял пока, как задается Overlay: Overlay1 ? |
| Это просто "бэнд" как и остальные, например MasterData По русски он зовется "Фоновый бэнд". То есть бэнд, который печатаетяс под всеми остальными фоном.
|
|
|
|
| постоянный участник
|
Пост N: 83
Зарегистрирован: 27.07.08
|
|
Отправлено: 04.08.10 13:20. Заголовок: RichView
Подскажите, пожалуйста, как сделать, чтобы в поле RichView выводился rtf-документ, а то там настройки только на поля базы данных, будто все хранят и правят memo-поля в формате RTF. В простом Text я решил эту проблему с помощью CALLHBFUNC('MEMOREAD',['TEXTFILE.TXT'])
|
|
|
|
| постоянный участник
|
Пост 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, будет подсказка что можно писать дальше..
|
|
|
|
| постоянный участник
|
Пост N: 1496
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.08.10 14:21. Заголовок: Смотри пример http:/..
|
|
|
|
| постоянный участник
|
Пост N: 411
Зарегистрирован: 25.12.07
|
|
Отправлено: 04.08.10 14:48. Заголовок: Andrey пишет: Смотр..
Andrey пишет: Андрей, а зачем rtf грузить в OLE-объект?
|
|
|
|
| постоянный участник
|
Пост 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 и далее всё как обычно.
|
|
|
|
| постоянный участник
|
Пост N: 412
Зарегистрирован: 25.12.07
|
|
Отправлено: 04.08.10 15:54. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Ещё, пожалуйста, функцию сброса Page#, потому, что у меня, после того, как я установил печать RTF-документа в отчёте (ReportTitle), начали сначала съезжать заголовки страниц, что было устранено установкой символа "Разрыв страницы" в OpenOffice, потом нумерация стала вести себя странно: Первая страница данных нумеруется как 1, дальше - как 3 и далее всё как обычно. |
| Ну, тут по описанию понять трудно, что там у вас "разъехалось". Сделайте, что-ли пример, как Андрей делает, посмотрю.
|
|
|
|
| постоянный участник
|
Пост N: 1497
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.08.10 17:06. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Андрей, а зачем rtf грузить в OLE-объект? |
| Так я хотел редактировать файл ! т.е. чтоб был предпросмотр документа, а потом если надо по кнопочке редактировать можно. Но так и не получилось....
|
|
|
|
| постоянный участник
|
Пост N: 1498
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.08.10 15:14. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: Можете описать как делаются такие формы ? Хотя бы кратко... У меня новая форма не получается...
|
|
|
|
| постоянный участник
|
Пост N: 413
Зарегистрирован: 25.12.07
|
|
Отправлено: 05.08.10 16:04. Заголовок: Andrey пишет: Может..
Andrey пишет: цитата: | Можете описать как делаются такие формы ? Хотя бы кратко... |
| Да длинно и не получится Колонки для страницы сделать - просто у страницы (Page) поставьте свойство Columns = 2. Или двойной клик по странице - "Прочее" - "Колонки" - "Количество". Бэнд Overlay добавляется точно также как любой другой.
|
|
|
|
| постоянный участник
|
Пост N: 1499
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.08.10 17:25. Заголовок: Спасибо ! Поменял в..
|
|
|
|
| постоянный участник
|
Пост N: 414
Зарегистрирован: 25.12.07
|
|
Отправлено: 05.08.10 18:52. Заголовок: Andrey пишет: Тепер..
Andrey пишет: цитата: | Теперь 5 записей печатается на странице.... Внизу еще ОДНА добавляется ... Как убрать ? Т.е. где задается высота и ширина печати колонок ? |
| Да..... Удивлять вы продолжаете ... Андрей, ну вы что газет никогда в жизни не читали? Что такое колонка? Про колонки в Word-е я уже не спрашиваю.. Какая у колонки может быть высота? Может еще глубину потребуете! Ширина же колонок задается в том же диалоге "Настройка страницы".
|
|
|
|
| постоянный участник
|
Пост N: 1500
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.08.10 19:40. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Может еще глубину потребуете! |
| Глубина в речке или бассейне.... А пример вы так и не смотрели ....
|
|
|
|
| |
Пост N: 1845
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.08.10 19:58. Заголовок: Andrey Мне просто с..
Andrey Мне просто стало интересно :) А русскоязычной документации к FastReport for [x]Harbour , нет ?
|
|
|
|
| постоянный участник
|
Пост N: 1501
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.08.10 22:43. Заголовок: Dima пишет: А русск..
Dima пишет: цитата: | А русскоязычной документации к FastReport for [x]Harbour , нет ? |
| Да нет ! Есть на Аляску++ ! Но я спрашиваю про отчеты, которые не описаны. Мне бы даже на английском пример бы показали, я бы разобрался. Да и то готовый пример хорошо, я где что устанавливать - тоже загадка... Как в моем случае ! Сам можешь на моем примере поковырятся, где что установить, чтоб заработало ???? 2-ой пункт меню не доделан !
|
|
|
|
| постоянный участник
|
Пост 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... Дим, как ты думаешь, если текст на странице располагается в несколько колонок, то какова будет высота колонки?
|
|
|
|
| постоянный участник
|
Пост N: 416
Зарегистрирован: 25.12.07
|
|
Отправлено: 06.08.10 00:08. Заголовок: Andrey пишет: Глуби..
Andrey пишет: цитата: | Глубина в речке или бассейне.... |
| Глубина колонки текста в станице Andrey пишет: цитата: | А пример вы так и не смотрели .... |
| Посмотрел. Вижу, что догадавшись увеличить высоту наряда, удалось вытолкнуть проклятый пятый наряд на следующую страницу Горд за ученика P.S. Overlay то адекватно поправьте.
|
|
|
|
| постоянный участник
|
Пост N: 417
Зарегистрирован: 25.12.07
|
|
Отправлено: 06.08.10 00:10. Заголовок: Andrey пишет: Но я ..
|
|
|
|
| постоянный участник
|
Пост N: 1502
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.08.10 00:21. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | если текст на странице располагается в несколько колонок, то какова будет высота колонки? |
| Да догадываюсь я, что высота колонки будет зависеть от количества строк в колонке. Только увеличение строк в "MasterData" не приводит к печати 4-записи на лист, уходит запись, остаются 3-записи на листе ! Вместо хи-хи дали бы четкое указание, какие параметры от чего зависят .... Я уже все их передергал... Можно было бы проконсультироваться и у других, но сейчас лето, пора отпусков... А людям форма нужна, а у меня не получается... Сами же на сопровождении сидите, знаете как это бывает ! А вы все хи-хи...
|
|
|
|
| постоянный участник
|
Пост N: 418
Зарегистрирован: 25.12.07
|
|
Отправлено: 06.08.10 00:25. Заголовок: Andrey пишет: Да до..
Andrey пишет: цитата: | Да догадываюсь я, что высота колонки будет зависеть кол-ва строк в колонке. |
| На вопрос сколько будет 2*2 ОТВЕТ (догадка) ДАН НЕПРАВИЛЬНЫЙ! Все-таки, думать! Уж больно элементарна проблематика.
|
|
|
|
| постоянный участник
|
Пост N: 419
Зарегистрирован: 25.12.07
|
|
Отправлено: 06.08.10 00:33. Заголовок: Andrey пишет: Вмест..
Andrey пишет: цитата: | Вместо хи-хи дали бы четкое указание, какие параметры от чего зависят .... Я уже все их передергал... |
| Ого! Andrey пишет: цитата: | А людям форма нужна, а у меня не получается... Сами же на сопровождении сидите, знаете как это бывает ! |
| Гм.. А не страдать косноязычаем это получиться может? Если да, то я готов помогать, иначе же это бред сивой кобылы, в котором что-то понять - увольте...
|
|
|
|
| постоянный участник
|
Пост N: 1503
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.08.10 01:04. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | А не страдать косноязычаем это получиться может? |
| Какой есть, такой есть.... В другой жизни другим буду ....
|
|
|
|
| постоянный участник
|
Пост 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>
|
|
|
|
| постоянный участник
|
Пост 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 (известный разработчик) полностью перевел мою доку на испанский (!), и сейчас сообщает, что они заканчивают перевод общей доки по дизайнеру... И, совсем неожиданно, вчера получил от "нашего" Темура его полный перевод моей доки на русский!! Вот так вот. Так что, Андрей, просите у Темура доку, и не забудьте ему проставиться И, надеюсь, отсылок на отсутствие доки больше не будет.
|
|
|
|
| постоянный участник
|
Пост N: 1505
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.08.10 11:28. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Так что, Андрей, просите у Темура доку, и не забудьте ему проставиться |
| Доку эту уже читал ! Там нет про "Дизайнер" ничего толком. А проставиться ему всегда рад. С земляками легче всего договориться, да я его знаю еще по Вычислительному центру Академии наук Таджикистана ! Свои замечания по этой доке я ему уже выслал. Нужна дока работы с дизайнером... Ну это на будущее, когда очередной раз нужно будет новую "изысканную" форму делать...
|
|
|
|
| постоянный участник
|
Пост N: 1508
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.08.10 13:04. Заголовок: Dima пишет: Andrey ..
|
|
|
|
| постоянный участник
|
Пост 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-специфика. По дизайнеру, разработке отчетов и т.д. моя дока отсылает к основной Фастовской, которой какой только нет, и которая вся есть нам РУССКОМ языке. Фу...
|
|
|
|
| постоянный участник
|
Пост N: 438
Зарегистрирован: 27.01.07
|
|
Отправлено: 31.08.10 12:49. Заголовок: Сергею Спирину. Сего..
Сергею Спирину. Сегодня скачал архив FRH. Увидел свежую дату (29.08.2010) модификации файлов. Что интересного добавилось/изменилось?
|
|
|
|
| постоянный участник
|
Пост N: 423
Зарегистрирован: 25.12.07
|
|
Отправлено: 31.08.10 16:37. Заголовок: PSP пишет: Сегодня ..
|
|
|
|
| постоянный участник
|
Пост N: 439
Зарегистрирован: 27.01.07
|
|
Отправлено: 31.08.10 16:51. Заголовок: Привет! Еще вопрос. ..
Привет! Еще вопрос. Искал, но не нашел... Можно ли объединить два (или более) отчета в ран-тайме в Харборе? А потом уже просматривать/печатать объединенный отчет?
|
|
|
|
| постоянный участник
|
Пост 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()
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост N: 440
Зарегистрирован: 27.01.07
|
|
Отправлено: 31.08.10 20:52. Заголовок: Sergey Spirin, огром..
Sergey Spirin, огромное мерси! :)
|
|
|
|
| постоянный участник
|
Пост N: 441
Зарегистрирован: 27.01.07
|
|
Отправлено: 31.08.10 21:01. Заголовок: Dr. Oldwarez, я бы п..
Dr. Oldwarez, я бы поиск минимума сделал до формирования отчета, а отчете использовал бы уже готовые значения.
|
|
|
|
| постоянный участник
|
Пост N: 86
Зарегистрирован: 27.07.08
|
|
Отправлено: 31.08.10 21:09. Заголовок: PSP пишет: я бы пои..
PSP пишет: цитата: | я бы поиск минимума сделал до формирования отчета, а отчете использовал бы уже готовые значения. |
| А где хранить эти минимумы? Извините, но я ещё новичок в перекрёстных таблицах. Как-то до этой задачи не приходилось с ними работать...
|
|
|
|
| постоянный участник
|
Пост N: 442
Зарегистрирован: 27.01.07
|
|
Отправлено: 31.08.10 21:39. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | А где хранить эти минимумы? |
| Либо в dbf, либо в переменных (массиве). А в отчете можно легко их достать либо из dbf, либо из переменной(ых)/массива.
|
|
|
|
| постоянный участник
|
Пост N: 87
Зарегистрирован: 27.07.08
|
|
Отправлено: 31.08.10 21:46. Заголовок: Дык, элемент DBCross..
Дык, элемент DBCrosstab не позволяет вставлять в перекрёстную таблицу сторонние данные. Только одна таблица с горизонтальной группировкой.
|
|
|
|
| постоянный участник
|
Пост N: 425
Зарегистрирован: 25.12.07
|
|
Отправлено: 31.08.10 23:17. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Дык, элемент DBCrosstab не позволяет вставлять в перекрёстную таблицу сторонние данные. Только одна таблица с горизонтальной группировкой. |
| Честно говоря, так получилось, что никогда не использовал КроссТабы, поэтому имено про них ничего не подскажу.
|
|
|
|
| постоянный участник
|
Пост N: 88
Зарегистрирован: 27.07.08
|
|
Отправлено: 31.08.10 23:31. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Честно говоря, так получилось, что никогда не использовал КроссТабы, поэтому имено про них ничего не подскажу. |
| Блин, я тоже не использовал. А теперь на-а-а-а-до!!! Ну просто позарез надо!!!
|
|
|
|
| постоянный участник
|
Пост N: 443
Зарегистрирован: 27.01.07
|
|
Отправлено: 01.09.10 09:08. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Дык, элемент DBCrosstab не позволяет |
| Извините, не вник сразу.
|
|
|
|
| постоянный участник
|
Пост 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;
|
|
|
|
| постоянный участник
|
Пост N: 1540
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.09.10 15:20. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | ту самую, на отсутствие которой Андрей наш так сетовал. |
| Я сетовал на отсутствие доки по моему примеру. Не надо передергивать ! А по своему примеру, пришлось методом тыка делать !
|
|
|
|
| постоянный участник
|
Пост N: 427
Зарегистрирован: 25.12.07
|
|
Отправлено: 01.09.10 16:43. Заголовок: Andrey пишет: Я сет..
Andrey пишет: цитата: | Я сетовал на отсутствие доки по моему примеру. |
| Это как? Под ваши примеры уже дока должна быть готова? Заранее? Использование же колонок документировано, о них идет речь и в разделе 1.6 Параметры страницы, и более подробно в разделе 2.19 Печать этикеток.
|
|
|
|
| постоянный участник
|
Пост N: 1542
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.09.10 21:07. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Использование же колонок документировано, о них идет речь и в разделе 1.6 Параметры страницы, и более подробно в разделе 2.19 Печать этикеток. |
| Эта информация уже не нужна (устарела). Так как пример уже сделан ! Ну на будущее, может и пригодится.
|
|
|
|
| постоянный участник
|
Пост N: 428
Зарегистрирован: 25.12.07
|
|
Отправлено: 02.09.10 09:25. Заголовок: Andrey пишет: Эта и..
Andrey пишет: цитата: | Эта информация уже не нужна (устарела) |
| Это информация о том, что вам надо сесть и просто прочитать "Руководство пользователя" полностью, с 1-ой по 246-ю страницу. Иначе, в будущем помощь может и не прийти... Так как вопросы по синтаксису, уточнению понятий, прояснению концепций - это одно. А вопрос - "А чего это оно куда то не туды", это совсем, совсем другое.
|
|
|
|
| постоянный участник
|
Пост 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; |
| Огромное спасибо за скрипт! Я попробовал - получилось! Но шеф усложнил задачу и теперь нужно дополнительно выводить столбец количества позиций (не участвующий в группировке, а принадлежащий к той же группе, что и номер позиции) и дополнительно в простых клетках выводить цену, а в сумме внизу - сумму общих цен (цена*количество)
|
|
|
|
| постоянный участник
|
Пост N: 429
Зарегистрирован: 25.12.07
|
|
Отправлено: 08.09.10 08:49. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Я попробовал - получилось! Но шеф усложнил задачу и теперь нужно дополнительно выводить столбец количества позиций (не участвующий в группировке, а принадлежащий к той же группе, что и номер позиции) и дополнительно в простых клетках выводить цену, а в сумме внизу - сумму общих цен (цена*количество) |
| Привет. Ну что сказать. Как выводить все что угодно "клетках" кросстаба я показал. Конечно, если все устраивать на скрипте, то это уже не так красиво... Все-таки, вы определились с количеством столбцов? Если оно статично или варируется в разумных известных пределах, то может удобней сделать без кросстабов? Еще есть варианты соединять кросстабы по горизонтально, если это подойдет... Короче, задачу надо лучше понимать, чтобы что-то посоветовать.
|
|
|
|
| постоянный участник
|
Пост N: 1752
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.05.11 09:10. Заголовок: Что за остатки полей..
|
|
|
|
| постоянный участник
|
Пост N: 1753
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.05.11 09:16. Заголовок: Как бы убрать эти ..
Как бы убрать эти кракозябы ? Вставить в коде FastReport ПРОВЕРКУ на OEM-кодировку и перевести в WIN-кодировку. И еще добавить строку вызываемой функции, а то приходиться догадки строить, где и что не работает, виноват ли Фаст или своя функция !
|
|
|
|
| постоянный участник
|
Пост 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 - напишите лучше, и ЕСЛИ Петр, Паша, Григорий одобрят ваш вариант, то заменю и у себя, это не проблема.
|
|
|
|
| постоянный участник
|
Пост N: 1758
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.05.11 21:50. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Андрей, вы не пьяны были когда это писали? |
| Конечно пьян. Я же без бутылки не сажусь программировать !!! А по людски, этот ваш вопрос просто скотский. Просишь о помощи, то что не видишь сам, а вы с издевкой отвечаете. Что у вас никто не может ошибиться в коде ? Большое спасибо, бог вам судья.
|
|
|
|
| постоянный участник
|
Пост 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()? Ну хоть как-то объяснить это можно?
|
|
|
|
| постоянный участник
|
Пост N: 494
Зарегистрирован: 25.12.07
|
|
Отправлено: 19.05.11 00:31. Заголовок: Кстати, забыл сказат..
Кстати, забыл сказать, пересобрал копии с версией 4.11, основное нововведение: + добавлен новый фильтр экспорта BIFF8 XLS Это экспорт напрямую в файл Excel, минуя OLE/COM.
|
|
|
|
| постоянный участник
|
Пост N: 1759
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.05.11 00:32. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Ну хоть как-то объяснить это можно? |
| Ну ошибся я, да неправ, тупо поставил возврат функции "XBASESTR" и не мог понять, почему CallHbFunc(SUMMA_PROPIS()) - работает, а объявленная функция нет. Я же делал раньше правильно, а здесь усталость глаза замылила. Да и ошибка Фаста вылазила в кракозябах (у меня же OEM-кодировка), а я никак не мог понять что за ошибка... Sergey Spirin пишет: цитата: | Так что терпи, назвать человека пьяным на Руси никогда оскорблением не было |
| Называйте так в своей семье и родне, а я вам не родня и нормы приличия никто не отменял.
|
|
|
|
| постоянный участник
|
Пост 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, если текст английский?
|
|
|
|
| постоянный участник
|
Пост N: 1760
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.05.11 02:00. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Это мне непонятно, харбор-ошибки они латиницей... Возьми , например, любую демку |
| Демку можете не брать ! Возьмите мой пример и исправьте - будет вам такая же кракозяба ! У меня постоянно ошибки в OEM-кодировке, так как используется GTWIN или GTWVT терминал и OEM-кодировка в программе !
|
|
|
|
| постоянный участник
|
Пост N: 497
Зарегистрирован: 25.12.07
|
|
Отправлено: 19.05.11 07:28. Заголовок: Andrey пишет: Демку..
Andrey пишет: цитата: | Демку можете не брать ! Возьмите мой пример и исправьте - будет вам такая же кракозяба ! У меня постоянно ошибки в OEM-кодировке, так как используется GTWIN или GTWVT терминал и OEM-кодировка в программе ! |
| Андрей, еще раз. Фраза "Argument error:" состоит из латинских буков! И в WIN и OEM она "звучит" одинаково. Каким образом получается перевод (?) на русский стандартного oError:Description? Ответьте мне как харбурист.
|
|
|
|
| Администратор
|
Пост N: 1938
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.05.11 08:30. Заголовок: Текст сообщений, в т..
Текст сообщений, в том числе для ошибок, определяется установкой hb_LangSelect( "RU866" ) Поскольку программа консольная, то эта установка и должна быть Но FastReport по-видимому выдает сообщения сам, вызовами функций Message*(), которые предполагают кодировку ansi Если хотите, введе в frh какую-то настройку для такой конфигурации, чтобы перекодировать текст вызовами hb_oemtoansi() или аналогичной дельфийской функцией
|
|
|
|
| постоянный участник
|
Пост 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, что там можно еще добавить? Номер строки ошибки это реально?
|
|
|
|
| Администратор
|
Пост 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() просто вызывать стандартный обработчик ошибок харбора ? Тогда и с перекодировкой вопроса не будет Но в консольной версии в этом случае будет выскакивать не гуевое окошко, а текстовое..
|
|
|
|
| постоянный участник
|
Пост N: 499
Зарегистрирован: 25.12.07
|
|
Отправлено: 19.05.11 14:47. Заголовок: Pasha пишет: Кстати..
Pasha пишет: цитата: | Кстати, может быть лучше в FrNotifyError() просто вызывать стандартный обработчик ошибок харбора ? Тогда и с перекодировкой вопроса не будет Но в консольной версии в этом случае будет выскакивать не гуевое окошко, а текстовое.. |
| Нет, так не получится. Дизайнер всегда, а предпросмотр в 90% случаев жестко модальны. Поэтому и графическое окно может "не пробиться", а уж консольное так и останется за дизайнером, в задизейбленном состоянии. Поэтому здесь правильно выводить харборную ошибку именно окном FRH. Ok. Думаю сделаю так. Добавлю еще один параметр в Init() типа SystemIsOEM умолчательно .f., там же в FrLoad() протолкну его к себе. Ну и при ошибке буду на него ориентироваться. По ProcLine() и ProcName() стэк выведу, вопрос только ProcLine() и ProcName() они то всегда прилинкованы гарантировано?
|
|
|
|
| Администратор
|
Пост N: 1941
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.05.11 15:06. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | вопрос только ProcLine() и ProcName() они то всегда прилинкованы гарантировано? |
| Не гарантированно, но практически всегда Ссылка на них есть через тот же errorsys, getsys, browse Если кто-то все это намеренно обрубил, тогда их может не быть, но это очень постараться надо
|
|
|
|
| Администратор
|
Пост N: 1942
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.05.11 15:15. Заголовок: Но на это можно не з..
Но на это можно не заморачиваться, просто указать их в EXTERNAL в fastreph.ch
|
|
|
|
| постоянный участник
|
Пост N: 500
Зарегистрирован: 25.12.07
|
|
Отправлено: 19.05.11 15:20. Заголовок: Pasha пишет: Но на ..
Pasha пишет: цитата: | Но на это можно не заморачиваться, просто указать их в EXTERNAL в fastreph.ch |
| Ok. Спасибо.
|
|
|
|
| постоянный участник
|
Пост N: 1782
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.06.11 13:25. Заголовок: Ну как там успехи по..
Ну как там успехи по поводу избавлений "крокозяб" в ошибках и номерах строк ошибки ?
|
|
|
|
| постоянный участник
|
Пост N: 1784
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.06.11 13:28. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | + добавлен новый фильтр экспорта BIFF8 XLS Это экспорт напрямую в файл Excel, минуя OLE/COM. |
| В ДЕМО-версии этот вариант будет ? Может пора ДЕМКУ DLL обновить ?
|
|
|
|
| постоянный участник
|
Пост N: 539
Зарегистрирован: 27.01.07
|
|
Отправлено: 10.06.11 14:23. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | + добавлен новый фильтр экспорта BIFF8 XLS |
| Сергей, посморите, пожалуйста, на скриншоты. Это в FR: А это в Excel: Косяк с числами (цены, суммы) и пустые места - в отчете Memo для формирования рамки. PS: через OLE экспортируется корректно.
|
|
|
|
| постоянный участник
|
Пост 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 Но в любом случае, экспорт свежий, там сейчас активно идут правки, приеду из Турции, пересоберу копии со свежей версией.
|
|
|
|
| постоянный участник
|
Пост N: 1785
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.06.11 15:52. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Так скачай свою копию, зачем тебе демка? |
| Демка нужна, чтоб не отдавать свой исходник. Да и в демке нет других функций, добавленных уже после ее создания. Пишу примеры для демонстраций тех или иных функций.
|
|
|
|
| постоянный участник
|
Пост N: 503
Зарегистрирован: 25.12.07
|
|
Отправлено: 17.06.11 23:28. Заголовок: Привет, Андрей, во..
Привет, Андрей, вот так доходчивей будет? Так будет нормально или еще что-то добавить?
|
|
|
|
| постоянный участник
|
Пост N: 542
Зарегистрирован: 27.01.07
|
|
Отправлено: 18.06.11 15:50. Заголовок: Сергей, подскажи: ес..
Сергей, подскажи: есть ли в FR понятие тайм-аут? Т.е., есть ли возможность открытый на просмотр отчет закрыть автоматически по истечении тай-аута, если пользователь не проявляет активности?
|
|
|
|
| постоянный участник
|
Пост N: 504
Зарегистрирован: 25.12.07
|
|
Отправлено: 18.06.11 21:05. Заголовок: PSP пишет: Сергей, ..
PSP пишет: цитата: | Сергей, подскажи: есть ли в FR понятие тайм-аут? Т.е., есть ли возможность открытый на просмотр отчет закрыть автоматически по истечении тай-аута, если пользователь не проявляет активности? |
| Забавная постановка задачи Интересно даже, где такое может быть нужно? Может, достаточно использовать немодальный предпросмотр? Штатного такого тайм-аута, конечно, нет. Но придумать можно. Надо просто использовать НЕНУЛЕВОЙ отчет. То есть, сначала :AddReport() А потом, по своему таймеру: :RemoveReport() Если непонятно - спрашивай!
|
|
|
|
| постоянный участник
|
Пост N: 1790
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.06.11 15:34. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Так будет нормально или еще что-то добавить? |
| Я думаю - в самый раз будет !
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост N: 543
Зарегистрирован: 27.01.07
|
|
Отправлено: 20.06.11 09:42. Заголовок: Привет! Sergey Spir..
Привет! Sergey Spirin пишет: цитата: | Интересно даже, где такое может быть нужно? |
| При отсутствии активности пользователя в течение определенного времени программа сама завершает работу. Если открыто окно отчета, то, естественно, не завершает. :) цитата: | Может, достаточно использовать немодальный предпросмотр? |
| Не подходит. Нужно останавливать программу, пока отчет открыт. И еще: если попытаться создать второй раз отчет, который уже открыт, валится по ошибке. Видимо, проблема с разделенным доступом. Не разбирался. К тому же, данные для отчетов беруться из временных динамически создаваемых таблиц. Эти таблицы удаляются после завершения функции, где формировался отчет. Наверное, возможны траблы и в этом отношении. Вобщем, немодальный режим не подходит. цитата: | Надо просто использовать НЕНУЛЕВОЙ отчет. То есть, сначала :AddReport() А потом, по своему таймеру: :RemoveReport() Если непонятно - спрашивай! |
| Я понял, о чем ты говоришь. :) Дело в том, что программа "не знает", работает ли пользователь с окном отчета или нет. Она может его закрыть раньше времени, когда отчет еще нужен. цитата: | Штатного такого тайм-аута, конечно, нет. Но придумать можно. |
| Вот это было бы отлично! Верю в положительное решение вопроса! :)
|
|
|
|
| постоянный участник
|
Пост N: 506
Зарегистрирован: 25.12.07
|
|
Отправлено: 20.06.11 15:59. Заголовок: PSP пишет: цитата..
PSP пишет: цитата: | цитата: Интересно даже, где такое может быть нужно? При отсутствии активности пользователя в течение определенного времени программа сама завершает работу. Если открыто окно отчета, то, естественно, не завершает. :) |
| Это то понятно, непонятно зачем? Зачем это нужно то может быть? Я было подумал, что бухгалтера у вас имеет склонность засыпать перед мониторами А сальдо, например, не посчитано, типа самое время посчитать А тут нет, сразу "на выход"... Ты и комп сразу выключаешь? Энергию экономишь? PSP пишет: цитата: | цитата: Надо просто использовать НЕНУЛЕВОЙ отчет. То есть, сначала :AddReport() А потом, по своему таймеру: :RemoveReport() Если непонятно - спрашивай! Я понял, о чем ты говоришь. :) Дело в том, что программа "не знает", работает ли пользователь с окном отчета или нет. Она может его закрыть раньше времени, когда отчет еще нужен. |
| C++ немного знаешь? Поставь Hook на текущий поток по мыше и клавиатуре. Смотри функции SetWindowsHookEx, UnhookWindowsHookEx, CallNextHookEx. Про последнюю не забудь, так как Фаст для некоторых целей хуки использует. Это было бы для твоего приложения универсальным решением, мне же в FRH лишние хуки для такой экзотики тащить не хочется. Если С++ совсем не знаешь, то может быть местные Си-шники смогут помочь...
|
|
|
|
| постоянный участник
|
Пост N: 1791
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.06.11 16:38. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Ну тогда качай свою копию. |
| Спасибо.
|
|
|
|
| постоянный участник
|
Пост N: 544
Зарегистрирован: 27.01.07
|
|
Отправлено: 20.06.11 20:40. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Это то понятно, непонятно зачем? Зачем это нужно то может быть? Я было подумал, что бухгалтера у вас имеет склонность засыпать перед мониторами А сальдо, например, не посчитано, типа самое время посчитать А тут нет, сразу "на выход"... Ты и комп сразу выключаешь? Энергию экономишь? |
| Это несколько вопросов или один? цитата: | C++ немного знаешь? Поставь Hook на текущий поток по мыше и клавиатуре. Смотри функции SetWindowsHookEx, UnhookWindowsHookEx, CallNextHookEx. Про последнюю не забудь, так как Фаст для некоторых целей хуки использует. Это было бы для твоего приложения универсальным решением, мне же в FRH лишние хуки для такой экзотики тащить не хочется. Если С++ совсем не знаешь, то может быть местные Си-шники смогут помочь... |
| Спасибо. Попробую разобраться.
|
|
|
|
| постоянный участник
|
Пост N: 507
Зарегистрирован: 25.12.07
|
|
Отправлено: 20.06.11 21:33. Заголовок: PSP пишет: Это неск..
PSP пишет: цитата: | Это несколько вопросов или один? |
| Да расскажи, любопытно же, для чего это нужно
|
|
|
|
| постоянный участник
|
Пост N: 545
Зарегистрирован: 27.01.07
|
|
Отправлено: 21.06.11 10:16. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Да расскажи, любопытно же, для чего это нужно |
| Ничего особенного. Режим работы - файловый. Считаю, что не нужно держать зря открытые файлы базы данных. Приложение консольное. Никаких отдельных окон и процессов нет. Диалоги открываются один за одним. Закрытие происходит не моментально, а постепенно, в порядке обратном открытию диалогов. На каждый шаг отводится время тайм-аута. Поэтому, для пользователя это не становится неожиданностью, тем более, что в большинстве случаев в этот момент никого перед компьютером нет. Вот, вкратце. Спасибо за проявленный интерес.
|
|
|
|
| постоянный участник
|
Пост 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 Что то у меня не получается для хХарбора. И как еще сделать БЕГУНОК отсылки письма ?
|
|
|
|
| постоянный участник
|
Пост N: 511
Зарегистрирован: 25.12.07
|
|
Отправлено: 22.06.11 00:40. Заголовок: Andrey пишет: Что т..
Andrey пишет: цитата: | Что то у меня не получается для хХарбора. |
| Что не получается то? Ошибка? Что вызывается? Andrey пишет: цитата: | И как еще сделать БЕГУНОК отсылки письма ? |
| Средствами Фаста никак. Своими (харбурными) средствами выводи.
|
|
|
|
| постоянный участник
|
Пост 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 из поставки ДЕМО !!!
|
|
|
|
| постоянный участник
|
Пост N: 1802
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.06.11 16:01. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Что не получается то? Ошибка? Что вызывается? |
| Собрал тест на хХарборе 1.0 Исходник здесь: http://zalil.ru/31343016 Вываливается по ошибке:
|
|
|
|
| постоянный участник
|
Пост N: 514
Зарегистрирован: 25.12.07
|
|
Отправлено: 27.06.11 18:48. Заголовок: Andrey пишет: Error..
Andrey пишет: цитата: | Error E2141 FASTREPH.PRG 177: Declaration syntax error |
|
Andrey пишет: Для начала Андрей, надо бы хоть взглянуть тебе на самое первое сообщение в этой ветке и увидеть, что первый релиз FRH был 11.03.08.... Теперь посмотреть даты FRH, который ВДРУГ ты решил использовать, и увидеть - январь 2008.... Ну что сказать тут.... Я понятия не имею, что там могло ТОГДА не работать в тестовой(!) сборке, которую я когда-то рассылал и которая ни для какой работы не предназначалась, ТЕМ БОЛЕЕ УЖ СЕЙЧАС... На текущей версии проверил, все работает нормально. Загляни в ящик.
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост 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 требует того же.... Если получил, то смотри ошибку у себя.
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост N: 516
Зарегистрирован: 25.12.07
|
|
Отправлено: 27.06.11 23:48. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Ты скажи, мои 2 письма "от тебя" получил? |
| Andrey пишет: цитата: | Правильный синтаксис (при котором п |
| Ты будешь отвечать на вопросы? С mail.ru разбирайся сам В конце концов это виртуальный SMTP. На стандартном SMTP FRH работает нормально, SSL как я сказал не поддерживает....
|
|
|
|
| постоянный участник
|
Пост N: 1805
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.06.11 00:13. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Ты будешь отвечать на вопросы? |
| Буду. Писем от вас не получал !!! Свои все получил ! Через раз работает mail.ru ! Буду пробовать через gmail.com ! Как прикрутить БЕГУНОК или таймер ? Сколько времени ждет отправки - 60 сек ? У меня через раз проходит и на ошибку не попадает !!! Попробуйте сами - увидите ! И в почтовом ящике mytest94@mail.ru нет писем в отправленных ! Можно ли как то статистику получить, или они там не отображаются ?
|
|
|
|
| постоянный участник
|
Пост 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 сек.
|
|
|
|
| постоянный участник
|
Пост N: 518
Зарегистрирован: 25.12.07
|
|
Отправлено: 28.06.11 00:40. Заголовок: Andrey пишет: И в п..
Andrey пишет: цитата: | И в почтовом ящике mytest94@mail.ru нет писем в отправленных ! Можно ли как то статистику получить, или они там не отображаются ? |
| Издеваешься? Или просто не понимаешь, что такое SMTP/POP?
|
|
|
|
| постоянный участник
|
Пост N: 1806
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.06.11 01:26. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Издеваешься? Или просто не понимаешь, что такое SMTP/POP? |
| Да не издеваюсь. Не разбирался я с этим. Вижу The Bat сохраняет, подумал, мож какой параметр включить... Нельзя, так нельзя... Sergey Spirin пишет: цитата: | Противоречивое утвержднение: ВСЕ ПОЛУЧИЛ - ЧЕРЕЗ РАЗ РАБОТАЕТ MAIL.RU |
| А у вас как работает ? Может у меня провайдер письма мои тырит...
|
|
|
|
| постоянный участник
|
Пост N: 519
Зарегистрирован: 25.12.07
|
|
Отправлено: 28.06.11 10:55. Заголовок: Andrey пишет: А у в..
Andrey пишет: цитата: | А у вас как работает ? Может у меня провайдер письма мои тырит... |
| У меня, если сервер - обычный SMTP, то все проходит без исключений, а если как gmail "с наворотами", то ничего не проходит
|
|
|
|
| постоянный участник
|
Пост N: 1814
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.07.11 21:47. Заголовок: Возвращаюсь опять к ..
Возвращаюсь опять к варианту ДЕМО ! Нужна версия библиотеки, которая бы собиралась для version 4.11 Как иначе передавать другим в качестве примеров и показа работающие и не работающие программки ? Это не срочно....
|
|
|
|
| постоянный участник
|
Пост N: 1819
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.07.11 12:18. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Может быть, где-то во вторник, демку тоже перекомпилю. |
| Ждем.... Добавьте хотя бы отправку почты в старую версию....
|
|
|
|
| постоянный участник
|
Пост 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") Могу выслать пример...
|
|
|
|
| постоянный участник
|
Пост 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 - свойство, которое есть у всех экспортов.
|
|
|
|
| постоянный участник
|
Пост N: 1822
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.07.11 23:02. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | почему тогда не догадался убрать диалог у самого MailExport? |
| Не знал. Спасибо !!! А почему окно отправки такое малюсенькое, даже короткий адрес плохо видно и вообще оно какое-то не серьезное ? Если письмо отправляется, и фокус мышки уводишь на другую программы, то программа ВИСНЕТ наглухо ! Пока не найдеш окно ошибки на экране: Наверно это окно ошибки лучше сделать МОДАЛЬНЫМ ? Чтоб юзера не терялись и не вопили.... И подписать его "FastReport: Ошибка" или "Ошибка отправки письма"
|
|
|
|
| постоянный участник
|
Пост N: 523
Зарегистрирован: 25.12.07
|
|
Отправлено: 12.07.11 12:18. Заголовок: Andrey пишет: А поч..
Andrey пишет: цитата: | А почему окно отправки такое малюсенькое, даже короткий адрес плохо видно и вообще оно какое-то не серьезное ? |
| Да, фоток своих натолкать в эти диалоги разработчики FastReport явно забыли Напишите им претензию, даже интересно, насколько далеко пошлют Демку пересобрал, можно скачивать.
|
|
|
|
| постоянный участник
|
Пост N: 1823
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.07.11 14:54. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Демку пересобрал, можно скачивать. |
| Спасибо большое !
|
|
|
|
| постоянный участник
|
Пост N: 1824
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.07.11 22:49. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Напишите им претензию, даже интересно, насколько далеко пошлют |
| А куда писать то ? Как насчет этого ? Наверно это окно ошибки лучше сделать МОДАЛЬНЫМ ? Чтоб юзера не терялись и не вопили.... И подписать его "FastReport: Ошибка" или "Ошибка отправки письма" Или это тоже к разработчикам FastReport ? Если у вас есть исходники на Дельфи, то наверно это окно можете сами сделать ? Чтоб удобней было для юзеров... Я уже предвижу их вопли...
|
|
|
|
| постоянный участник
|
Пост N: 524
Зарегистрирован: 25.12.07
|
|
Отправлено: 13.07.11 00:23. Заголовок: Andrey пишет: А куд..
Andrey пишет: Входим логином-паролем (про то какие они, меня не спрашиваем, а ищем у себя) и нажав "Поддержка", создаем новое обращение (простите меня ребята из Fast Report Inc). Andrey пишет: цитата: | Как насчет этого ? Если письмо отправляется, и фокус мышки уводишь на другую программы, то программа ВИСНЕТ наглухо ! Пока не найдеш окно ошибки на экране: Наверно это окно ошибки лучше сделать МОДАЛЬНЫМ ? |
| Если программа "виснет" пока не нажмешь что-то в одном окне, то это окно... модально! Интересно да? Andrey пишет: цитата: | Если у вас есть исходники на Дельфи, то наверно это окно можете сами сделать ? |
| Никогда не делаю никаких правок в коде FR, нет никакого желания сопровождать эти правки при всех обновлениях.
|
|
|
|
| постоянный участник
|
Пост N: 1826
Зарегистрирован: 12.09.06
|
|
Отправлено: 13.07.11 00:56. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Если программа "виснет" пока не нажмешь что-то в одном окне, то это окно... модально! Интересно да? |
| Если это ОКНО модально, то почему внизу на Панели задач нет этого окна ? В хХарборе есть: Мне это без разницы, но ОКНО ошибки по всему экрану искать приходиться. Пожалейте юзеров ....
|
|
|
|
| постоянный участник
|
Пост N: 525
Зарегистрирован: 25.12.07
|
|
Отправлено: 13.07.11 00:59. Заголовок: Andrey пишет: Мне э..
Andrey пишет: цитата: | Мне это без разницы, но ОКНО ошибки по всему экрану искать приходиться. Пожалейте юзеров .... |
| В FastReport всё, в FastReport
|
|
|
|
| постоянный участник
|
Пост 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 помещаю файл с полным путем. Не помогает....
|
|
|
|
| постоянный участник
|
Пост N: 526
Зарегистрирован: 25.12.07
|
|
Отправлено: 14.07.11 12:02. Заголовок: Andrey пишет: Подск..
Andrey пишет: цитата: | Подскажите пожалуйста тогда, как получить отчет в PDF и отправить этот PDF на емайл ? |
| Андрей, сначала экспортируем отчет в pdf-файл без диалогов, а потом SendMail()-ом его отправляем.
|
|
|
|
| постоянный участник
|
Пост N: 527
Зарегистрирован: 25.12.07
|
|
Отправлено: 18.07.11 02:02. Заголовок: Привет. В связи с в..
Привет. В связи с выходом в ближайшее время FrFox (FastReport for FoxPro), перерабатываю документацию (на английском). Сейчас она уже разрослась больше чем на 60 страниц, и я понимаю, что и раньше она не была легко читаемой, сейчас становится еще менее... Нормально было бы иметь нормальный chm-файл. Но заниматься этим самому совсем не хочется, поэтому предложение: - Необходимо из doc/pdf файла сделать chm-файл. Все на английском. Необходимо также все проверить, то есть выполнить некоторую коррекцию, если что-то непонятно, то запросить доп. инфу и т.д. Цель - сделать полноценный chm, с удобным поиском, навигацией и т.д. - Взамен бесплатная лицензия FRH (или FRAX или FrFox на выбор). Если есть желающие заняться этим, то жду в почту.
|
|
|
|
| постоянный участник
|
Пост N: 1831
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.07.11 01:38. Заголовок: 11 июля выпущены Fas..
11 июля выпущены FastReport for COM/ActiveX и FastReport for Business версии 4.9 Что нового? + формат картинок во всех экспортах изменён на PNG + добавлен экспорт в DBF формат - этот формат востребован при обмене данными модулями различных бизнес-приложений. А у нас это когда будет ? Я не тороплюсь, просто спрашиваю....
|
|
|
|
| постоянный участник
|
Пост N: 559
Зарегистрирован: 27.01.07
|
|
Отправлено: 25.07.11 10:14. Заголовок: Andrey пишет: А у н..
Andrey пишет: цитата: | А у нас это когда будет ? |
| Я только что скачал свою копию. Дата 11.07.11 Правда, я не вникал в суть обновления... :)
|
|
|
|
| постоянный участник
|
Пост 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? У вас своего мало?
|
|
|
|
| постоянный участник
|
Пост N: 1832
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.07.11 13:25. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Да и зачем вам dbf? У вас своего мало? |
| Да так, до кучи.... Интересно будет как таблицу с логотипом фирмы будет выгружать этот ЭКСПОРТ ?
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост N: 529
Зарегистрирован: 25.12.07
|
|
Отправлено: 02.08.11 22:47. Заголовок: Andrey пишет: Чего ..
Andrey пишет: Возможно, что и разболталось за годы... Посмотрю на досуге. По задумке же, текст ошибки и должен возвращаться в S.
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост N: 530
Зарегистрирован: 25.12.07
|
|
Отправлено: 03.08.11 10:15. Заголовок: Andrey пишет: Тогда..
Andrey пишет: И в чем разница?
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост N: 563
Зарегистрирован: 27.01.07
|
|
Отправлено: 04.08.11 08:40. Заголовок: Что возвращает SendM..
|
|
|
|
| постоянный участник
|
Пост N: 531
Зарегистрирован: 25.12.07
|
|
Отправлено: 04.08.11 09:08. Заголовок: PSP пишет: Что возв..
PSP пишет: SendMail то возвращает пустую строку, если все хорошо, и текст ошибки, если все плохо. Текст ошибки примерно такой как Андрей показал, два квадратика это chr1310. Да ясно, что "проблема" с "мягким" сравнением строк Типа пустая строка часть любой строки, и поэтому равна любой строке Самое противное, что я всегда проверяю выкладываемый код. То есть, на какой-то версии [x]Harbour это работало по умолчанию по "нормальному" сравнению. То бишь есть зависимости от версий [x]Harbour... ну, что называется, эффекты "Жopen Source".
|
|
|
|
| постоянный участник
|
Пост N: 564
Зарегистрирован: 27.01.07
|
|
Отправлено: 04.08.11 09:20. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Да ясно, что "проблема" с "мягким" сравнением строк Типа пустая строка часть любой строки, и поэтому равна любой строке |
| Режим сравнения зависит от установки SET EXACT. Нельзя заранее предугадать, какое значение у этого переключателя будет в конечном приложении. Поэтому, имхо, пустые строки лучше "ловить", к примеру, функцией Empty().
|
|
|
|
| постоянный участник
|
Пост N: 532
Зарегистрирован: 25.12.07
|
|
Отправлено: 04.08.11 11:45. Заголовок: PSP пишет: Нельзя з..
PSP пишет: цитата: | Нельзя заранее предугадать, какое значение у этого переключателя будет в конечном приложении. |
| Я к тому, что и умолчательное значение SET EXACT менялось от сборки к сборке, так как я никогда не переопределяю умолчание в своих тестах. А кстати, для равенства есть жесткое ==, а для неравенства?
|
|
|
|
| Администратор
|
Пост N: 2014
Зарегистрирован: 23.05.05
|
|
Отправлено: 04.08.11 12:23. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | А кстати, для равенства есть жесткое ==, а для неравенства? |
| Для неравенства точного сравнения нет, надо пользоваться: ! (x1 == x2)
|
|
|
|
| постоянный участник
|
Пост 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 нужно как-то это указать для малоразбирающихся...
|
|
|
|
| постоянный участник
|
Пост N: 1844
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.08.11 23:25. Заголовок: Исправленный демо пр..
Исправленный демо пример (который я раньше собирал) для Harbour 3.0 вам на сайт. Для последней сборки FrSystH.dll Протестировано, работает !!! http://files.mail.ru/ZJNQ1J
|
|
|
|
| постоянный участник
|
Пост N: 538
Зарегистрирован: 25.12.07
|
|
Отправлено: 12.08.11 11:08. Заголовок: Andrey пишет: Разме..
Andrey пишет: цитата: | Размер ЕХЕ-ника небольшой вышел: 300544, правда без harbour-30.dll не запускается.... |
| В соседней же ветке подсказали, что надо добавить ws2_32.lib, тогда и будет автономный exe в 2,5 мега.
|
|
|
|
| постоянный участник
|
Пост N: 1845
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.08.11 12:28. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | В соседней же ветке подсказали, |
| Да я читал. Просто для других может непонятно будет. А в примере вам для сайта, я указал в батнике как собирать.
|
|
|
|
| постоянный участник
|
Пост N: 1847
Зарегистрирован: 12.09.06
|
|
Отправлено: 13.08.11 14:18. Заголовок: Подскажите как форму..
Подскажите как форму ПРАВИЛЬНО делать. Задача такова: есть базы с переменным количеством oplata2009.dbf , oplata2010.dbf, oplata2011.dbf (но могут быть еще и с 2000 года быть), алиасы этих баз предаю в FastReport соответственно. Выходная форма должна быть такая: http://files.mail.ru/N6DEEC Или может все базы затолкать в одну ? Как удобней сделать ?
|
|
|
|
| постоянный участник
|
Пост N: 541
Зарегистрирован: 25.12.07
|
|
Отправлено: 13.08.11 22:24. Заголовок: Andrey пишет: Или м..
Andrey пишет: цитата: | Или может все базы затолкать в одну ? |
| Если "затолкать", то это самое простое - группы. Если не ""заталкивать", то тоже можно, но это динамическое создание всех MasterData.
|
|
|
|
| постоянный участник
|
Пост N: 542
Зарегистрирован: 25.12.07
|
|
Отправлено: 13.08.11 22:34. Заголовок: Andrey пишет: Как у..
Andrey пишет: Ну или Композит по каждому году.
|
|
|
|
| постоянный участник
|
Пост N: 1848
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.08.11 13:48. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Если "затолкать", то это самое простое - группы. |
| Сделал пример. Базы объединил в одну и создал поле "YEAR" по годам. Читал в доке описание отчетов по группам, мало что понял. Подскажите пожалуйста на примере как это сделать ! Заранее спасибо за помощь. http://files.mail.ru/W5QS7U
|
|
|
|
| постоянный участник
|
Пост N: 543
Зарегистрирован: 25.12.07
|
|
Отправлено: 15.08.11 00:01. Заголовок: Andrey пишет: Читал..
|
|
|
|
| постоянный участник
|
Пост N: 1849
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.08.11 09:42. Заголовок: Спасибо БОЛЬШОЕ !!! ..
Спасибо БОЛЬШОЕ !!!
|
|
|
|
| постоянный участник
|
Пост N: 1850
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.08.11 10:19. Заголовок: Какая-то непонятка. ..
Какая-то непонятка. Вставляю форму в задачу - печать идет со второй страницы. Увеличить А в отдельной задаче нормально печатаеся.... Что делать ? Какой параметр нужно подправить ?
|
|
|
|
| постоянный участник
|
Пост N: 544
Зарегистрирован: 25.12.07
|
|
Отправлено: 15.08.11 14:53. Заголовок: Andrey пишет: Что д..
Andrey пишет: Открывать дизайнер "в задаче" и смотреть почему так. На StartNewPage не похоже, скорее ReportTitle растянул на всю первую страницу.
|
|
|
|
| постоянный участник
|
Пост N: 1852
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.08.11 18:18. Заголовок: Странно, написал соо..
Странно, написал сообщение, сюда, а его здесь нет !!! Пишу еще раз. Нашел разницу. У меня в задаче DLL версии 4.9.98 (не хочется пока менять всем dll-ку) А в примере версия 4.11 !!! Форму тупо копирую (переименовав) в свою папку с "задачей" п получаю вот такой результат, как на картинке выше. Исправленная мной форма: http://zalil.ru/31559019
|
|
|
|
| постоянный участник
|
Пост N: 1853
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.08.11 19:42. Заголовок: Взял и перекомпилиро..
Взял и перекомпилировал пример с моими личными исходниками для 4.9.98 ! Получилась такая же фигня !!! Что тогда неладно с моей библиотекой ? Перекомпилировал под версию 4.11.8 - все нормально. Придется переходить на новую версию...
|
|
|
|
| постоянный участник
|
Пост N: 545
Зарегистрирован: 25.12.07
|
|
Отправлено: 15.08.11 19:46. Заголовок: Andrey пишет: Нашел..
Andrey пишет: цитата: | Нашел разницу. У меня в задаче DLL версии 4.9.98 (не хочется пока менять всем dll-ку) |
| Про 4.9 мне что-то сказать сложно, может и был баг когда-то. Надо обновляться. В качестве workaround попробуй ReportTitle заменить на просто Header, может поможет, но лучше обновляться.
|
|
|
|
| постоянный участник
|
Пост 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 ) За что он отвечает ? Пробовал туда добавлять список файлов, ничего не отправляет !
|
|
|
|
| постоянный участник
|
Пост N: 546
Зарегистрирован: 25.12.07
|
|
Отправлено: 29.08.11 23:01. Заголовок: Andrey пишет: Не по..
Andrey пишет: цитата: | Не получается что-то .... |
| Андрей, я сейчас в Эмиратах, приеду в Москву 1-го сентября поздно вечером, посмотрю уже второго...
|
|
|
|
| постоянный участник
|
Пост N: 1869
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.08.11 01:50. Заголовок: Хорошо, ждем... :sm..
Хорошо, ждем...
|
|
|
|
| постоянный участник
|
Пост N: 1880
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.09.11 08:59. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Андрей, я сейчас в Эмиратах, приеду в Москву 1-го сентября поздно вечером, посмотрю уже второго... |
| Уже 7-е сентября.... Я понимаю дел много по приезду, но может чуть-чуть времени найдется...
|
|
|
|
| постоянный участник
|
Пост N: 161
Зарегистрирован: 27.07.08
|
|
Отправлено: 07.09.11 19:50. Заголовок: Подскажите пожалуйст..
Подскажите пожалуйста, как сделать, чтобы в RTF-файле, выводимом в заголовке отчёта, в текст можно было вставлять содержимое DBF-полей? Rich1.Richedit.Lines.LoadFromFile('PATTERN.RTF') Такое RTF выпечатывается один раз на группу верхнего уровня (фирмы) и каждый раз в него нужно вставлять реквизиты новой фирмы.
|
|
|
|
| постоянный участник
|
Пост 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"]! ....
|
|
|
|
| постоянный участник
|
Пост N: 549
Зарегистрирован: 25.12.07
|
|
Отправлено: 08.09.11 00:44. Заголовок: Andrey пишет: Уже 7..
Andrey пишет: цитата: | Уже 7-е сентября.... Я понимаю дел много по приезду, но может чуть-чуть времени найдется... |
| Андрей, письмо твоё новое получил, естественно, сейчас я не помню, что там было. Поэтому, давай, формулируй здесь, что хочешь сделать, и главное, что не получается.
|
|
|
|
| постоянный участник
|
Пост N: 162
Зарегистрирован: 27.07.08
|
|
Отправлено: 08.09.11 09:50. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Точно также как и в проcтом Memo. То есть, выражения дожны быть в квадратных скобках. Например: Dear [Customers."Contact"]! |
| ОГРОМНОЕ СПАСИБО
|
|
|
|
| постоянный участник
|
Пост 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 ) За что он отвечает ? Пробовал туда добавлять список файлов, ничего не отправляет !
|
|
|
|
| постоянный участник
|
Пост N: 1894
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.09.11 08:48. Заголовок: Смотрю отвечаете на ..
Смотрю отвечаете на вопросы в "FastReport for [x]Harbour, Alaska Xbase++, Visual FoxPro" <fastreport_for_x_harbour@googlegroups.com> А сюда на форум когда придете ?
|
|
|
|
| постоянный участник
|
Пост 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 ) За что он отвечает ? |
| Я отвечать, естественно, не буду. Это за гранью моего восприятия реальности. Как не буду искать ваши харборные ошибки или делать за вас отчеты. Так что жду от вас конкретных вопросов.
|
|
|
|
| постоянный участник
|
Пост N: 2162
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.04.12 12:16. Заголовок: И кто теперь будет д..
|
|
|
|
| |
Пост N: 2359
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.04.12 12:19. Заголовок: Andrey пишет: И кто..
Andrey пишет: цитата: | И кто теперь будет делать нам FastReport ? |
| Спроси Елену.
|
|
|
|
| постоянный участник
|
Пост 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) - вылетаю по ошибке: Как исправить ? Я так подозреваю, что Дельфи где-то у себя создает ошибку...
|
|
|
|
| постоянный участник
|
Пост N: 201
Зарегистрирован: 17.02.12
|
|
Отправлено: 05.04.13 10:21. Заголовок: Andrey пишет:Как исп..
Andrey пишет: С ФастРепортом не работаю, а сообщение не говорит о переполнении ? Может где то мусор затесался или длину поля уменьшить ?
|
|
|
|
| постоянный участник
|
Пост N: 2777
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.04.13 14:26. Заголовок: SergKis пишет: или..
SergKis пишет: цитата: | или длину поля уменьшить ? |
| Нельзя ! Это код плательщика (л/счет) абонента по Москве.... Скорее всего это в Дельфи тип числа другой... Я не эксперементировал, но думаю N 9-10 пройдет, а вот N 14 не проходит. Я уже на нескольуих полях попробовал, как N14, так перестает работать !
|
|
|
|
| постоянный участник
|
Пост N: 202
Зарегистрирован: 17.02.12
|
|
Отправлено: 05.04.13 14:58. Заголовок: Andrey пишет:Нельзя ..
Andrey пишет: цитата: | Нельзя ! Это код плательщика (л/счет) абонента по Москве.... Скорее всего это в Дельфи тип числа другой.. |
| FastReport - это отчеты, почему N14 не превратить C14, поле не суммируемое ?
|
|
|
|
| постоянный участник
|
Пост 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]])
|
|
|
|
| постоянный участник
|
Пост N: 2779
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.04.13 16:34. Заголовок: SergKis пишет: Прев..
SergKis пишет: цитата: | Превратить N14 в C14 можно не переписывая dbf функцией |
| Спасибо за совет ! Попробую....
|
|
|
|
| |
Пост N: 30
Зарегистрирован: 15.11.12
|
|
Отправлено: 19.04.13 14:47. Заголовок: объясните как (и где..
объясните как (и где) можно приобрести FastReport for [x]Harbour.
|
|
|
|
| |
Пост N: 3054
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.04.13 14:57. Заголовок: yukirin Попробуй сп..
yukirin Попробуй спросить по этому email spirina@paritetsoft.ru
|
|
|
Ответов - 268
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
All
[только новые]
|
|