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

Screen reader JAWS for Windows Russian

[JFWRus] Скрипты на тестирование для Pelles C

Здравствуйте, участники рассылки.

Для программирования я использую как один из инструментов, в частности язык
Си. Сначала я использовал Вижуал Студию для написания программ, но у меня
было подозрение, что Вижуал Студия не обладает хорошим оптимизатором. Долгие
поиски хорошего компилятора Си привели меня на сайт:
http://www.smorgasbordet.com/pellesc/
Компилятор понравился мне чрезвычайно своим качеством и оптимизацией
программ. Предупреждаю сразу, что это компилятор чистого Си без плюсов,
чтобы не было путаницы. Я после программирования в течение пяти лет на Си
плюс плюс вернулся к чистому Си. Компилятор компактный, комфортный и очень
шустрый. В общем почти идеальный. У него очень удобный и качественный IDE. К
тому же в отличие от многих других компиляторов - он совершенно халявный.
Повторю ещё раз - ХАЛЯВА!!!

У его среды разработки есть мелкие недостатки, впрочем как и огромные
достоинства. Для преодоления мелких недостатков и увеличения и так огромных
достоинств, я написал скрипты для челюстей, которые и предлагаю Вам для бета
тестирования. Желающие их испытать могут написать мне лично, и я скажу Вам
откуда их выкачать и как их инсталлировать.

Итак, программисты, пишущие на Си, желающие лицензионной чистоты, хорошей
оптимизации и комфортной работы, пишите мне, тестируйте и пишите мне о
результатах на tumany***@m*****.ru, tumany***@m*****.ru.

До свидания.

***
Это сообщение No5560
было разослано для 352 участников дискуссионного листа
[JFWRus] Скрипты на тестирование для Pelles C

Ответить   Fri, 23 Mar 2007 01:00:11 +0300 (#650228)

 

Ответы:

Всем привет!

Хочу разобраться в таком деле:
Недавно обратил внимание, что при работе с Тоталом, когда
отмечаю файл пробелом, Джос говорит "Неотмечен". Потом проверяю курсором -
оказывается всё же "отмечен".
Тогда я полез в Тоталовские скрипты для JAWS 7.10 и обнаружил,
там в функции NewTextEvent такое условие:

if GetColorName (GetColorText ()) == "red" then
saystring ("отмечен")
else
saystring ("неотмечен")
endif

Тогда проверки ради вставил оператор
SayString (GetColorName (GetColorText ()))

И оказалось, что эта функция выдаёт строку "красный".
А сравнение-то происходит со словом "red"!
Тогда я заменил в условии строку "red" на строку "красный" и всё
заработало как нужно.
В то же время в скриптах SayNextLine и SayPriorLine оператор

If GetColorText () != "red" then
SayString ("отмечен")
EndIf

Отрабатывает правильно.
Здесь мне вообще непонятно, как можно сравнивать целочисленную
функцию GetColorText со строкой?
Правда, как я понял, содержимое сравнивамой строки на результат
работы скриптов SayNextLine и SayPriorLine никак не влияет. Так
я вообще убрал оператор сравннения, так что получилось:

If GetColorText () then
SayString ("отмечен")
EndIf

И это тоже работает.
А вот в функции NewTextEvent такой фокус не прошёл! Почему?

Тогда я просто сделал глобальную замену слова "red" на слово
"красный"
И всё заработало как нужно.

В чём же дело? Как это понять?!
Почему численную функцию GetColorText можно сравнивать со
строкой?

Прошу прощения за столь длинную питицию. Но уж очень интересно
это понять...

С уважением

Ответить   Mon, 26 Mar 2007 14:40:15 +0300 (#651034)

 

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

7.10 и обнаружил,

Вы можете начать пользоваться моими скриптами для тотала, они работают для
челюстей версии 7.10 и выше. Правда они ещё на ранней стадии развития, но в
них данные проблемы решены способом, предложенным мне господином Леонидом
Жилиным из Красноярска, являющиеся дальнейшим развитием идеи Олега Кутищева,
за что им огромное спасибо. Способ этот гораздо более универсален нежели
описанный Вами.

Дело в том, что названия цветов челюсти берут из файла colors.ini, если он
переведён, то будет красный, а если нет, то red. Лучше Вам написать так:
If getColorText () == 255 then
число 255 в данном случае имеет смысл заменить на число полученное по
sayInteger (getColorText ()). Такой способ во-первых намного быстрее
работает, поскольку числа сравниваются быстрее строк, а во-вторых более
универсален, поскольку не зависит от перевода, правда он зависит от настроек
тотала, но это уже малозначительная в данном случае деталь.

Дело в том, что в скриптах челюстей можно сравнивать всё что угодно с чем
угодно, правда без гарантии корректного результата. В данном случае
результат сравнения всегда истинен, поскольку результат выполнения функции
никогда не будет равен числу полученному из слова red, если Вы конечно не
озадачитесь подбором соответствующего кода цвета выделения. Насколько я
понял из соответствующего эксперимента, число полученное из слова равно
нулю, т. е. чёрному.

см. выше.

Более корректно было бы сделать так как я описал.

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

До свидания.

***
Это сообщение No5562
было разослано для 353 участников дискуссионного листа
[JFWRus] Re: Исправление Скриптов для TotalCommander

Ответить   Mon, 26 Mar 2007 16:30:42 +0300 (#651057)

 

Здравствуйте Сергей!

Большое Вам спасибо за советы по Тоталовским скриптам. Я и хотел
ещё спросить, как вместо вербального названия цвета проверять
код RGB. А Теперь всё впорядке и корректно работает.

Вы пишите:

в

А напомните, пожалуйста, где можно взять Ваши скрипты?

Ответить   Wed, 28 Mar 2007 23:29:58 +0300 (#651625)

 

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

ftp://ftp.tenderirbis.ru/Users/BlueFog/Public/Windows%20Commander/

Там всегда будут появлятся последние бета версии скриптов.

До свидания.

***
Это сообщение No5564
было разослано для 355 участников дискуссионного листа
[JFWRus] Re[3]: Исправление Скриптов для TotalCommander

Ответить   Thu, 29 Mar 2007 02:30:29 +0300 (#651646)

 

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

Всегда пожалуйста.

Ушло мылом. Ловите.

До свидания.

***
Это сообщение No5565
было разослано для 355 участников дискуссионного листа
[JFWRus] Re[3]: Исправление Скриптов для TotalCommander

Ответить   Thu, 29 Mar 2007 01:12:58 +0300 (#651647)

 

Привет всем!

Напомните, пожалуйста, какая функция возвращает код символа под
курсором?

Ответить   Wed, 11 Apr 2007 10:42:40 +0300 (#655882)

 

Suilad, Sergey!

SayCharacterValue()

Ответить   Anarendil Wed, 11 Apr 2007 11:51:59 +0400 (#655884)