Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скорость заполнения Word-отчета 
:(
    Опции темы
Нитонисе
Дата 2.6.2010, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



xvr, как-то все очень сложно) чувствую нужно еще будет и VBA изучить, чтоб все это реализовать)
Надо бы что нибудь попроще.
PM MAIL   Вверх
Alca
Дата 2.6.2010, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Нитонисе, у тебя там тока таблицы??? Графики есть???

Добавлено через 6 минут и 9 секунд
Если тупо таблицы могу предложить грязный хак  smile 


--------------------
PM WWW ICQ Skype Jabber   Вверх
Нитонисе
Дата 2.6.2010, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(Alca @  2.6.2010,  17:58 Найти цитируемый пост)
Нитонисе, у тебя там тока таблицы??? Графики есть???

Таблицы и текстовая часть. Вид таблиц и их количество зависит от данных, хранящихся в глобальных переменных. Текстовую же часть в процессе работы программы формирую в ричэдит, а при формировании отчета копирую в буфер и вставляю в ворд.
PM MAIL   Вверх
Alca
Дата 2.6.2010, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Цитата

Надо бы что нибудь попроще.

Я выводил таблицы в эксель так:
- создаю таблицу с нужным форматирование, используя HTML (тэг <table>, <th>, <tr>, ...);
- сохраняю в текстовый файл с расширением xls;
- открываю файл экселем, используя функцию ShellExecute (ну или CreateProcess);
- эксель скажет пару ласковых слов, сейвлю CTRL+S;
Можно еще поиграться со стилями в HTML документа. 
Так намного быстрее делаются таблицы.  smile 

Это сообщение отредактировал(а) Alca - 2.6.2010, 22:08


--------------------
PM WWW ICQ Skype Jabber   Вверх
Нитонисе
Дата 3.6.2010, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Alca, это мне еще и HTML придется выучить?)
PM MAIL   Вверх
Alca
Дата 3.6.2010, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



По мне так HTML проще, чем все что тебе предлагали выше

Добавлено через 4 минуты и 22 секунды
Код

<HTML>
<TABLE BORDER=1 CELLSPACING=0 BORDERCOLOR=#0000FF CELLPADDING=5 WIDTH=450 rules=all>
<TR><TH>№</TH><TH>ID засоба</TH><TH>ID смарт-карти</TH><TH>Отримано вiд</TH><TH>Дата отримання</TH><TH>Пiдстава (договiр)</TH><TH>Пiдпис особи, що здiснила операцiю</TH><TH>Передано до</TH><TH>Дата передачi</TH><TH>Пiдстава (договiр)</TH><TH>Пiдпис особи, що здiснила операцiю</TH><TH>Примiтка</TH></TR>
</TABLE>
</HTML>


Это сообщение отредактировал(а) Alca - 3.6.2010, 11:58


--------------------
PM WWW ICQ Skype Jabber   Вверх
borisbn
Дата 3.6.2010, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



Цитата(Нитонисе @  3.6.2010,  11:26 Найти цитируемый пост)
Alca, это мне еще и HTML придется выучить?)

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


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Нитонисе
Дата 3.6.2010, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Спасибо за совет, может как нить и займусь осваиванием этого хакерского метода, но хотелось бы что-то родное сиплюсплюсшное)) Видимо простыми методами создание больших ворд-отчетов не ускорить(
PM MAIL   Вверх
xvr
Дата 3.6.2010, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Есть вполне 'родной' метод - напрямую сформировать Word'овый документ (без Word'а). Описание бинарного формата Word'овых документов лежит где то на сайте MS
(Но этот метод для настоящих джедаев  smile )

PM MAIL   Вверх
Нитонисе
Дата 4.6.2010, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



А может тут дело в коде, который я использую?
Я заметил что тормоза начинаются на строчках такого типа:
Код

MyTable->Rows->Item(1)->SetHeight(20,wdAdjustNone);
MyTable->Rows->Item(2)->SetHeight(20,wdAdjustNone);

Тут я задаю высоту первых двух строчек таблицы.
И во время компиляции на этих строчках появляются предупреждения:
[C++ Warning] UMain.cpp(1504): W8006 Initializing Word_2k::WdRowHeightRule with Word_2k::WdRulerStyle
Так как предупреждение не критическое, то программа компилируется и нормально работает, если не считать тормозов.
Может быть снижение скорости из-за этих строк? И о чем вообще предупреждает компилятор?
PM MAIL   Вверх
xvr
Дата 4.6.2010, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(Нитонисе @  4.6.2010,  18:26 Найти цитируемый пост)
Я заметил что тормоза начинаются на строчках такого типа:
Их всего 2, или больше? Таблица к этому моменту уже заполненна? Попробуй ресайзить пустую таблицу, а потом заполнять
Цитата

И о чем вообще предупреждает компилятор? 
О том, что 2й параметр у SetHight не из той оперы  smile Он ожидает enum типа Word_2k::WdRowHeightRule, а ты ему дал Word_2k::WdRulerStyle
Код

typedef enum WdRowHeightRule
{
  wdRowHeightAuto = 0, 
  wdRowHeightAtLeast = 1, 
  wdRowHeightExactly = 2
} WdRowHeightRule;
Попробуй MyTable->Rows->Item(1)->SetHeight(20,wdRowHeightExactly)
PM MAIL   Вверх
Нитонисе
Дата 4.6.2010, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(xvr @  4.6.2010,  19:03 Найти цитируемый пост)
Их всего 2, или больше? Таблица к этому моменту уже заполненна? Попробуй ресайзить пустую таблицу, а потом заполнять

Таблиц около 15-ти, в каждой выравниваю по 2-3 верхних строчки. Плюс еще ширину столбцов задаю у всех таблиц, там тоже тормозит, но компилятор не ругается. А работаю таким образом с пустой таблицей.

Цитата(xvr @  4.6.2010,  19:03 Найти цитируемый пост)
Попробуй MyTable->Rows->Item(1)->SetHeight(20,wdRowHeightExactly)

На этот код предупреждений не дает  smile 

Это сообщение отредактировал(а) Нитонисе - 4.6.2010, 20:48
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.2036 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.