libxlsxwriter for Clarion
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
libxlsxwriter for Clarion
Ну да, пересечение, и ошибок возврата нет.
Наверно правильно, т.к. всё пишется конвейером и такие ситуации должен отслеживать пользователь.
Наверно правильно, т.к. всё пишется конвейером и такие ситуации должен отслеживать пользователь.
C10, Win10x64
-
- ✯ Ветеран ✯
- Сообщения: 5002
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
libxlsxwriter for Clarion
ИМХО, нужна проверка на пересечение. Программист всё же человек, ошибиться может.
We are hard at work… for you.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1378
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
Я на это уже отвечал как-то. Я пишу в первую очередь враппер. Соответственно, если проверки нет в оригинальной библиотеке, почему она должна быть во враппере? Это надо какие-то свои коды ошибок тогда вводить и т.п. А цель разработки враппера не в этом
- Игорь Столяров
- Ветеран движения
- Сообщения: 7408
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
libxlsxwriter for Clarion
На самом деле это не единственная "проблема" приводящая к созданию битого XLSX.
Здесь просто нужно не упираться рогом, а проверить свой код, особенно когда несколько человек уже сказали о типичной ошибке.
За теми кто отстал - не возвращаться. (С) Кодекс
libxlsxwriter for Clarion
Спасибо за содействие. Буду разбираться почему строка не добавилась.
С уважением Larion.
-
- ✯ Ветеран ✯
- Сообщения: 5002
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
libxlsxwriter for Clarion
Конечно, во Враппере это неправильно делать. В исходной библиотеке надо делать. И другие проблемы в ней же надо решать. Пусть файл будет кривой. Но он хотя бы должен открыться.
We are hard at work… for you.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1378
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
Да он открывается, только с предупреждением. Говоришь открыть как есть и какой-то открывает
libxlsxwriter for Clarion
Да не надо ни там ни там что-то менять. Моё убеждённое мнение - это должен делать пользователь.
Очередь в памяти -> диапазон очередного merge -> дальше простая геометрия пересечения линий и четырёхугольников.
Очередь в памяти -> диапазон очередного merge -> дальше простая геометрия пересечения линий и четырёхугольников.
Ну так сделайте, уверен, что автор на запросный тикет ответит так же, как и я.
C10, Win10x64
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 22 раза
- Контактная информация:
libxlsxwriter for Clarion
Короче кто напишет - кидайте сюда. Сделаем ссылку в первом посте.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
libxlsxwriter for Clarion
Ну, примерно, что-то такое:
Код: Выделить всё
Program
Map
inter_ranges(long first_row, short first_col, long last_row, short last_col), long
.
diap_range Queue, pre(dr)
first_row long
first_col short
last_row long
last_col short.
Code
err# = inter_ranges(2, 2, 2, 6) ; do err_mesage ! 1диап.
err# = inter_ranges(3, 5, 7, 8) ; do err_mesage ! 2диап.
err# = inter_ranges(6, 2, 7, 5) ; do err_mesage ! 3диап.
err# = inter_ranges(9, 3, 11, 7) ; do err_mesage ! 4диап.
err# = inter_ranges(10, 5, 10, 7) ; do err_mesage ! 5диап.
Return
err_mesage Routine
Case err#
of 0; message('диапазоны не пересекаются|')
of 1; message('диапазоны пересекаются|')
of 2; message('ошибка дынных|')
.
!=====================================================================================================================================
inter_ranges Procedure(long first_row, short first_col, long last_row, short last_col)
! Return - 0 - нет пересечения; 1 - есть пересечение; 2 - ошибка в данных
Code
If (first_row = last_row and first_col = last_col) then Return 2.
If (first_row > last_row) then tmp_row# = last_row; last_row = first_row; first_row = tmp_row#.
If (first_col > last_col) then tmp_col# = last_col; last_col = first_col; first_col = tmp_col#.
nrq# = Records(diap_range)
If nrq# = 0 then
do add_diap_range
Return 0
.
Loop i# = 1 to nrq#
Get(diap_range, i#)
If ~((first_col > dr:last_col) or (last_col < dr:first_col) or (first_row > dr:last_row) or (last_row < dr:first_row)) then
Return 1
.
.
do add_diap_range
Return 0
add_diap_range Routine
dr:first_row = first_row ; dr:first_col = first_col; dr:last_row = last_row; dr:last_col = last_col
add(diap_range)
!=====================================================================================================================================
C10, Win10x64
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1378
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1378
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
Обновил версию библиотеки в шапке до 0.9.5, добавлены 2 каких-то вида линейных диаграмм
Надеюсь все для задания типа диаграмм использовали equate иначе вам придется править )
Надеюсь все для задания типа диаграмм использовали equate иначе вам придется править )
libxlsxwriter for Clarion
Что-то не могу сообразить - а как в пустой ячейке установить цвет заливки и цвет шрифта без применения xlsx.Write...()?
C10, Win10x64
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1378
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация: