libxlsxwriter for Clarion

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7326
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 13 Октябрь 2018, 19:53Так то от винды зависит, в туркляндии будут тугрики
Таки это же надо сообразить …
Во всех примерах (в т.ч. и "русском" Microsoft Excel) в маске формата, ПЕРЕД суммой стоит символ валюты: $
Кто же знал, что она подлая, будет его заменять на символ "рупь" да еще переносить его после суммы …
Эт только методом тыка познаётся. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Я о том, что если откроете файл в винде с американскими региональными настройками, то отобразятся доллары, от чего могут возникнуть нюансы
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7326
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 13 Октябрь 2018, 20:39файл в винде с американскими региональными настройками
Я ж с того и начал … Если задавать маску ячейки "'#,##0.00 Р;[Red]#,##0.00 Р'" - то везде будет рупь,
но я не знаю как из Clarion записать символ рубля … Если задавать через номер встроенного формата -
то с символом национальной валюты проблем нет, но могут быть нюансы в зависимости от локализации.
В общем, нет полного сщастия. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение Дед Пахом »

А нельзя вызвать встроенную в Excel функцию UNICHAR, как-то так:

Код: Выделить всё

#,##0.00 UNICHAR(8381);[Red]#,##0.00 UNICHAR(8381)
где 8381 - код рубля?
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7326
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Не хочет она так. Совсем … Видимо в маске формата функции не работают, это же не формула ...
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение Дед Пахом »

А если libxlsxwriter работает в UTF-8, можно передать рубль так:

Код: Выделить всё

'#,##0.00 <0eh,02h,08h,02h,0bh,0dh>;[Red]#,##0.00 <0eh,02h,08h,02h,0bh,0dh>'
где <0eh,02h,08h,02h,0bh,0dh> символ рубля в utf-8.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7326
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Вот и я, что-то подобное пытался прикрутить … Не хочет оно так. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Там надо передать нечто, что при конвертации из 1251 в UTF-8 даст этот набор символов
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение Дед Пахом »

Для очистки совести надо проверить <0e2h,082h,0bdh>, но думаю, тоже не сработает.
А вот этот пример https://libxlsxwriter.github.io/utf8_8c-example.html что означает?
С уважением, ДП
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Экспериментируйте
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

libxlsxwriter for Clarion

Сообщение Губин Игорь »

Предлагаю в xlsxwriter.inc и clw заменить

Код: Выделить всё

  MODULE('xlsxwriter.clw')
    FormDateTime(*XLSX:datetime dt_,LONG date_,LONG time_)
    FormLine(*XLSX:chart_line_ line_,<LONG color_>,<BYTE none_>,<REAL width_>,<BYTE dash_type_>,<BYTE transparency_>)
    FormFill(*XLSX:chart_fill fill_,<LONG color_>,<BYTE none_>,<BYTE transparency_>)
    FormFont(*XLSX:chart_font font_,<REAL size_>,<LONG style_>,<LONG rotation_>,<LONG color_>)
    RGBColor(LONG color),LONG
    GetSystemColor(LONG Color),LONG
  END
на

Код: Выделить всё

  
  MODULE('xlsxwriter.clw')
    XLSX:FormDateTime(*XLSX:datetime dt_,LONG date_,LONG time_)
    XLSX:FormLine(*XLSX:chart_line_ line_,<LONG color_>,<BYTE none_>,<REAL width_>,<BYTE dash_type_>,<BYTE transparency_>)
    XLSX:FormFill(*XLSX:chart_fill fill_,<LONG color_>,<BYTE none_>,<BYTE transparency_>)
    XLSX:FormFont(*XLSX:chart_font font_,<REAL size_>,<LONG style_>,<LONG rotation_>,<LONG color_>)
    XLSX:RGBColor(LONG color),LONG
    XLSX:GetSystemColor(LONG Color),LONG
  END
Это будет гарантировать от конфликтов с похожими наименованиями у пользователя
Последний раз редактировалось Губин Игорь 11 Февраль 2019, 15:36, всего редактировалось 1 раз.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Спасибо, заменю
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

libxlsxwriter for Clarion

Сообщение Губин Игорь »

RaFaeL писал(а): 11 Февраль 2019, 15:28Спасибо, заменю
Было бы хорошо, но уже поздно, использовать при вызове функций порядок переменных аналогичный dExcel.
А то приходится переписывать кучу всего :idied:
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Было бы хорошо, но уже поздно, использовать при вызове функций порядок переменных аналогичный dExcel.
Никогда не пользовались. Порядок переменных приближен к оригинальной библиотеке, где это возможно, чтобы не писать свою документацию )
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7326
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Губин Игорь писал(а): 11 Февраль 2019, 15:35при вызове функций порядок переменных аналогичный dExcel
Напишите свой subclass вызова методов XLSXWriter в удобном Вам виде для замены (как в dExcel, цеExcel и т.д.) ;)
Мы ниже это обсуждали. Я так делал при переводе копипастом кода отчётов с OLE Excel … :)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить