Добрый день, TheBat!овцы!
Вот покумекал я тут немного и сделал такой вот скрипт, он призван
ликвидировать остановку чтения по команде SayAll.
Вносите его в менеджер скриптов, компилируйте и пользуйтесь.
У кого этот скрипт и функции уже
переназначены, то думайте как их скомбинировать, а у кого их нет, а я
думаю у большинства, просто скопируйте в буфер, откройте менеджер
скриптов ins+0, вставляйте текст скрипта и функций и компилируйте
ctrl+s, закрывайте менеджер и пробуйте.
Скрипт работает следующем образом. При появлении события достижения
нижнего края экрана, проверяется активно ли сейчас SayAll и достигнут
ли конец документа, ибо если это конец, то значит конец и ничего
делать не надо. Но если ещё не конец, то устанавливается флаг, что ещё
не всё кончено и уже в событии окончания SayAll по этому флагу
решается возобновлять чтение или нет.
Так как более-менее надёжного способа определить признак конца
документа я не нашёл, то использую процентаж боковой прокрутки. А так
как 100% появляется ещё до того времени, когда достигнут реальный
конец, то возможны в этом случае остановки. Но у меня при двух
дневной проверки такого не было.
Итак, между звёздачками текст скрипта (звёздочки копировать не надо)
***
Globals
int bSayAll
Script SayAll ()
var
string winclass
let winclass = GetWindowClass (GetCurrentWindow ())
If (IsPCCursor () && winclass == "TTextEditor") then
let bSayAll=0
EndIf
PerformScript SayAll()
EndScript
Void Function BottomEdgeEvent (handle WinHandle)
var
string winclass
let winclass = GetWindowClass (WinHandle)
If (IsPCCursor () && winclass == "TTextEditor") then
if (SayAllInProgress ()) then
if (GetDocumentPercentage()<100) then
let bSayAll=1
return
EndIf
EndIf
EndIf
BottomEdgeEvent (WinHandle)
EndFunction
Void Function SayAllStoppedEvent ()
var
string winclass
let winclass = GetWindowClass (GetCurrentWindow ())
If (IsPCCursor () && winclass == "TTextEditor" && bSayAll==1) then
let bSayAll=0
SayAll ()
return
EndIf
SayAllStoppedEvent ()
EndFunction
***
Желаю приятного чтения почты!!!
--
С уважением, Сергей.
***
Это сообщение No2059
было разослано для 237 участников дискуссионного листа
[JFWRus] Re[3]: Зэбат