Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Smalltalk
Перезагрузить страницу Отчеты в Smalltalk как их делать
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
gerasim_sergey gerasim_sergey вне форума
Member
 
Сообщений: 24
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.05.2004
По умолчанию Отчеты в Smalltalk как их делать - 23.05.2004, 17:37

Интересно есть ли в Dolphin, VW встроенные средства генерации отчетов (просто я начинаю изучать Smalltalk и не знаю какой диалект выбрать по моему успех Borlad Delphi приобрел популярность из-за встроенной поддержки БД+геренатор отчетов),
если нет то какими кто генераторами пользуется?

--
gerasimsergey@bigmir.net

[/b]
Ответить с цитированием
  (#2 (permalink)) Старый
lvovin lvovin вне форума
Member
 
Сообщений: 82
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.02.2003
По умолчанию 25.05.2004, 12:35

Берешь любой с поддержкой ActiveX и вперед.
Ответить с цитированием
  (#3 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 25.05.2004, 18:09

lvovin - спасибо за ответ (а то мне уже показалось что на етот форум никто ходит), только нельзя ли подробнее, что вы конкретно имели ввиду.
Ответить с цитированием
  (#4 (permalink)) Старый
lvovin lvovin вне форума
Member
 
Сообщений: 82
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.02.2003
По умолчанию 25.05.2004, 18:47

Цитата:
Originally posted by Anonymous
[b]lvovin - спасибо за ответ (а то мне уже показалось что на етот форум никто ходит), только нельзя ли подробнее, что вы конкретно имели ввиду.
Есть репортеры, заточенные под конкретный язык/библиотеку, например под Delphi/VCL или C++/MFC. А есть такие, что предоставляют интерфейс в виде COM-объектов и ActiveX-контролов.
Например Crystal Reports, Afalina XLReport, DevExpress XpressPrinting System и т.д.
Большинство реализаций Smalltalk поддерживают хостинг ActiveX-компонент, так что подключение этих отчетов вполне осуществимо, но в каждом конкретном случае нужно разбираться отдельно...
Ответить с цитированием
  (#5 (permalink)) Старый
lvovin lvovin вне форума
Member
 
Сообщений: 82
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.02.2003
По умолчанию 25.05.2004, 18:50

Если тебя интересует, какой диалект лучше выбрать именно для создания десктопных приложений с поддержкой отчетов, то лучше остановиться на Dolphin. У него получше интеграция с внешним миром - DLL, COM, ActiveX - все это там подключается достаточно просто.
Практически все, что можно сделать в VB, осуществимо и в нем.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
gerasim_sergey gerasim_sergey вне форума
Member
 
Сообщений: 24
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.05.2004
По умолчанию 26.05.2004, 16:13

для lvovin.
Дело в том, что я пишу на Delphi, в нем многого нехватало, в частности
ООП так как описывается в литературе (колекции объектов, а не просто строки в БД и т.п.), через сайт XP.ru вышел на Ваш сайт, заинтерисовался Smalltalk (благодаря собщениям на форуме XP) - вижу там вроде бы просто (в отличие от Delphi) писать ООП-програмы, накачал кучу реализаций, пора бы взяться за них,
тут и возник вопрос как люди (вы и Александр Баран) делаете отчеты
в Smolltolk"e - потому и спрашиваю.
P.S. (Anonymous - это тоже я, просто не регистрировался).
Ответить с цитированием
  (#7 (permalink)) Старый
lvovin lvovin вне форума
Member
 
Сообщений: 82
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.02.2003
По умолчанию 26.05.2004, 18:59

На Delphi я категорически не пишу, поэтому с отчетами была напряженка и без Smalltalk-а. Приходилось на Visual C++ делать самопальную реализацию на основе грида.
Сейчас в основном пишу на Dolphin-е, с необходимостью создания отчетов еще непосредственно не столкнулся, но через некоторое время она возникнет.
Как я уже говорил, решение проблемы тут достаточно простое - нужно найти генератор отчетов, работающий через ActiveX. Их конечно поменьше чем для VCL, но достойные варианты имеются, типа тех, что я перечислил...
Ответить с цитированием
  (#8 (permalink)) Старый
Alex Baran Alex Baran вне форума
Member
 
Сообщений: 44
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.05.2004
По умолчанию 26.05.2004, 22:21

Я пришел в Smalltalk из Delphi. В Delphi работал над программой связанной с учетом различного горного оборудования(выходы из строя, ремонт, замены и т.д., все что мы одним словом называем историей болезни оборудования). Специфика задачи требует смотреть на информацию под разными углами. Нет такого понятия как оборотная ведомость материалов такой-то формы. Поэтому отчетов какой-то жесткой формы у нас не было. К тому-же были двумерные dataSet-ы(это когда столбцы также меняются как и колонки). Поэтому мы сделали перенос данных из любого DataSet-а в Excel. Это позволяет пользователю пошаманить с фильтрами и выкинуть данные в Excel.
Мы либо просто скидывали даные в буфер(что не требует создания временного файла, ведь юзеру надо думать над именем файла и куда его положить), либо создавали xls файл который содержал что-то вроде html-а.
Потом пошел Smalltalk и программа по ведению историй болезней электрических машин. Виды стали еще сложнее. Появились такие, хм как бы это лучше сказать, в которых вместо того чтобы отображать несколько разных записей в разных DataSet-x отображалась одна запись. Вообще интересная вещь, которую кстати пожелали заказчики. Так вот как стандартное средство репортинга с этим рыботать может я себе не представляю. Также есть двумерные редактируемые DataSet-ы в которых встречаются разнородные данные, например в одной колонке могут отображаться и редактироваться даты, объекты и числа.
Вот поэтому в нашей ситуации лучше дать возможность пользователю просто перекинуть нужный вид в Excel откуда он его может распечатать. А здесь все так-же как и в Delphi.

P.S. лучше свои вопросы задавать в fido7.ru.smalltalk
Там нас больше и заходим мы туда чаще
Ответить с цитированием
  (#9 (permalink)) Старый
Alex Baran Alex Baran вне форума
Member
 
Сообщений: 44
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.05.2004
По умолчанию 26.05.2004, 22:32

Мое мнение. Лучше придумать очень удобный вид чем ваять отчет. Почему? Потому что вид интерактивный. Когда после просмотра вида возникла какая-то мысль ее сразу можно проверить. Видвигаем гипотезу и тут-же ее проверяем. Но задачи бывают разные - где то надо простынки на строчнопечатных принтерах печатать Для отчентности. Чтобы никто не прочитал, а подпись поставил
Спросите ваших пользователей зачем им такой-то отчет. Может быть вы найдете решение получше.
На самом деле я согласен что некоторые вещи действительно лучше обдумывать на бумаге. Для этого мы выкидываем в Excel.
Ответить с цитированием
  (#10 (permalink)) Старый
lvovin lvovin вне форума
Member
 
Сообщений: 82
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.02.2003
По умолчанию 27.05.2004, 11:44

Есть генераторы отчетов, которые на основе шаблона выдают готовый документ Excel. В большинстве случаев это наилучшее решение, т.к. в Excel пользователь уже может делать с отчетом что угодно. А программисту не нужно заморачиваться с предварительным просмотром и прочее...
Ответить с цитированием
  (#11 (permalink)) Старый
Alex Baran Alex Baran вне форума
Member
 
Сообщений: 44
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.05.2004
По умолчанию 27.05.2004, 14:06

Именно так я делаю в Smalltalk. У меня лежат пустые файлы xls, в которых выставлины ширины столбцов, указанно форматирование, заголовки выделены серым, ...
В VisualWorks я копирую данные для отчета в clipboard. Потом открываю копию шаблона и из буфера автоматом(строчка кода на VB, неудобно что надо постоянно нажимать "Не отключать макросы") вставляются данные из clipboard.
Никакого стороннего генератора для этого не использую.

Чтобы скопировать в буфер строку:
Код:
Screen default 
    putExternalSelection: (IOAccessor convertStringForPlatform: aString)
            with: nil
Чтобы открыть ассоциированное с файлом приложение (в данном случае Excel):
Код:
MinimalShellInterface openFile: tempFile
MinimalShellInterface находится в WindowsGoodies[/code]
Ответить с цитированием
  (#12 (permalink)) Старый
gerasim_sergey gerasim_sergey вне форума
Member
 
Сообщений: 24
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.05.2004
По умолчанию 27.05.2004, 15:17

Спасибо за ответы.

Теперь по порядку.

Я начал новую тему - заходите, милости прошу.

- Ни один из перечисленных (Crystal Reports, , DevExpress XpressPrinting System) Вами генераторов я не использую (в Delphi), хотя Crystal смотрел, XLR - скачал думал посмотрю потом.
но по моему у них (тех что представлены в виде ActiveX) есть один недостаток - кроме .exe-шника нужно еще что-то ставить.

Для lvovin - Вы имели ввиду Afalina XLReport
(...Есть генераторы отчетов, которые на основе шаблона выдают готовый документ Excel. В большинстве случаев это наилучшее решение, т.к. в Excel пользователь уже может делать с отчетом что угодно. А программисту не нужно заморачиваться с предварительным просмотром и прочее......)
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
gerasim_sergey gerasim_sergey вне форума
Member
 
Сообщений: 24
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.05.2004
По умолчанию 27.05.2004, 15:47

для Alex Baran

В Delphi я тоже использовал Excel когда надо было делать т.н. "шахматку" - отчет с перемынным количеством колонок
- делаю просчет, записываю во временную таблицу
- из проги запускаю Excel (шаблон) со сводной таблицей.

Господа ничего что я пишу о Delphi, Smolltalk я только начал изучать
и многое не понимаю -- зато сразу понял что это то что искал,
второе- я думал знаю что такое ООП и иже с ними, а оказалось нифига я еще не знаю (пишу 4 года).

По поводу отчетов в Smalltalk - я думал что есть сердства типа тех что в делфи - бросил в базу, вывел отчет на екран - и все

т.е. тоже, только может (так как в смоллтолке все обекты) что-то что будет отобжать коллекцию обектов в виде отчета.



P. S. если я что не так сказал - то поправте, я еще слишком мало знаю. как в смоллтолк так и ООП и програмировании
Ответить с цитированием
  (#14 (permalink)) Старый
zamsky zamsky вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.04.2004
По умолчанию 28.05.2004, 11:48

Мы скидываем отчёты в Excel через ODBC. Также у нас есть layer для генерации html, главным образом используется для создания active server-side pages под http server Swazoo и сервера статистики, работающего по TCP с Apache.
Ответить с цитированием
  (#15 (permalink)) Старый
alexpro alexpro вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.02.2004
По умолчанию 28.05.2004, 16:15

Согласен - лучше использовать готовые решения для генерации отчетов (ActiveX, COM, ...), которые можно интегрировать в smalltalk.
Я пробовал встроить TeeChart (бизнес-графика) обьект в Dolphin 4 -
вполне рабочее решение. Правда, дальше экспериментов не пошел...
Тоже самое решение годится и для отчетов.

В своей банковской деятельности я пришел к выводу, что самое
лучшее решение следующее. На уровне базы данных (у меня это Oracle) или сервера приложений (это может быть smalltalk) формировать XML файл с данными - содержание отчета. У клиента делать интерпретацию (средствами XSLT, Smalltalk) этих данных в нужную проекцию - плоский файл, Excel, HTML, PDF и т.д. Просто и надежно.

Сейчас у меня работает следующий механизм. Stored procedure формирует xml-файл, который приходит к клиенту. На клиенте запускается интерпретатор - обычный vbs скрипт - который
разбирает этот xml и через механизм OLE automation заносит эти данные в word(excel)-файл. Если интересно - могу бросить пример.
Smalltalk для отчетов пока не использую... Здесь смайлик.
Но идеи есть.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Smalltalk и Self что лучше Cornered_Rat Smalltalk 2 14.11.2009 22:57
Как переписать программу с SmallTalk V на VisualAge SmallTalk Novikov Smalltalk 1 25.10.2007 15:43
Smalltalk/X как с ним работать imported_frfr Smalltalk 3 01.07.2007 17:57
Можно ли стандартными средствами MFC создавать сложные отчеты Eugene_ Visual C++ 8 11.12.2006 18:48
Little Smalltalk 3 как с ней работать Saemon Zixel Smalltalk 4 27.08.2006 22:18
Требуется программист Smalltalk Eugene Beschastnov Работа 2 08.02.2006 12:22
Как сделать отчеты через Word Alina Delphi 2 21.06.2005 16:15
Какие отчеты лучше и где взять компоненты Alina Delphi 2 14.03.2005 14:34
VisualAge for Smalltalk как с ним работать SergeySS Smalltalk 12 02.11.2004 01:11
Как создавать отчеты в Excel через VB Amadeuss Visual Basic 4 28.04.2004 12:14
Smalltalk Express как с ним работать SergeySS Smalltalk 4 12.03.2003 20:39



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов