Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FastReport

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Открыть новую тему     Написать ответ в эту тему

DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
stalker780

Цитата:
QBuilder в Фаст 3.15 не видит вьюхи и отказывается с ними работать, даже если ручками написать запрос.  
использую TfrxFIBQuery... может это конечно их баг. Но все равно

тебе сюда, сам всё поймёшь  

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 11:59 08-10-2005 | Исправлено: DroN_S, 16:41 09-10-2005
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, помогите сделать экспорт из отчета в Excel. Очень нужно
Если не зделаю, завтра убьют.
Заранее большое спасиба.

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 16:02 09-10-2005
GloThin



Тобольский шашлычник
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Solnake

Цитата:
помогите сделать экспорт из отчета в Excel.

А что за проблема с экспортом?  
Поподробнее можешь объяснить?  


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

Всего записей: 705 | Зарегистр. 28-04-2004 | Отправлено: 16:10 09-10-2005
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как можно изменять размер шрифта в поле, в зависимости от физической длины выводимого текста?
Надо, чтобы поместился весь текст в поле, в одну строку.
Может быть кто-то уже сталкивался с этим, не хочется изобретать велосипед ...

Всего записей: 936 | Зарегистр. 30-09-2005 | Отправлено: 14:18 11-10-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vitus_Bering
Тебе это надо сделать в дизайнере или в Run-Time?
Если в Run-Time то в просмотре страницы, если у тебя не уместилось всё в одну строку, нажимешь дизайнер и редактируешь строку...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 17:40 11-10-2005
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
Надо сделать в Run-Time это делалось автоматически, например если длинная строка устанавливается размер шрифта 8, а если короткая строка - 12.

Всего записей: 936 | Зарегистр. 30-09-2005 | Отправлено: 17:57 11-10-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vitus_Bering
Так проверяй в коде программы строку на длинну и всё. У тебя есть отчёт(шаблон), ты знаешь какая максимальная длина при 12 размере шрифта, для строки в отчёте, аналогично и при 8. Далее, проверяешь длину строки(Length) если она превышает допустимую длину, то менянм шрифт у memo-поля в отчёте..
реализуется так:

Код:
 
var
  obj:TfrxMemoView;  
begin
 obj := frxReport1.FindObject('memo1') as TfrxMemoView;
 if Length(Form1.Caption)>=6 then
   obj.Font.Size := 12
 else
   obj.Font.Size := 8;
 frxReport1.ShowReport();  
 

вместо Form1.Caption - подставляешь то что у тебя будет вставляться в строку...
 
будет чего непонятно, пиши...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 20:35 11-10-2005
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
Сформулирую задачу по-другому:
например, есть поле, ширина которого - 10 см.
Под длиной текста, я понимаю ФИЗИЧЕСКУЮ длину текста (сантиметры, пиксели и т.д.), а не Length.
Если длина текста больше ширины поля (10 см), то уменьшается размер шрифта, до тех пор пока не выполнится условие:
 Длина текста < Ширины поля.  

Всего записей: 936 | Зарегистр. 30-09-2005 | Отправлено: 20:58 11-10-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vitus_Bering
т.е. твоя проблема заключается в том что тебе надо высчитать длину текста в пикселях или сантеметрах?

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 22:40 11-10-2005 | Исправлено: DroN_S, 23:10 11-10-2005
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
В сантиметрах, чтобы сравнить с шириной поля.

Всего записей: 936 | Зарегистр. 30-09-2005 | Отправлено: 10:10 12-10-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vitus_Bering

Цитата:
В сантиметрах, чтобы сравнить с шириной поля.  

почему с шириной? тебе же длина нужна?

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 11:02 12-10-2005
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
Длина текста должна сравниваться с шириной поля, в которое этот текст выводится.

Всего записей: 936 | Зарегистр. 30-09-2005 | Отправлено: 11:09 12-10-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vitus_Bering
например можно так:  

