powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Параметр MaxLenght
23 сообщений из 23, страница 1 из 1
Параметр MaxLenght
    #34931640
AdmigatorR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет люди, пробую читать и писать в потоки. Пишу текст, здоровый(>32000 символов). Так вот в док. нашел, что процедура $piece() работает с текстом, который не больше 32.000. А с потоками, думал нет ограничений. Кто знает как это обойти, или настроить правильно.
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34931705
NoGot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поконкретнее опишите что именно пишете/читаете. Может получится блоками по 32к...
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34931893
AdmigatorR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаю из мемо в : пробовал в стринговое свойство, и в поток. Исправляюсь: ошибка MAXSTRING, даже если поставить (MAXLEN=34000).
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34932013
NoGot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понял немного, где у вас там юзается $p и для чего? И почему нельзя писать блоками по 32к?
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34932099
AdmigatorR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно примерчик. Не встречал такого. Делаю так
автор
Set Var=SomeString //SomeString>32000

а по 32к как?
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34932185
NoGot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реализация зависит от задачи. Как и откуда вы считываете эту строку? Причем тут функция $piece вообще? Опишите все конкретно, если хотите чтобы вам помогли. А то ничего непонятно откуда куда и что...
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34932350
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы присваиваете строку куда то в локальную переменную, а внутри $P работа идет скорее всего с ними... то вступают в действия ограничения локальных переменных, а именно строка not > 32Кб. Либо следует перезжать на Cach'e 2007 - где зявляется поддержка "безразмерных" строк..

Что до примера со потоками - там как и в любом потоке есть функция Read

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
#define BUF_SIZE  32000 
set len=$$$BUF_SIZE
for  { 
 set str=stream.Read(.len)
 w str
 quit:len<$$$BUF_SIZE
}
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34935934
AdmigatorR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PtnЕсли вы присваиваете строку куда то в локальную переменную, а внутри $P работа идет скорее всего с ними... то вступают в действия ограничения локальных переменных, а именно строка not > 32Кб.[/src]
Привет всем. Можно добить вопросик. Немного отвлекся. Так вот, строку присваиваю в глобал, сразу, но я понял, что один нод, глобала может содержать не больше (32 - 1)Кб символов. А как разбить строку при записи?
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34935949
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модифицируй пример Ptn
#define BUF_SIZE 32000
set len=$$$BUF_SIZE
for i=1:1 {
set str=stream.Read(.len)
s ^tmp(i)=str
quit:len<$$$BUF_SIZE
}


----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34935953
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
#define BUF_SIZE  32000 
set len=$$$BUF_SIZE
for i= 1 : 1  { 
set str=stream.Read(.len)
s ^tmp(i)=str
quit:len<$$$BUF_SIZE
}
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34937645
AdmigatorR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снова к этой теме. Вы уж звените молдована. Суть нашел. Конкретно:
автор
Property Prop As %Stream
Method SomeMeth(Srt As %String)
{
do ##this.Prop.Write(Str)
}

или же
автор
Property Prop As %Stream
Method SomeMeth(Srt As %Strеam)
{
do ##this.Prop.Write(Str)
}

и в том и другом случае при передаче в метод текста из мемо большего 32000 символов - выдает MAXSTRING. Мож снова не туда.
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34937805
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Второй пример неверен .... Write принимает в аргументах строку а не стрим - если хотите передавать внутрь SomeMeth таки стрим то следует писать нечто вроде CopyFrom

Код: plaintext
1.
2.
3.
4.
Property Prop As %Stream
Method SomeMeth(Srt As %Strеam)
{
do ##this.Prop.CopyFrom(Str)
}

Первый пример верный - но что Вас _заставляет_ передавать в SomeMeth строку больше 32К ума не приложу...
Пишется _строка_- строка имеет ограничение на размер - на кол-во записаных строк ограничения нет - зачем заведомо нарушать ограничение и потом задаваться вопросом почему не выходить как минимум странно

Так же есть подозрение что доку вы не читали .... она ж в базу встроенная блин :(
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34937851
AdmigatorR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ptn
Первый пример верный - но что Вас _заставляет_ передавать в SomeMeth строку больше 32К ума не приложу...

Ок. Тогда вопрос по другому. Есть текст (1000Кб). Его необходимо сохранить в глобале. Строка имеет ограничение 32К -1 символов. Тогда посоветуйте, как? Как Вам новая суть вопроса. По-моему более понятна.
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34937899
''
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
''
Гость
AdmigatorRЕсть текст (1000Кб). Его необходимо сохранить в глобале.
Этот текст, где есть? В Cache или в клиентском приложений (Java, Delphi, C# , ...)?
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34937931
NoGot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, говорил же. Все вернулось на первые вопросы которые я задавал. А стоило бы в первом же посте автору указать все как можно конкретней, ответ был бы получен уже пару дней назад...
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34937937
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мдя.... :( а приведенные примеры они ни на какие мысле не наводять ? нет ?

Читаеш этот мегобайт (откуда то - ибо ты не сказал) _ПОРЦИЯМИ_ по 32000 и пишеш - хочешь в глобал, хочешь в стрим...
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34937968
AdmigatorR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В клиентском. Только для начала я делал GUI на Makova Studio, думал можно средствами Каше его разбить, но ничего не нашел.
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34938267
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdmigatorRдумал можно средствами Каше его разбить
Так мы тебе про кащейские средства и пишем.
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34938337
AdmigatorR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaТак мы тебе про кащейские средства и пишем. Спасибо, что пишите. По примеру.
автор#define BUF_SIZE 32000
set len=$$$BUF_SIZE
for {
set str=stream.Read(.len)
w str
quit:len<$$$BUF_SIZE
} Мне же надо записать в поток, а не читать из него по 32000.
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34938449
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример записи в "стремное" поле...
...
S file=##class(%FileBinaryStream).%New()
S file.Filename="c:\box\myfile.txt"
S obj=##class(My.Test).%New()
D obj.Txt.CopyFrom(file)
D obj.%Save()
D obj.%Close()
D file.%Close()
...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34938456
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все забываю src прилеплять
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
...
S file=##class(%FileBinaryStream).%New()
S file.Filename="c:\box\myfile.txt"
S obj=##class(My.Test).%New()
D obj.Txt.CopyFrom(file)
D obj.%Save()
D obj.%Close()
D file.%Close()
...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34944879
AdmigatorR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет Всем. Снова я. В процессе. Записать-то он записывает, файлик в глобале. Нет проблемм. вопрос теперь споит по кодировке. Я устанавливал с поддержкой Unicoda. Вопрос уже задавался, но ответа не нашлось. По док. надо настроить утилиткой сnls.exe поддержку нац. языка. Хоть убей а кнопочка Ок не активируеться. А файлы могут быть в кодировке dos,windows,unicode. Как правильно сделать? Может Кто знает.
...
Рейтинг: 0 / 0
Параметр MaxLenght
    #34945259
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кодировку внешних файлов придется определять самом - а потом преобразовывать
Как то так ...
Получить строку в исходной кодировке KOI8R - функция вернут в строку в текущей кодировке Каще - если у вас Юникод - то соотвественно юникод
Код: plaintext
1.
w $ZCONVERT(somestring,"I","KOI8R")

только нужно учитывать что размер строки может увеличится

ЗЫ: Наименование кодировок лучше глянуть - в cnls
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Параметр MaxLenght
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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