Автор | Сообщение |
|
| |
Пост N: 83
Зарегистрирован: 08.11.05
|
|
Отправлено: 19.06.06 12:49. Заголовок: TsBrowse
Решил поэкспериментировать с примерчиком из MiniGui (16i) TsBrowse(в частности модуль SbArray.prg). Обнаружил интересные вещи: 1. если в массив завести цифры с двумя нулями после запятой (100.00 и тп), то вводится только целая часть. 2. если после запятой ввести какие-нибудь цифры (100.40 и тп) то число выводится целиком 3. если цифр после запятой больше двух, то отображаются только два разряда после запятой. При этом третий разряд после запятой округляется. Вопрос такой - как в TsBrowse осуществяется управление форматом вывода чисел в ячейках?
|
|
|
Ответов - 13
[только новые]
|
|
|
| постоянный участник
|
Пост N: 170
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.06.06 14:13. Заголовок: Re:
В отношении третьего пункта у меня есть предположение, что число выводится в соответствии с установками SET DECIMALS и SET FIXED. Може быть можно как-то задавать для колонки формат вывода через EVAL?
|
|
|
|
| |
Пост N: 84
Зарегистрирован: 08.11.05
|
|
Отправлено: 19.06.06 14:32. Заголовок: Re:
Григорьев Владимир Спасибо. Григорьев Владимир пишет: цитата: | Може быть можно как-то задавать для колонки формат вывода через EVAL? |
| А в каком месте?
|
|
|
|
| постоянный участник
|
Пост N: 171
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.06.06 14:38. Заголовок: Re:
Честно скажу, совершенно не знаю, так как не работаю с xHarbour. Это надо смотреть исходный код определение самого класса TsBrowse. Я лишь высказал свои общие соображения. Кто-то еще должен откликнуться.
|
|
|
|
| |
Пост N: 18
Зарегистрирован: 17.10.05
|
|
Отправлено: 19.06.06 15:01. Заголовок: Re:
Я нашел ошибки в исх.коде - послал Филатову, пока жду. В h_tbrowse.prg 2495,2783: uData := Transform(uData, cPicture )
|
|
|
|
| модератор
|
Пост N: 190
Зарегистрирован: 25.05.05
|
|
Отправлено: 19.06.06 15:37. Заголовок: Re:
krutoff пишет: цитата: | Я нашел ошибки в исх.коде - послал Филатову, пока жду. В h_tbrowse.prg 2495,2783: uData := Transform(uData, cPicture ) |
| Это уже было поправлено, начиная с версии 17b: uData := Transform( If( Valtype( uData ) != "C", cValToChar( uData ), uData ), cPicture ) Следите за обновлениями!
|
|
|
|
| |
Пост N: 85
Зарегистрирован: 08.11.05
|
|
Отправлено: 19.06.06 16:18. Заголовок: Re:
Поставил 17d. Пол-дня сидел изучал Help по TsBrowse Все равно не понятно как управлять форматом вывода ячеек столбца.
|
|
|
|
| |
Пост N: 19
Зарегистрирован: 17.10.05
|
|
Отправлено: 19.06.06 16:45. Заголовок: Re:
Может я, конечнои не прав, но: как раз этот оператор и дает неправильное форматирование uData := Transform( If( Valtype( uData ) != "C", cValToChar( uData ), uData ), cPicture ) Я поставил вместо него uData := Transform(uData, cPicture ) и после єтого заработадл вывод 3-х и больше знаков после запятой и т.д.
|
|
|
|
| |
Пост N: 86
Зарегистрирован: 08.11.05
|
|
Отправлено: 19.06.06 17:09. Заголовок: Re:
krutoff Я тоже поробовал: заменил, пересобрал библиотеку, пересобрал проект - никаких изменений, работае по-старому.
|
|
|
|
| |
Пост N: 20
Зарегистрирован: 17.10.05
|
|
Отправлено: 19.06.06 17:47. Заголовок: Re:
Я беру hmgsrc_ex_17d.zip.zip: h_tbrowse.prg от 5.06.2006 11:37 (332704) строки 2495,2784: uData := Transform( If( Valtype( uData ) != "C", cValToChar( uData ), uData ), cPicture ) заменяю на: uData := Transform(uData, cPicture ) Пересобираю библиотеку TBROWSE пересобираю свой проект - и форматирование идет OK.
|
|
|
|
| |
Пост N: 21
Зарегистрирован: 17.10.05
|
|
Отправлено: 19.06.06 17:48. Заголовок: Re:
Да забыл написать - это все под xHarbour
|
|
|
|
| |
Пост N: 87
Зарегистрирован: 08.11.05
|
|
Отправлено: 19.06.06 17:58. Заголовок: Re:
krutoff Я все так и сделал. И тоже под xHarbour. Но не идет. Результата не вижу: как работало так и работает. Может все-таки где-то надо указывать в каком формате выводить данные в ячейке?
|
|
|
|
|
| модератор
|
Пост N: 191
Зарегистрирован: 25.05.05
|
|
Отправлено: 19.06.06 18:04. Заголовок: Re:
krutoff пишет: цитата: | заменяю на: uData := Transform(uData, cPicture ) Пересобираю библиотеку TBROWSE пересобираю свой проект - и форматирование идет OK |
| Олег! Спасибо за наводку: похоже, что проблема в использовании функции cValToChar(), которая использует при конвертации установку _SET_DECIMALS
|
|
|
|
| |
Пост N: 22
Зарегистрирован: 17.10.05
|
|
Отправлено: 20.06.06 09:01. Заголовок: Re:
Я не пробовал столбцы без применения PICTURE, я использовал жесткое указание формата столбца: PICTURE '999.999' и т.д. Попробуйте, должно пройти. А функцию TRANSFORM, по моему, к символным строкам лучше не применять.
|
|
|
|