libxlsxwriter for Clarion

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

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 13 Октябрь 2018, 20:12

RaFaeL писал(а):
13 Октябрь 2018, 19:53
Так то от винды зависит, в туркляндии будут тугрики
Таки это же надо сообразить …
Во всех примерах (в т.ч. и "русском" Microsoft Excel) в маске формата, ПЕРЕД суммой стоит символ валюты: $
Кто же знал, что она подлая, будет его заменять на символ "рупь" да еще переносить его после суммы …
Эт только методом тыка познаётся. :)
«V» значит Вендетта !

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 882
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 13 Октябрь 2018, 20:39

Я о том, что если откроете файл в винде с американскими региональными настройками, то отобразятся доллары, от чего могут возникнуть нюансы

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4209
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 13 Октябрь 2018, 20:59

RaFaeL писал(а):
13 Октябрь 2018, 20:39
файл в винде с американскими региональными настройками
Я ж с того и начал … Если задавать маску ячейки "'#,##0.00 Р;[Red]#,##0.00 Р'" - то везде будет рупь,
но я не знаю как из Clarion записать символ рубля … Если задавать через номер встроенного формата -
то с символом национальной валюты проблем нет, но могут быть нюансы в зависимости от локализации.
В общем, нет полного сщастия. :(
«V» значит Вендетта !

Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2299
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

libxlsxwriter for Clarion

Сообщение Дед Пахом » 13 Октябрь 2018, 21:19

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

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

#,##0.00 UNICHAR(8381);[Red]#,##0.00 UNICHAR(8381)
где 8381 - код рубля?
С уважением, ДП

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4209
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 13 Октябрь 2018, 21:26

Не хочет она так. Совсем … Видимо в маске формата функции не работают, это же не формула ...
«V» значит Вендетта !

Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2299
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

libxlsxwriter for Clarion

Сообщение Дед Пахом » 13 Октябрь 2018, 21:38

А если 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.
С уважением, ДП

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4209
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 13 Октябрь 2018, 21:47

Вот и я, что-то подобное пытался прикрутить … Не хочет оно так. :(
«V» значит Вендетта !

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 882
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 13 Октябрь 2018, 21:48

Там надо передать нечто, что при конвертации из 1251 в UTF-8 даст этот набор символов

Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2299
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

libxlsxwriter for Clarion

Сообщение Дед Пахом » 13 Октябрь 2018, 22:29

Для очистки совести надо проверить <0e2h,082h,0bdh>, но думаю, тоже не сработает.
А вот этот пример https://libxlsxwriter.github.io/utf8_8c-example.html что означает?
С уважением, ДП

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 882
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 13 Октябрь 2018, 22:41

Экспериментируйте

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

libxlsxwriter for Clarion

Сообщение Губин Игорь » 11 Февраль 2019, 14:57

Предлагаю в 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
Ветеран
Сообщения: 882
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 11 Февраль 2019, 15:28

Спасибо, заменю

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

libxlsxwriter for Clarion

Сообщение Губин Игорь » 11 Февраль 2019, 15:35

RaFaeL писал(а):
11 Февраль 2019, 15:28
Спасибо, заменю
Было бы хорошо, но уже поздно, использовать при вызове функций порядок переменных аналогичный dExcel.
А то приходится переписывать кучу всего :idied:
Это я только кажусь дураком! На самом деле я полный идиот!

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 882
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 11 Февраль 2019, 15:38

Было бы хорошо, но уже поздно, использовать при вызове функций порядок переменных аналогичный dExcel.
Никогда не пользовались. Порядок переменных приближен к оригинальной библиотеке, где это возможно, чтобы не писать свою документацию )

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4209
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 11 Февраль 2019, 15:57

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

Ответить