List & Label 18
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Дед Пахом
- Старичок
- Сообщения: 3135
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Re: List & Label 18
Виноват, забыл.
Собственно, это всё те же файлы для 15-й версии, только 15 везде заменено на 16.
Код: Выделить всё
NAME CLALL16X GUI
EXPORTS
TYPE$LL @?
VMT$LL @?
INITCARD@F2LLOsbOsb @?
OPEN@F2LL @?
DETAIL@F2LL @?
NEWPAGE@F2LL @?
CLOSE@F2LL @?
KILL@F2LL @?
INITLABEL@F2LLOsbOsb @?
INITLIST@F2LLOsbOsb @?
DESIGN@F2LL @?
DEFGROUP@F2LLRgPgPgPg @?
DEFGROUP@F2LLBqBqBqBq @?
DEFQUEUE@F2LLBqBqBqBq @?
DEFDATE@F2LLsbOsb @?
DEFDATE@F2LLsbRu @?
DEFSTR@F2LLsbOsb @?
DEFSTR@F2LLsbRu @?
DEFRTF@F2LLsbOsb @?
DEFRTF@F2LLsbRu @?
DEFHTML@F2LLsbOsb @?
DEFHTML@F2LLsbRu @?
DEFNUM@F2LLsbOsb @?
DEFNUM@F2LLsbRu @?
DEFPIC@F2LLsbOsb @?
DEFPIC@F2LLsbRu @?
PRINTTOFILE@F2LLsb @?
PRINTTOPREVIEW@F2LL @?
PRINTTOPRINTER@F2LL @?
DATADEF@F2LL @?
PRINTFROM@F2LLBq @?
PRINTFROM@F2LLBf @?
PRINTFROM@F2LLBi @?
PRINTFROM@F2LL @?
DEFBC@F2LLsbsbOsb @?
DEFBC@F2LLsbsbRu @?
PRINTTO@F2LLsbUc @?
ERROR@F2LL @?
ENABLE@F2LLsb @?
DISABLE@F2LLsb @?
Собственно, это всё те же файлы для 15-й версии, только 15 везде заменено на 16.
С уважением, ДП
Re: List & Label 18
Надысь ошибку поймал
Elsif Instring('.JPG',Upper(Self.Target),1,1)
Ext='PICTURE_JPG'
Надо
Elsif Instring('.JPG',Upper(Self.Target),1,1)
Ext='PICTURE_JPEG'
Elsif Instring('.JPG',Upper(Self.Target),1,1)
Ext='PICTURE_JPG'
Надо
Elsif Instring('.JPG',Upper(Self.Target),1,1)
Ext='PICTURE_JPEG'
- Дед Пахом
- Старичок
- Сообщения: 3135
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Re: List & Label 18
Спасибо, исправил у себя.Yufil писал(а):Надысь ошибку поймал
Elsif Instring('.JPG',Upper(Self.Target),1,1)
Ext='PICTURE_JPG'
Надо
Elsif Instring('.JPG',Upper(Self.Target),1,1)
Ext='PICTURE_JPEG'
С уважением, ДП
- morkovin
- Ветеран
- Сообщения: 909
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Re: List & Label 18
Не понял, какие шаблоны вы используете? Я беру отсюда:
http://sourceforge.net/projects/clarion ... ecommended
Работает со всеми версиями LL, но может у вас навороченные какие-то темплейты?
Странно, почему у меня их нет.
http://sourceforge.net/projects/clarion ... ecommended
Работает со всеми версиями LL, но может у вас навороченные какие-то темплейты?
Странно, почему у меня их нет.
WBR, morkovin
Re: List & Label 18
Я когда-то делал, лет 15 назад, для L&L 7. С тех пор толком и не переделывал, меня всё в основном устраивает...
Что там приятно:
- можно напрямую из Клариона передать буфера файлов, группы и очереди. Все поля, подходящие по типу, на автомате передаются редактору отчётов с подходящим типом. Но тип может быть и изменён.
Self.DefNum('P_C:PTR',P_C:PTR) ! Передаёт числовое поле как P_C.PTR
Self.DefNum('P_C:YEAR',P_C:YEAR)
Self.DefStr('P_C:NAME',P_C:NAME) ! Передаёт строковое поле
Self.DefStr('P_C:DOLG',P_C:DOLG)
Self.DefNum('P_C:FLAG',P_C:FLAG)
Self.DefDate('P_C:REGDATE',P_C:DATE_DATE) ! Передаёт дату
LOOP _Index1=1 TO 20; Self.DefNum('P_C:FLAG.' & _Index1 &'',P_C:FLAG[_Index1]) ;END ! Массив - как пачка полей
И дальше в отчёте поля доступны как P_C.Name, P_C.Dolg, P_C.Flag.1 .... P_C.Flag.20 и т.д.
Все эти поля доступны дизайнеру отчётов и собственно репортеру
- вид отчёта определяется именем-расширением файла. Печать в файл 'Printer' выведет данные сразу на принтер,
в файл 'Preview' - на предпросмотр, в файл, например, 'C:\File.PDF' - получим PDF - файл, ну и так далее, управлять типом файла не надо. На экран выводится меню выбора типа файла, которое определяет имя - и всё, класс сам определится, куда ему.
Также автоматом при необходимости откроется нужная программа на просмотр файла, если надо. Есть встроенная фича, но она не очень подходит, часто документ открывается в фоне.
В качестве эксперимента на свой страх и риск можно указать расширение .Doc, тогда будет сделан файл RTF, а после открытия MS Word будет сделана попытка по DDE преобразовать.
Если имя файла начинается на точку (например, '.PDF'), будет создан временный файл во временном каталоге. И откроется соответствующей программой (самый простой способ вывода, например, в Word) . Вопросы его удаления на совести программиста.
- Предусмотрено несколько вариантов печати отчётов:
- прямая печать из File/View/Queue ;
- печать из Browse с использованием его View c теми же фильтрами-сортировками;
- печать из Process c использованием его View;
- прямое управление циклом печати, если надо.
Собственно интерфейс API закрыт промежуточным классом, который подключается шаблонами.
На этих шаблонах сделал дохрена (числительное такое) отчётов за последние лет 10, научил человек пятнадцать пользоваться.
Что там приятно:
- можно напрямую из Клариона передать буфера файлов, группы и очереди. Все поля, подходящие по типу, на автомате передаются редактору отчётов с подходящим типом. Но тип может быть и изменён.
Self.DefNum('P_C:PTR',P_C:PTR) ! Передаёт числовое поле как P_C.PTR
Self.DefNum('P_C:YEAR',P_C:YEAR)
Self.DefStr('P_C:NAME',P_C:NAME) ! Передаёт строковое поле
Self.DefStr('P_C:DOLG',P_C:DOLG)
Self.DefNum('P_C:FLAG',P_C:FLAG)
Self.DefDate('P_C:REGDATE',P_C:DATE_DATE) ! Передаёт дату
LOOP _Index1=1 TO 20; Self.DefNum('P_C:FLAG.' & _Index1 &'',P_C:FLAG[_Index1]) ;END ! Массив - как пачка полей
И дальше в отчёте поля доступны как P_C.Name, P_C.Dolg, P_C.Flag.1 .... P_C.Flag.20 и т.д.
Все эти поля доступны дизайнеру отчётов и собственно репортеру
- вид отчёта определяется именем-расширением файла. Печать в файл 'Printer' выведет данные сразу на принтер,
в файл 'Preview' - на предпросмотр, в файл, например, 'C:\File.PDF' - получим PDF - файл, ну и так далее, управлять типом файла не надо. На экран выводится меню выбора типа файла, которое определяет имя - и всё, класс сам определится, куда ему.
Также автоматом при необходимости откроется нужная программа на просмотр файла, если надо. Есть встроенная фича, но она не очень подходит, часто документ открывается в фоне.
В качестве эксперимента на свой страх и риск можно указать расширение .Doc, тогда будет сделан файл RTF, а после открытия MS Word будет сделана попытка по DDE преобразовать.
Если имя файла начинается на точку (например, '.PDF'), будет создан временный файл во временном каталоге. И откроется соответствующей программой (самый простой способ вывода, например, в Word) . Вопросы его удаления на совести программиста.
- Предусмотрено несколько вариантов печати отчётов:
- прямая печать из File/View/Queue ;
- печать из Browse с использованием его View c теми же фильтрами-сортировками;
- печать из Process c использованием его View;
- прямое управление циклом печати, если надо.
Код: Выделить всё
LLReportx.Detail Procedure
! Что-то до печати детали
Result=Parent.Detail()
If Result
RETURN Result
Else
! Что-то после печати детали
End
На этих шаблонах сделал дохрена (числительное такое) отчётов за последние лет 10, научил человек пятнадцать пользоваться.
Re: List & Label 18
Относительно успешно работал на LL16 в CL 6. Начинал LL11 с шаблонами Юрия Философа и Андрея Мялина А вот перевод на Клашу 9 (в рамках сушествующих задач) не получается. Пробовал перекомпилировать библиотеки (Дедушка помогал). Пока безуспешно. Может поделитесь шаблонами и рабочими библиотеками?
П.З.Д.
Re: List & Label 18
Философов я
http://bezmuzei.ucoz.ru/index/0-10
А в чём проблема с компиляцией? Надо исправить шаблоны, чтобы ссылались на соответствующую версию Кларина (...С60...->...C80..., сделать то же самое с проектами (поправить ссылки) и исходниками (тоже могут быть). После чего загрузить и откомпилировать файлы .prj, один для standalone, другой для local . И получить два .lib файла и один .dll , каковые и скопировать в надлежащее место.
http://bezmuzei.ucoz.ru/index/0-10
А в чём проблема с компиляцией? Надо исправить шаблоны, чтобы ссылались на соответствующую версию Кларина (...С60...->...C80..., сделать то же самое с проектами (поправить ссылки) и исходниками (тоже могут быть). После чего загрузить и откомпилировать файлы .prj, один для standalone, другой для local . И получить два .lib файла и один .dll , каковые и скопировать в надлежащее место.
Re: List & Label 18
Спасибо, домучил... В Клаше 9 С60 -> CLA , ну и кое-что в исходниках подправил. Родословная впечатляет!
П.З.Д.
Re: List & Label 18
Прошу помощи! При перекачке программ под Кла 9 в одном из трех случаев уперся в ошибку "Duplicate symbol: MAIN@F in LLCLASS.OBJ, Tap_63a001.obj " Перекомпилировал библиотеки для LL. С двумя программами работает нормально. Где искать?
П.З.Д.
Re: List & Label 18
Хм... В LLClass процедура main сейчас пустая, мож убрать нафиг?
Но странно, до сих пор она никому не мешала.
Недавно наткнулся на аналогичный глюк, в XMLClass дублировалась ссылка XMLNameMap
После нескольких камланий с бубном помогла замена
XMLNameMap CLASS, MODULE('XMLNameMap.CLW'), LINK('XMLNameMap.CLW', _XMLLibLinkMode_),DLL(_XMLLibDllMode_)
на
XMLNameMap CLASS, MODULE('XMLNameMap.CLW'), LINK('XMLNameMap.CLW', _XMLLibLinkMode_),DLL(_XMLLibDllMode_),External
Почему - а ХЗ...
А ещё у меня в нескольких DLL были пустые процедуры Dummy, пришлось переименовывать. .
Похоже, у последних версий Клариона экспортируются лишние имена..
Но странно, до сих пор она никому не мешала.
Недавно наткнулся на аналогичный глюк, в XMLClass дублировалась ссылка XMLNameMap
После нескольких камланий с бубном помогла замена
XMLNameMap CLASS, MODULE('XMLNameMap.CLW'), LINK('XMLNameMap.CLW', _XMLLibLinkMode_),DLL(_XMLLibDllMode_)
на
XMLNameMap CLASS, MODULE('XMLNameMap.CLW'), LINK('XMLNameMap.CLW', _XMLLibLinkMode_),DLL(_XMLLibDllMode_),External
Почему - а ХЗ...
А ещё у меня в нескольких DLL были пустые процедуры Dummy, пришлось переименовывать. .
Похоже, у последних версий Клариона экспортируются лишние имена..
Re: List & Label 18
В LLClass переименовал процедуру и ОК после перекомпиляции ! За именами придется следить. Благодарствую!
П.З.Д.
Re: List & Label 18
Начала появлятся конфликт(дубль имени) между LL18 и модулем из LibSrc svapi.inc
POINT group,type
x signed
y signed
end
Что делать?
POINT group,type
x signed
y signed
end
Что делать?
Re: List & Label 18
Я в svapi.inc поправил описания на
_RECT_ group,type ! ЮФ Тип исправлен из-за многократного переобъявления
left signed
top signed
right signed
bottom signed
end
_POINT_ group,type ! ЮФ Тип исправлен из-за многократного переобъявления
x signed
y signed
end
_RECT_ group,type ! ЮФ Тип исправлен из-за многократного переобъявления
left signed
top signed
right signed
bottom signed
end
_POINT_ group,type ! ЮФ Тип исправлен из-за многократного переобъявления
x signed
y signed
end