Отправляет email-рассылки с помощью сервиса Sendsay

[prg] работают ли у кого эти функции?

Здравствуйте.

посылал вчера письмо, но в полученных сообщениях его нет. прошу прощения повторю его еще. так-как скорей всего оно не прошло.
при тестировании скрипта, в jaws выяснил, что функции
LoWord
HiWord
не работают. сообщается, что вызвана неизвестная функция. хотя в справочнике fsdn справке по шифт+ф1, а также в списке функций по контрол+ i все есть. это у меня такое или и у других тоже не работает, эти функции были заявлены с 6.0 jaws.. проверял на 2019 и 2020 версиях.

Ответить   Fri, 13 Nov 2020 14:38:00 +0300 (#3660768)

 

Ответы:

Приветствую всех!
Следите за синтаксисом (регистр не играет роли):
highword()
lowword()

13.11.2020 15:38, Анатолий Ивашков пишет:

Ответить   i_chay Fri, 13 Nov 2020 21:50:18 +0400 (#3660780)

 

Здравствуйте, i_chay.

отвечаю на письмо от 13 ноября 2020 г., 20:50:18:

про эти речи нет они работают. из описания я так понялфункции отдают либо старшуюлибо младшую часть слова в десятичном исчеслении.
вот что я прочел в справке

Function: LowWord
Description
retrieves the low-order word from the specified value

Returns
Type: Int
Description: The low-order word from the specified value

Parameters
Param 1:
Type: Int
Description: Specifies the value to be converted.
Include: Required

Version
This function is available in the following releases:

JAWS 7.10 and later
Magic 10.5 and later

а те, которые я написал они не работают.. и должны отдавать правые 16 бит либо левые 16 бит из 32 битного слова как я понял в двоичной системе.
вот справка:

Function: LoWord
Description
Obtains the low-order 16-bits of a number.

Returns
Type: int
Description: the low-order 16-bits of the number.

Parameters
Param 1:
Type: int
Description: a 32-bit number which for the purposes of this function is always treated as unsigned.
Include: Required

Version
This function is available in the following releases:

JAWS 6.00 and later
Magic 10.5 and later

может я что-то нитак понял.

Ответить   Fri, 13 Nov 2020 21:18:17 +0300 (#3660782)

 

Приветствую всех!
Разрядность Word (слово) составляет 16 бит. действие указанных функций
для целочисленного аргумента (int) эквивалентно.

Можете также сравнит результат работы lowword() и предполагаемый результат работы LoWord() как вы его себе представляете:

var int i = 0xffff0001
sayinteger(lowword(i))
Вы услышите "1", что и является значением 16-ти младших битов переменной i.
Напомню, что в 16-разрядном представлении целых чисел каждая числовая
позиция занимает 4-бита, то есть 0x0001 --имеет длину 16 бит (т.е. слово).

Успехов. Анатолий.

Ответить   i_chay Sun, 15 Nov 2020 08:00:51 +0400 (#3660860)

 

Здравствуйте, i_chay.

отвечаю на письмо от 15 ноября 2020 г., 7:00:51:

слово).

это все понятно, но я спрашивал не о том. мне нужен конечный результат. если
в справке сказано, что lowWord, отдает младшее слово, т.е например:
ffff00cb
отдаст шеснадцатиричное число00cb
то функция loWordкак я понял отдаст двоичное число
0000 0000 1100 1011
т.е. по битно. а если это не так, то зачем freeDom вводили последнюю
функцию,
тем более, что она была заявлена в jaws 6.0
в отличии от первой функции, которая
появилась в 7.10 версии.

Ответить   Sun, 15 Nov 2020 17:59:34 +0300 (#3660879)

 

Приветствую всех!

Не бывает шестнадцатеричных или двоичных чисел. Числа бывают целые
(натуральные), вещественные, комплексные и т.п.
Не путайте значение типа int с его символьным представлением.
То, как вы записываете число в своём коде или выводите на экране, это
всего лишь символьное представление числа, но от смены этого
представления значение самого числа не меняется.
В ячейки памяти всегда будет хранится одно и то же значение, не зависимо
от того, как оно отображается на экране.
Пример:
10 -- это десятичное представление;
0x0a -- это шестнадцатеричное представление;
012 -- это восьмеричное представление;
и так далее.
Но во всех случаях значение числа будет одно и то же.
См. описания функций, которые вы представили сами, -- везде возвращаемый
тип int!
То есть вам вернут целочисленное значение типа int, равное младшему
слову значения аргумента (или, что одно и то же, младшим шестнадцати
битам).
Если вы хотите получить шестнадцатеричное представление, то используйте
dectohex().
Для двоичного представления подобную функцию в скриптах JAWS я не
встречал. JAWS вообще не поддерживает двоичное представление целых чисел.

Главное: не надо придумывать того, чего нет в справке. А там нет ни
слова о "шестнадцатеричных" или "двоичных" числах.

А по поводу двух функций? Так вы сами спросили, почему одна пара не
работает...

Успехов. Анатолий.

15.11.2020 18:59, Анатолий Ивашков пишет:

Ответить   i_chay Sun, 15 Nov 2020 19:59:47 +0400 (#3660881)

 

Здравствуйте, i_chay.

отвечаю на письмо от 15 ноября 2020 г., 18:59:47:

извиняюсь, что не правильно выразился. конечно же надо было написать представленных в таком-то виде.

Анатолий, а не проще было просто написать, что функции loword и hiWord были переименованы в lowWord и highWordи все вопросы отпали бы, так как я их тоже видел. смутило же меня, что в справке в одном случае сказано о младшей и старшей части слова, а в другом о старших и младших 16 битах именно битах.

и в тоже время функция sayInteger выдает на синтезатор данное представление. поэтому мне казалось, что те функции дадут тоже тотже результат.
с этим разобрался благодарю за консультацию.

Ответить   Mon, 16 Nov 2020 18:22:27 +0300 (#3660924)

 

Приветствую всех!

Собственно, я так и ответил: привёл имена работоспособных функций.
А были ли они переименованы -- это опять ваши предположения.
А дальше мы обсуждали пример того, как любые предположения и догадки в
отношении работы функций могут привести к серьёзным заблуждениям и ошибкам.
Надеюсь, что правило -- не делать никаких предположений о работе,
внутренней организации и побочных эффектах работы чужих функций -- для
вас теперь не пустые слова.
Кстати, в описании функций ничего нет по поводу "части слова". Там
используется выражение "младшее по порядку слово" или "младшие по
порядку 16 бит".
Успехов. Анатолий.

16.11.2020 19:22, Анатолий Ивашков пишет:

были переименованы в lowWord и highWordи все вопросы отпали бы, так как я их
тоже видел. смутило же меня, что в справке в одном случае сказано о младшей
и старшей части слова, а в другом о старших и младших 16 битах именно битах.

представление. поэтому мне казалось, что те функции дадут тоже тотже
результат.

Ответить   i_chay Mon, 16 Nov 2020 21:01:31 +0400 (#3660929)