Clarion & External Reports System
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Clarion & External Reports System
Привет всем!
Интересует решение вопросов взаимодействия с внешними системами отчётов:
1)Что есть на выбор кроме известных FastReport и Crystal Report для работы с Clarion?
2)Как подключить взаимодействие между приложением Clarion (runtime) и внешней системой отчётов на целевом компьютере пользователя?
3)Какая субъективно система отчётов имеет большие преимущества?
4)Необходимы реальные примеры взаимодействия Clarion с внешними системами отчётов
5)Есть ли доступные готовые исходники и шаблоны?
Интересует решение вопросов взаимодействия с внешними системами отчётов:
1)Что есть на выбор кроме известных FastReport и Crystal Report для работы с Clarion?
2)Как подключить взаимодействие между приложением Clarion (runtime) и внешней системой отчётов на целевом компьютере пользователя?
3)Какая субъективно система отчётов имеет большие преимущества?
4)Необходимы реальные примеры взаимодействия Clarion с внешними системами отчётов
5)Есть ли доступные готовые исходники и шаблоны?
С Уважением, Developer
Clarion & External Reports System
Игорь Столяров предоставил ссылку на версию FastReport Studio ActiveX
скачать здесь: http://fast-report.com/pbc_download/fr_studio_trial.msi
Но вот как подключить COM объект FastReport Studio ActiveX для Clarion и как с ним работать пока ничего не получилось.
Может кто реально работал с COM объектом FastReport Studio ActiveX с Clarion?
Пожалуйста, помогите реальными решениями и примерами.
скачать здесь: http://fast-report.com/pbc_download/fr_studio_trial.msi
Но вот как подключить COM объект FastReport Studio ActiveX для Clarion и как с ним работать пока ничего не получилось.
Может кто реально работал с COM объектом FastReport Studio ActiveX с Clarion?
Пожалуйста, помогите реальными решениями и примерами.
С Уважением, Developer
- Игорь Столяров
- Ветеран движения
- Сообщения: 7419
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 50 раз
Clarion & External Reports System
List&Label (на FTP быть загружен может), TX Text Control (на FTP быть загружен может), FominReport (на FTP быть загружен не может)
За теми кто отстал - не возвращаться. (С) Кодекс
Clarion & External Reports System
Есть хороший пример по работе с OLE OCX
Что и где модифицировать для работы с ActiveX DLL
Код: Выделить всё
PROGRAM
INCLUDE('KEYCODES.CLW')
MAP
INCLUDE('OCX.CLW') !from LibSrc
SelectOleServer FUNCTION(OleQ PickQ),STRING
END
INCLUDE('ERRORS.CLW') !Include errorcode constants
SaveLinks FILE,DRIVER('TopSpeed'),PRE(SAV),CREATE
Object BLOB
Record RECORD
LinkWidth BYTE ! 32 = 32-bit
LinkType STRING(1) !F = File, B = BLOB
LinkFile STRING(64) !OLE Compound Storage file name and object
END
END
BitWidth BYTE(32) !32-bit OLE objects
i LONG !Loop counters
j LONG
ResultQ QUEUE !Queue to hold return from OLEDIRECTORY
Name CSTRING(64)
CLSID CSTRING(64)
ProgID CSTRING(64)
END
MainWin WINDOW('OLE Demo'),AT(,,313,158),STATUS(-1,-1),TIMER(1),SYSTEM,GRAY,MAX,RESIZE
MENUBAR
MENU('&File')
ITEM('e&xit'),USE(?exit)
END
MENU('&Objects')
ITEM('Create Object'),USE(?CreateObject)
ITEM('Paste Object'),USE(?PasteObject),DISABLE
ITEM('PasteLink Object'),USE(?PasteLinkObject),DISABLE
ITEM('Save Object to BLOB'),USE(?SaveObjectBlob),DISABLE
ITEM('Save Object to OLE File'),USE(?SaveObjectFile),DISABLE
ITEM('Retrieve Saved Object'),USE(?GetObject),DISABLE
END
MENU('&Activate')
ITEM('&Any OLE Object'),USE(?ActiveOLE),DISABLE
END
END
OLE,AT(0,1,313,157),USE(?AnyOLEObject),FULL,COMPATIBILITY(01H),AUTOSIZE
MENUBAR
MENU('&Clarion App')
ITEM('&Deactivate Object'),USE(?DeactOLE)
END
END
END
END
CODE
OPEN(SaveLinks)
IF ERRORCODE() !Check for error on Open
IF ERRORCODE() = NoFileErr ! if the file doesn't exist
CREATE(SaveLinks) ! then create it
IF ERRORCODE() THEN HALT(,ERROR()).
OPEN(SaveLinks) ! then open it for use
IF ERRORCODE() THEN HALT(,ERROR()).
ELSE
HALT(,ERROR())
END
END
OPEN(MainWin)
MainWin{PROP:StatusText,1} = 'Loading saved object'
DISPLAY
IF RECORDS(SaveLinks) !Check for existing saved record
SET(SaveLinks) ! and get it
NEXT(SaveLinks)
IF BitWidth = SAV:LinkWidth !Check object's bit width
POST(EVENT:Accepted,?GetObject) ! and display it if same as
DO MenuEnable ! the current compile
ELSE
CLEAR(SAV:Record) !Otherwise, lose the object
SAV:Object{PROP:Size} = 0
PUT(SaveLinks)
END
ELSE
ADD(SaveLinks) ! or add blank record
END
IF ERRORCODE() THEN HALT(,ERROR()).
MainWin{PROP:StatusText,1} = ''
SETCURSOR
ACCEPT
CASE EVENT()
OF EVENT:CloseWindow
?AnyOLEObject{PROP:Deactivate}
OF EVENT:Timer
IF CLIPBOARD()
IF ?AnyOLEObject{PROP:CanPaste} !Can Paste object from the clipboard?
IF ?PasteObject{PROP:Disable} THEN ENABLE(?PasteObject).
ELSIF NOT ?PasteObject{PROP:Disable}
DISABLE(?PasteObject)
END
IF ?AnyOLEObject{PROP:CanPasteLink} !Can PasteLink object from clipboard?
IF ?PasteLinkObject{PROP:Disable} THEN ENABLE(?PasteLinkObject).
ELSIF NOT ?PasteLinkObject{PROP:Disable}
DISABLE(?PasteLinkObject)
END
END
OF EVENT:Accepted
CASE FIELD()
OF ?Exit
POST(EVENT:CloseWindow)
OF ?CreateObject
FREE(ResultQ)
OLEDIRECTORY(ResultQ,0) !Get a list of installed OLE Servers
?AnyOLEObject{PROP:Create} = SelectOleServer(ResultQ) !Let the user pick one
?AnyOLEObject{PROP:DoVerb} = 0 !Activate OLE Server in its default mode
DO MenuEnable
OF ?PasteObject
?AnyOLEObject{PROP:Paste} !Paste the object
SETCLIPBOARD('Paste Completed') !Assign non-object text to clipboard
DO MenuEnable
OF ?PasteLinkObject
?AnyOLEObject{PROP:PasteLink} !PasteLink the object
SETCLIPBOARD('PasteLink Completed') !Assign non-object text to clipboard
DO MenuEnable
OF ?SaveObjectBlob !Save object to BLOB
SAV:Object{PROP:Size} = 0 !Clear any current object
SAV:Object{PROP:Handle} = ?AnyOLEObject{PROP:Blob}
SAV:LinkType = 'B'
SAV:LinkWidth = BitWidth
PUT(SaveLinks)
IF ERRORCODE() THEN STOP(ERROR()).
OF ?SaveObjectFile !Save to OLE Compound Storage file
?AnyOLEObject{PROP:SaveAs} = 'TEST1.OLE\!Object'
SAV:LinkFile = 'TEST1.OLE\!Object'
SAV:LinkType = 'F'
SAV:LinkWidth = BitWidth
PUT(SaveLinks)
IF ERRORCODE() THEN STOP(ERROR()).
OF ?GetObject
IF SAV:LinkType = 'F' !Saved to OLE Compound Storage file?
?AnyOLEObject{PROP:Open} = SAV:LinkFile
ELSIF SAV:LinkType = 'B' !Saved to BLOB?
?AnyOLEObject{PROP:Blob} = SAV:Object{PROP:Handle}
END
DISPLAY
OF ?ActiveOLE
?AnyOLEObject{PROP:DoVerb} = 0 !Activate OLE Server in its default mode
OF ?DeactOLE
?AnyOLEObject{PROP:Deactivate} !Return to the Clarion application
END
END
END
MenuEnable ROUTINE !Enable menu items
ENABLE(?ActiveOLE)
ENABLE(?SaveObjectBlob,?GetObject)
SelectOleServer FUNCTION(OleQ PickQ)
window WINDOW('Choose OLE Server'),AT(,,493,222),CENTER,GRAY,SYSTEM
LIST,AT(11,8,480,159),USE(?List),HVSCROLL,FROM(PickQ),FORMAT('146L~Name~' & |
'@s64@135L~CLSID~@s64@20L~ProgID~@s64@'),ALRT(MouseLeft2)
BUTTON('Select'),AT(10,180),USE(?Select)
END
CODE
OPEN(window)
SELECT(?List,1)
ACCEPT
IF EVENT() = EVENT:AlertKey THEN POST(EVENT:Accepted,?Select).
CASE ACCEPTED()
OF ?Select
GET(PickQ,CHOICE(?List))
IF ERRORCODE() THEN STOP(ERROR()).
POST(EVENT:CloseWindow)
END
END
RETURN(PickQ.ProgID)
Что и где модифицировать для работы с ActiveX DLL
С Уважением, Developer
- morkovin
- Ветеран
- Сообщения: 910
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Clarion & External Reports System
http://forum.clarionlife.net/phpbb/viewtopic.php?t=2949Что и где модифицировать для работы с ActiveX DLL
WBR, morkovin
Clarion & External Reports System
Morkovin спасибо за отклик, но у FastReport нет OCX а только DLL
Приведённый мной пример отображает все возможные внедряемые объекты OLE - FastReport в списке OLE нет
Приведённый мной пример отображает все возможные внедряемые объекты OLE - FastReport в списке OLE нет
С Уважением, Developer
Clarion & External Reports System
Немного отошёл от этой тематики в последнее время..
Недавно успешно собрал шаблоны-классы для List & Label 21 для Clarion 10 (http://www.combit.net)
Выглядит очень симпатично.
Недавно успешно собрал шаблоны-классы для List & Label 21 для Clarion 10 (http://www.combit.net)
Выглядит очень симпатично.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7419
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 50 раз
Clarion & External Reports System
Это тогда Вам вот сюда надо: http://www.ingasoftplus.com/ProductDeta ... oductID=24
В принципе, можно интерфейс и ручками расписать, но муторно это ...
За теми кто отстал - не возвращаться. (С) Кодекс
- morkovin
- Ветеран
- Сообщения: 910
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Clarion & External Reports System
А где же шаблоны? В них есть поддержка Master-Detail?Недавно успешно собрал шаблоны-классы для List & Label 21...Выглядит очень симпатично
WBR, morkovin
-
- ✯ Ветеран ✯
- Сообщения: 1704
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Clarion & External Reports System
Вы бы указали какие выходные документы хотите получать, по мне для стандартных задач достаточно FRB http://www.fomintools.com/frb.htm - просто и быстро.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Clarion & External Reports System
Да, Михаил (Дед Пахом) в этом деле хороший специалист Надеюсь на его помощьЭто тогда Вам вот сюда надо: http://www.ingasoftplus.com/ProductDeta ... oductID=24
В принципе, можно интерфейс и ручками расписать, но муторно это ...
Но самому надо вникать - однако для меня пока сложновато
С Уважением, Developer
Clarion & External Reports System
gopstop2007 Спасибо за отклик!
Да и опыт необходимо приобрести по работе с COM (OLE, ActiveX) - поэтому интересуюсь этой темой
Так существующие шаблоны на платной основе - может есть старые бесплатные предыдущие версии?Вы бы указали какие выходные документы хотите получать, по мне для стандартных задач достаточно FRB http://www.fomintools.com/frb.htm - просто и быстро.
Да и опыт необходимо приобрести по работе с COM (OLE, ActiveX) - поэтому интересуюсь этой темой
С Уважением, Developer
Clarion & External Reports System
В List & Label поддержка групп выполнена в самом отчёте. Дело программы-передать данные отчёту, а как выводить (заголовки, поля данных, строки детали, итоговые записи и многое другое) определяется внутри отчёта. Там каждый элемент (и каждое свойство элемента) может определяться выражением, а видимость - логическим условием. Немного нестандартно, по сравнению с Кларионом, но быстро привыкаешь.А где же шаблоны? В них есть поддержка Master-Detail?
А потом начинаешь получать кайф, подсаживаешься на List&Label - и всё, конец тебе...
- Игорь Столяров
- Ветеран движения
- Сообщения: 7419
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 50 раз
Clarion & External Reports System
Да, вроде был FRB бесплатный какой-то релиз старой версии ...
Точнее сказать не могу, посмотри на сайте и вокруг него. Или поспрашивай у фанатов этого движения.
За теми кто отстал - не возвращаться. (С) Кодекс
Clarion & External Reports System
Юрий - спасибо за отклик!В List & Label поддержка групп выполнена в самом отчёте. Дело программы-передать данные отчёту, а как выводить (заголовки, поля данных, строки детали, итоговые записи и многое другое) определяется внутри отчёта. Там каждый элемент (и каждое свойство элемента) может определяться выражением, а видимость - логическим условием. Немного нестандартно, по сравнению с Кларионом, но быстро привыкаешь.
А потом начинаешь получать кайф, подсаживаешься на List&Label - и всё, конец тебе...
Может есть какие конкретные примеры и шаблоны для List & Label ?
С чего начинать для их использования - опыта с External Reports пока совсем нет
С Уважением, Developer