Макросы VB в slk-отчетах

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Саша Г.
Местный житель
Сообщения: 281
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Пермь

Re: Макросы VB в slk-отчетах

Сообщение Саша Г. »

И мне, если можно : AlexandrG@smw.ru
Заранее, благодарен!
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Макросы VB в slk-отчетах

Сообщение m0p3e »

Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Макросы VB в slk-отчетах

Сообщение Deinis »

Судя по всему, файл отчета создается непосредственно в интерфейсе. А как можно скомпилить этот xls-файл, чтобы не пришлось в интерфейсе рисовать красивости, а можно их было нарисовать в самом xls (slk)-Файле и скомпилить его в ресурсник???
???
Если есть примеры, народ, поделитесь плиз!
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Макросы VB в slk-отчетах

Сообщение m0p3e »

Дейнис, Ты соственно о чем?
xl* функции работают напрямую с excel-eм. OLE там и прочая лабуда.
slk. Создается файл определенного формата (slk) и по окаонцанию формирования открывается ёкселем.
В чем вопрос?
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Макросы VB в slk-отчетах

Сообщение Deinis »

Думаю, мой вопрос будет понятен, если я уточню, что ни разу не делал отчета в Slk или Rtf формате. Все что я сделал в этой своей земной жизни ( ;) ) это один-единственный ard отчет, который имею желание выводить в Ёксель.
О формате slk знаю то, что в нем можно делать отчеты, просто скопировав туда построчно (по Ctrl+Ins) все, что написал в обычном текстовом файле и расставив выходные fields-ы каждый в свои ячейки с помощью "^". Тогда будет вызываться именно этот slk, то есть почти Эксель. В вышеприведенном фейсе от Bypasser видно, что xls-файл создается из самого интерфейса. А я хочу не просто его создать, а сделать там красивую шапку, красивое оформление. Это значит, что кроме функции создания на диске Ёксель-файла надо еще использовать кучу функций, которые обрамляют, раскрашивают в серый цвет то, что мне нужно и т.п. Если делать по-старинке, т.е. скопировать строки Ard-отчета в slk-файл, то там можно и обрамить и выделить и проч. И цифирки и слова разные будут выводиться в тот формат, который задан у ячеек этого файла в момент компиляции. Это я так думаю.
В этом же интерфейсе (от Bypasser), как я понимаю, ёксель-файл изначально не существует, а создается в момент работы отчета. Создается соответственно пустым потом его можно наполнять чем угодно, указывая непосредственные адреса ячеек. Ни тебе красивой шапочки, ни раскрасок никаких. Или же кроме rtf и slk можно еще и xls-файлы раскрасить, скопировать туда мой код из Ard и скомпилировать в res-файл, ? ???
Goblin
Местный житель
Сообщения: 474
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь-матушка
Контактная информация:

Re: Макросы VB в slk-отчетах

Сообщение Goblin »

Деинис, раскрасить, скопировать код ты сможешь - но без толку, компилятор не поймет . Компилятор форм понимает открытые структурированные форматы RTF,SLK и текстовые(кстати, если нужны красивости с раскраской и даже картинками - то то обычную текстовую форму можно при определенном знании синтаксиса HTML переделать и просматривать в любом инет-браузере).

Вот бы полное описание функций нарыть - в DLL-ке их куча , а в доке некоторых нет :(
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Макросы VB в slk-отчетах

Сообщение m0p3e »

Дейнис.
Правильно. Файл не существует. Формируется в момент выполнения фейса. Разукрасить можно как угодно. Ну или почти как угодно. slk бедный родственник по сравнению с тем функционалом, что дают xl* функции.

Туманов О.В.
ИМХО, многие функции промежуточные.

ЗЫ Заметил что при выводе большого объема данных тормозится отчет. ( xl* ). Есть у кого-нибудь наработки? Например
26 столбцов
27000 строк
около часа. 30% заполнения формулы.
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Re: Макросы VB в slk-отчетах

Сообщение GTHack »

для быстрого вывода юзайте матричные функции
XLCREATEMATRIX
XLCLEARMATRIX
XLFREEMATRIX
XLSTWRITETOMATRIX
XLDOWRITETOMATRIX
XLREADFROMMATRIX
XLWRITEMATRIXTOEXCEL
XLREADMATRIXFROMEXCEL

26 столбцов
27000 строк - формирование 3 минуты
правда выводил данные не из базы, а в цикле
и красоту всякую ими не получится навести, но данные и формулы выводить советую только ими - реально раз в 10 быстрее выводится.

по поводу заготовки - кто мешает создать пустой xls файл шаблон, где и параметры страницы задать и шапку сваять - потом открыть с помощью xlCreateExcelWithTemplate и работать уже с ним (всё быстрее получится, чем эту же шапку xls функциями выводить, а параметры страницы макросами настраивать)

полным описанием ф-ий никто не разжился ?
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Re: Макросы VB в slk-отчетах

Сообщение Max_Fin »

Используя макросы скорость увеличивается в 1,5-2 раза, все что ты формировал за 3 минуты, сделать можно за ~1,5-2 минуты
Жду выхода Вселенная 2.12!
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Re: Макросы VB в slk-отчетах

Сообщение GTHack »

допустим так - но если выводить данные не в цикле, как я делал для изучения скорости, а реальные данные из базы - как сюда приплести макросы ?
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Re: Макросы VB в slk-отчетах

Сообщение Max_Fin »

секрет фирмы - псевдокоманды, которые распознает твой макрос ;)
Жду выхода Вселенная 2.12!
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Макросы VB в slk-отчетах

Сообщение m0p3e »

Использование матрикс-функций на больших объемах данных дает ускорение в 50-150 раз. Когда получил инфу от разработчика не поверил. Когда проверил дико удивился... ;)
Ответить