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

[TC] Re[4]: akelpad и jaws

Здравствуйте, Анатолий.
К сожалению, при компиляции скриптов на строке
PostMessage (hCurrentWindow, WM_VSCROLL, 1)
выдается ошибка
Error: Unknown variable WM_VSCROLL
Видно у вас в файлике скриптов еще что-то есть.
Может быть вы выложите целиком. Вдруг там еще что полезное.
Николай.

Ответить   Nikolay Mon, 04 Dec 2017 20:06:25 +0300 (#3533971)

 

Ответы:

Приветствую всех! Здравствуйте, Nikolay .

Отвечу за Анатолия, Николай. так как он меня об этом попросил.
сия беда не обошла и меня, правда я пользуюсь блокнотом.
Анатолий написал для меня сегодня функцию для блокнота,
вот её текст:

void function SayLineUnit(int unitMovement, optional int bMoved)
var
string sClass,

handle hCurrentWindow
let hCurrentWindow = GetFocus ()
let sClass = GetWindowClass (hCurrentWindow)
if sClass == "Edit" then
if unitMovement ==1 then
PostMessage (hCurrentWindow, WM_VSCROLL, 1)
elif unitMovement ==2 then
PostMessage (hCurrentWindow, WM_VSCROLL)
endif
delay (1)
endif
SayLineUnit(unitMovement, bMoved)
EndFunction

Для того чтобы он сработал в AkelPad,или в ином другом редакторе, нужно
скопировать
в его окне, по клавише insert+цифра7, название класса окна,
и вставить его вместо <<Edit>>, в строке
if sClass == "Edit" then

если посимвольная навигация тоже страдает, то вот
функция и для неё:

Void Function SayCharacterUnit (int UnitMovement)
var
string sClass,
handle hCurrentWindow
let hCurrentWindow = GetFocus ()
let sClass = GetWindowClass (hCurrentWindow)
if sClass == "Edit" then
if unitMovement ==1 then
PostMessage (hCurrentWindow, WM_HSCROLL, 1)
elif unitMovement ==2 then
PostMessage (hCurrentWindow, WM_HSCROLL)
endif
delay (1)
endif
SayCharacterUnit (unitMovement)
EndFunction

У меня в блокноте, теперь всё читается корректно!
P. S. Анатолий просит прощения, что в вашем варианте для AkelPad, немного
ошибся.
понедельник 4 декабря 2017 год!, 21:06 Вами было написано:

--
С уважением, Руфат,
shah-ruf***@y*****.ru

Ответить   Mon, 4 Dec 2017 23:21:57 +0400 (#3533985)

 

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

отвечаю на письмо от 4 декабря 2017 г., 20:06:25:

я прошу прощения, просмотрел ошибку. надо в константе написать:

const
WM_VSCROLL=0x0115

а константа:
WM_HSCROLL=0x0114
предназначена для горизонтального прокручивания.

Ответить   Tue, 5 Dec 2017 10:19:32 +0300 (#3534046)

 

привет всем.
подскажите пожалуйста как реализовать эту затею.
я написал

void Function AutoStartEvent ()
{Ctrl+Shift}
EndFunction

но это при открытии акелпада, но я постоянно переключаюсь между окнами и
раскладка соответственно то-же.
надо как-то получать текущую раскладку и если она русская, тогда переключать
на английскую

void Function AutoStartEvent ()
какая-то переменная
получаем текущую раскладку в переменную

if раскладка русская then
{Ctrl+Shift}
endif
EndFunction

Ответить   Tue, 5 Dec 2017 11:19:38 +0300 (#3534156)

 

Здравствуйте, Александр.

Вы писали 5 декабря 2017 г., 11:19:38:

переключать

что-то я не совсем понял просьбу, на всякий случай вот скрипт
(Функция) по этой
теме:
void function autoStartEvent()
; переключение раскладки клавиатуры
; чтобы раскладка была всегда русской
If StringLeft (GetInputLanguage (), 3) == "Анг" Then
TypeKey ("Control+Shift")
pause()
Else
If StringLeft (GetInputLanguage (), 3) == "Анг" Then
TypeKey ("Alt+Shift")
pause()
EndIf
EndIf
EndFunction
Удачи.

Ответить   Tue, 5 Dec 2017 21:21:05 +0300 (#3534181)