Забыл сказать, что Table, как и Excel хочет разделитель не запятую, а точку с запятой.
Наверное, разделитель нужно детектить автоматически.
Table
-
- Attachments
-
-
1.csv (10.69 KiB)Downloaded 267 times
-
Из хаоса в космос
Table тот еще подарок. Цепляешься за одно и оно тянет другое и третье. Проблема в том, что нет нормальных библиотек!
Table 0.99.1а
- авто-определение разделителя: , или ;
- теперь программу можно открывать с параметром, т.е. проассоциировать CSV файлы (да, раньше это не работало)
- определение типа программы по расширению раньше работало только в нижнем регистре, т.е. /sys/COMA.CSV файл бы не открыло, теперь это исправлено
Я добавил ассоциации во все ФМ.
Table 0.99.1а
- авто-определение разделителя: , или ;
- теперь программу можно открывать с параметром, т.е. проассоциировать CSV файлы (да, раньше это не работало)
- определение типа программы по расширению раньше работало только в нижнем регистре, т.е. /sys/COMA.CSV файл бы не открыло, теперь это исправлено
Я добавил ассоциации во все ФМ.
- Attachments
-
-
coma.csv (10.69 KiB)Downloaded 263 times
-
semicolon.csv (10.69 KiB)Downloaded 268 times
-
Из хаоса в космос
Ух ты... Оперативненько. Спасибо. Работает. ![Very Happy :D](./images/smilies/icon_biggrin.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)
The Glass is Always Half Full! ![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
Table 0.99.2: select all by CTRL+A or click on the left top cell.
Из хаоса в космос
Table 0.99.3: три небольших исправления.
Однако обнаружился очень неприятный баг: программа падает если что либо скопировать в файле /kolibrios/res/templates/table_apps(rus).csv
Баг еще со старой версии Table, т.е. баг "движка", а там все непросто.
Однако обнаружился очень неприятный баг: программа падает если что либо скопировать в файле /kolibrios/res/templates/table_apps(rus).csv
Баг еще со старой версии Table, т.е. баг "движка", а там все непросто.
Из хаоса в космос
Репорт http://bugs.kolibri-n.org/index.php?id=61 :
Проблема была именно в размере файла, если он меньше 512 байт, то тупо возвращалась запятая как разделитель. Теперь это исправлено.
7897 - 7898 fixedTABLE игнорирует точку с запятой
На форуме было написано, что приложение может автоматически распознать разделитель как запятую или точку с запятой, но эта функция сейчас не работает. Пример: https://yadi.sk/i/gFeT8TfNxJGvTw
Проблема была именно в размере файла, если он меньше 512 байт, то тупо возвращалась запятая как разделитель. Теперь это исправлено.
Из хаоса в космос
Эта проблема появляется из-за добавления флага /GL при компиляции программы на SVN. Без данного флага бага нет.GRAPH & TABLE непредвиденные скобки
В определенных случаях в вещественной части числа вместо цифр пишется символ скобки.
GRAPH: https://yadi.sk/i/7gfcip-PgGrH7A
TABLE: https://yadi.sk/i/xfn5ZpjlA3pwhA
dunkaist может ты знаешь как это решить?
Возможно проблема появляется в результате оптимизации этого участка https://prnt.sc/16pid3u (но это не точно).
Из хаоса в космос
Code of TABLE has many places with UB.
Optimization only reveals existing bugs, not creates them.
To fix TABLE means to fix those UBs first of all.
Optimization only reveals existing bugs, not creates them.
To fix TABLE means to fix those UBs first of all.
I didn't manage to setup MSVC compiler on my system to test my edits, but here is an obvious UB that may affect contents of an editbox. The issue is that eax is not guaranteed to contain key_editbox when the __asm block is finished. There are several same places in the mentioned hello.cpp file.
I fixed this particular UB with the following wrapper (for GCC, Intel syntax):
Somebody with access to MSVC compiler can rewrite my inline asm into ms-style and check if it helps.
How to check: enter '=1/3' to any table cell (without quotes).
Another UB is here: a function doesn't return any value. You can find more wrapper functions without return values.
I fixed this particular UB with the following wrapper (for GCC, Intel syntax):
Code: Select all
void call_edit_box_key(dword key, edit_box *box) {
__asm__ __volatile__ (
"push %[box];"
"call %[edit_box_key]"
:
: "a"(key),
[box] "r"(box),
[edit_box_key] "r"(edit_box_key)
: "memory");
}
How to check: enter '=1/3' to any table cell (without quotes).
Another UB is here: a function doesn't return any value. You can find more wrapper functions without return values.
Когда обнова?(
![Question :?:](./images/smilies/icon_question.gif)
![Question :?:](./images/smilies/icon_question.gif)
![Question :?:](./images/smilies/icon_question.gif)
Who is online
Users browsing this forum: No registered users and 12 guests