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

Давно хотел понять как работают эти конструкции, но не знаю
где можно об этом читать и разобраться.
Примерно такие: S len=$A(len)*16777216+($A(len,2)*65536)+($A(len,3)*256)+$A(len,4)
Спасибо.
...
Рейтинг: 0 / 0
19.12.2013, 16:20
    #38506733
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
ValeriuДоброго дня !

Давно хотел понять как работают эти конструкции, но не знаю
где можно об этом читать и разобраться.
Примерно такие: S len=$A(len)*16777216+($A(len,2)*65536)+($A(len,3)*256)+$A(len,4)
Спасибо.а что вас смущает в такой конструкции ? тут только одна функция , а как работает видно из кода.
...
Рейтинг: 0 / 0
19.12.2013, 16:27
    #38506753
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
и судя по всему на входе в переменной len, должна быть последовательность из 4 символов, по типу адреса
...
Рейтинг: 0 / 0
19.12.2013, 16:44
    #38506800
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
DAiMor,
Хорошо.
А почему именно *16777216 ? ...
...
Рейтинг: 0 / 0
19.12.2013, 16:45
    #38506803
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
Valeriu ,
Очень похоже наConverts a four-byte string to a number.

$ZLASCII Пример s len="ABCD"
 w $A(len,4)*16777216+($A(len,3)*65536)+($A(len,2)*256)+$A(len,1),!
 w $A(len,4)*256 + $A(len,3)*256 + $A(len,2)*256 + $A(len,1),!
 w $ZLA(len),!

Результат:
Код: plaintext
1.
2.
1145258561
1145258561
1145258561
...
Рейтинг: 0 / 0
19.12.2013, 16:47
    #38506807
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
ValeriuDAiMor,
Хорошо.
А почему именно *16777216 ? ...(A*256 3 )+(B*256 2 )+(C*256 1 )+(D*256 0 )
...
Рейтинг: 0 / 0
19.12.2013, 16:53
    #38506818
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
Valeriu ,

Чтобы считало правильно именно по Вашей формуле, нужно только обратить строкуПример s len="ABCD"
 w $A(len)*16777216+($A(len,2)*65536)+($A(len,3)*256)+$A(len,4),!
 w $ZLA($RE(len)),!Результат:
Код: plaintext
1.
1094861636
1094861636
...
Рейтинг: 0 / 0
19.12.2013, 16:57
    #38506826
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
servit,
Понятно, спасибо.
У меня старые МСМ-кие API.
При переходе на GT.M никак не могу добиться
получить со стороны клиента переменную равной 1 Мб,
а только 32 Кб ... А хочется пользоваться этой привилегии.
...
Рейтинг: 0 / 0
19.12.2013, 17:01
    #38506845
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
Valeriu ,

Сlar.
...
Рейтинг: 0 / 0
19.12.2013, 17:17
    #38506903
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
ValeriuПри переходе на GT.M никак не могу добиться
получить со стороны клиента переменную равной 1 Мб,
а только 32 Кб ... А хочется пользоваться этой привилегии. M String Length

The maximum length of an M string is restricted to 1,048,576 bytes. Therefore, depending on the characters used, the maximum number of characters could be reduced from 1,048,576 (1M) characters to as few as 262,144 (256K) characters.

Database Key and Record Sizes

The maximum allowed size for database keys (both global and nref keys) is 255 bytes, and for database records is 32K bytes. Application developers must be aware that the keys or data containing multi-byte characters in Unicode are limited at a smaller number of characters than the number of available bytes.

Extensions for Unicode™ support
...
Рейтинг: 0 / 0
19.12.2013, 17:54
    #38506982
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
Valeriu,

на comp.lang.mumps вам сам "отец" GT.M объяснил, почему этого нельзя для файлов.
Для сокетов, очевидно, по той же причине - максимальная длина записи при вводе-выводе.
...
Рейтинг: 0 / 0
19.12.2013, 18:17
    #38507010
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
Alexey Maslov,
Я через сокет и M/Wire без проблем посылаю
серверу строку в 1 Мб .
...
Рейтинг: 0 / 0
19.12.2013, 18:28
    #38507022
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где с этим можно ознакомится ?
Прямо из того что проекспериментировал
На VB:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Command5_Click()
 Dim Ret As String
 Dim cnt As Integer
 Dim a As String
 a = ""
 For cnt = 1 To 10000
 a = a & "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
 Next cnt
 m.DoRoutine "long^res", a, Ret
 MsgBox Ret
End Sub


На GT.Mlong(Inp,Ret)
 s Ret=Inp
 q
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Где с этим можно ознакомится ? / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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