Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как писать в глобаль Каше простой текст ? / 10 сообщений из 10, страница 1 из 1
20.11.2018, 09:42
    #39735432
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать в глобаль Каше простой текст ?
Доброго дня всем.

Хочу писать в некий глобаль простой текст.
Пользователь пишет в элемент <textarea>
на ВЕБ страницы и передает его содержимое на запись в глобал.
Если простой текст в одну строку, вроде все нормально:
^controlINC(20181101,1,1238,10,"11.30")=Test 1

Если с переводом строки:
^controlINC(20181101,1,1216,14,"20.30")=<<"Test1"_$C(10)_"Test2"_$C(10)_"Test3"_$C(10)_"Test4"_$C(10)_"Test5"_$C(10)>>

Если скопировать с какого то документа - вообще непонятно: ...
^controlINC(20181101,1,1210,10,"10.00")=<<"ам можеÑ"_$C(130)_" бÑ"_$C(139)_"Ñ"_$C(130)_"Ñ"_$C(140)_" необÑ"_$C(133)_"одимо измениÑ"_$C(130)_"Ñ"_$C(140)_" клÑ"_$C(142)_"Ñ"_$C(135)_" Windows 7. ТакаÑ"_$C(143)_" необÑ"_$C(133)_"одимоÑ"_$C(129)_"Ñ"_$C(130)_"Ñ"_$C(140)_" можеÑ"_$C(130)_" бÑ"_$C(139)_"Ñ"_$C(130)_"Ñ"_$C(140)_" вÑ"_$C(139)_"звана в Ñ"_$C(129)_"лÑ"_$C(131)_"Ñ"_$C(135)_"аÑ"_$C(143)_"Ñ"_$C(133)_": "_$C(10)_"Ð"_$C(146)_"Ñ"_$C(139)_" обновлÑ"_$C(143)_"еÑ"_$C(130)_"е

***Warning: String truncated !

Что неправильно ?

Спасибо
...
Рейтинг: 0 / 0
20.11.2018, 09:52
    #39735439
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать в глобаль Каше простой текст ?
Поспешил немного...
То что последний - кириллица , видимо что-то с кодировкой.
Но все ровно, сколько байт можно писать текста ???
В GT.M я свободно пишу 1 Мгб (строка)
...
Рейтинг: 0 / 0
20.11.2018, 11:09
    #39735484
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать в глобаль Каше простой текст ?
Valeriu,

Я так понимаю писать в глобалы без объектов хочешь?
не смог найти в документации ограничение на значение глобала, но насколько я помню, записать можно много.

Valeriu***Warning: String truncated !Насколько я помню, такое сообщение показывается в портале управления. И относится только к отображению. Сами данные на месте, и никуда не делись.
...
Рейтинг: 0 / 0
20.11.2018, 12:30
    #39735546
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать в глобаль Каше простой текст ?
DAiMorЯ так понимаю писать в глобалы без объектов хочешь?
Да. Я сторонник классического М.
Что пишу, стараюсь без изменения переносить код на другие М системы.
...
Рейтинг: 0 / 0
20.11.2018, 12:46
    #39735560
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать в глобаль Каше простой текст ?
Valeriu,

Long Strings

Появились, ЕМНИП, начиная с Cache 2007.1. Вплоть до 2009.(?) по умолчанию они были отключены. "String truncated" - возможно, сработало ограничение редактора глобалов, которым вы пользовались.
...
Рейтинг: 0 / 0
20.11.2018, 13:09
    #39735589
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать в глобаль Каше простой текст ?
Добавлю к этому, что ограничение длины строки в Cache определено в символах, в отличие от GT.M. Поэтому юникодовская строка Cache в 1 мегасимвол может не вписаться в ограничение 1 M Byte в GT.M. Безопасная длина для обеих СУБД - 512 килосимволов, при условии, что нет символов с кодами UTF-8 длиннее 2 байт.
...
Рейтинг: 0 / 0
21.11.2018, 01:34
    #39735892
logist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать в глобаль Каше простой текст ?
Valeriu,

Насчет кодировки -- нужно перекодировать кириллицу из UTF-8 при сохранении

set ^controlINC(20181101,1,1210,10,"10.00")=$zcvt(str,"I","UTF-8")
...
Рейтинг: 0 / 0
21.11.2018, 07:51
    #39735916
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать в глобаль Каше простой текст ?
Как по-мне, так лучше текст "нарубить" кусками определенной длины и записать в подузлы...
Код: javascript
1.
2.
3.
4.
^controlINC(20181101,1,1238,10,"11.30",1)=Test 1_1
^controlINC(20181101,1,1238,10,"11.30",2)=Test 1_2
...
^controlINC(20181101,1,1238,10,"11.30",N)=Test 1_N
...
Рейтинг: 0 / 0
21.11.2018, 08:51
    #39735929
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать в глобаль Каше простой текст ?
krvsa,

вы прямо заново изобретаете потоки. А вообще в таком хранении, кроме очевидного плюса в возможности хранить большие объемы данных есть и огромный минус в проблеме с их обработкой
...
Рейтинг: 0 / 0
21.11.2018, 13:53
    #39736111
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать в глобаль Каше простой текст ?
Блок А.Н.вы прямо заново изобретаете потоки.
Отнюдь...
Просто смотрю примеры, что приведены выше. Там нет такого хранения, но есть описание как настраивать Кащей, дабы влезло много данных.
Поскольку данных может быть много... И СУБД может быть не только Кащей, изменить способ хранения будет более уместным решением.

Блок А.Н.А вообще в таком хранении, кроме очевидного плюса в возможности хранить большие объемы данных есть и огромный минус в проблеме с их обработкой
Обрабатывать дольшие объемы данных уже проблема. Т.ч. не так уже и страшно...
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как писать в глобаль Каше простой текст ? / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]