Код:
 
  {Canvas.Font.PixelsPerInch - точек на дюйм}
  {1 дюйм = 2,54}
  {тогда бет выглядет вот так:}
 
  pixels := Label1.Canvas.TextWidth(label1.Caption); //длина строки в пикселах
  sant:= pixels/label1.Canvas.Font.PixelsPerInch*2.54;//длина в сантиметрах
 

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 11:47 12-10-2005
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
спасибо.
 
 
Добавлено:
DroN_S
спасибо.

Всего записей: 936 | Зарегистр. 30-09-2005 | Отправлено: 12:11 12-10-2005
abv



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Можно ли с помощью fast report решать следующую задачу, и если да, то в какую сторону копать (ищу замену своему давно устаревшему генератору отчетов):
 есть приложение, которое через определенные интерфейсы выдает наборы данных, есть ряд заготовленных отчетов (планируется сделать заготовки разных отчетов fast report), нужно написать плагин, который, в зависимости от выбранного отчета, будет передавать ему нужные данные от приложения, и с помощью fastreport получать отчет.

Всего записей: 267 | Зарегистр. 23-08-2001 | Отправлено: 13:31 16-10-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abv
к твоей задаче, fast report вообще имеет маленькую роль, т.к. тебе необходимо перед формированием отчёта сопоставлять твои выходные данные, которые тебе выдаёт программа, с файлом-шаблона, который более или менее подходит для этих данных...
 
либо, посмотри пример, программа Бизнес Пак, там есть набор шаблонов, есть данные, которые хранятся в базе данных, затем пользователь выбирает нужный ему шаблон и формирует отчёт...
 
P.S. более подходящий вариант для для твоей задачи...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 14:11 16-10-2005
abv



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DroN_S
 Бизнес Пак посмотрел - но это совсем не то. Это, как я понял, просто средство получения каких-то отчетов, притом заточенных под бухгалтерию.
 
 Может я не совсем правильно сформулировал, что мне нужно. В принципе да, мне надо в модуле, который будет связывать программу с построителем отчетов, реализовать запрос и получение нужных данных из другого модуля, и передачу этих данных построителю отчетов вместе с шаблоном отчета. То есть, на входе имеем какой-то произвольный шаблон отчета, на основе этого шаблона определяем, какие данные нам нужны, запрашиваем эти данные у другого модуля, и запукаем построитель отчетов с этими данными.
Вот и хотелось бы узнать, можно ли в качестве построителя отчетов использовать fast report, то есть, насколько демократично можно в рантайме скормить ему произвольный шаблон отчета и данные для него. Или же может кто подскажет другой построитель отчетов, более подходящий под эту задачу.

Всего записей: 267 | Зарегистр. 23-08-2001 | Отправлено: 18:30 16-10-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abv

Цитата:
ищу замену своему давно устаревшему генератору отчетов

какой ты использовал генератор отчётов раньше?

Цитата:
Бизнес Пак посмотрел - но это совсем не то. Это, как я понял, просто средство получения каких-то отчетов, притом заточенных под бухгалтерию.  

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

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

зачем тебе лишние модули, зачем усложнять себе жизнь...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 12:11 17-10-2005
Bot

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет!
По умолчанию у Page задана ориентация poPortrait. Но во время генерации отчёта некоторые листы необходимо делать альбомными, т.е. Page2.Orientation:=poLandscape. Всё это должно выполняться в коде самого отчёта, а не Делфи. Но не работает. Не понимает значение poLandscape. Использую FastReport 3.0
Прописываю на вкладке Code.
 
procedure MasterData2OnBeforePrint(Sender: TfrxComponent);
begin
    if <frxDBDataset3."Height"><1.5*<frxDBDataset3."Width"> then
       begin
       Page2.Orientation:=poLandscape;
       end;
end;
 
Что не правильно?

Всего записей: 86 | Зарегистр. 09-02-2004 | Отправлено: 08:47 26-10-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bot

Цитата:
Но не работает. Не понимает значение poLandscape. Использую FastReport 3.0

Что он пишет? Какую ошибку?
 
 так вот всё работает  

Код:
 
begin
Page1.Orientation:=poLandscape;
end.
 

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 10:56 26-10-2005 | Исправлено: DroN_S, 11:00 26-10-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FastReport


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru