[TC] Размер файла в Jaws 9
Всем привет.
Что нужно подкрутить в девятом Jaws, чтоб по горячим клавишам узнать размер
файла или папки?
Спасибо. Сергей
botnariserg***@r*****.ru
скайп: botser99
За последние 60 дней 469 выпусков (несколько раз в день)
Сайт листа:
http://www.tiflocomp.ru
Открыт:
22-01-2004
Пре-модерация: Нет
Адрес для писем в лист: industry.comp.tiflocomp-list@subscribe.ru
Всем привет.
Что нужно подкрутить в девятом Jaws, чтоб по горячим клавишам узнать размер
файла или папки?
Спасибо. Сергей
botnariserg***@r*****.ru
скайп: botser99
Vande omentaina, eastreb!
Интересно, а можно как-то это узнать средствами windows API? А то
ползать по экрану, как говорит мэтр Туманян, не очень красиво, да и
медленно, да и в диалоги лишний раз заходить...
Ну вообще проговаривание размера файлов и папок можно включить в самом
JAWS без всяких скриптов. Хотя со скриптами, конечно может кому-то будет
и удобнее.
Доброго времени суток, Anarendil.
Из сообщения от 30.05.2009 17:15:
Категорически согласен, что это совершеннейший "моветон".
Скрипт помещаем в InternetExplorer.jss
Void Function SaySize (Int Size)
; Форматируем результат в соответствии со своими предпочтениями
; Это просто заглушка
SayString (IntToString (Size)+" Байт")
EndFunction
Script GetSize ()
Var
Object objShellApp ,
Object objShellWin ,
Object objFSO,
Object objFolder,
Int LookingForTheWindow ,
Int i
Let objShellApp = CreateObject ("Shell.Application")
Let objShellWin = objShellApp.Windows
If objShellWin.Count == 0 Then
Return
EndIf
Let i = 0
Let LookingForTheWindow = True
While i < objShellWin.Count && LookingForTheWindow
If objShellWin.Item(i).hwnd == GetAppMainWindow (GetFocus ()) Then
Let LookingForTheWindow = False
EndIf
EndWhile
If !objShellWin.Item(i).document.FocusedItem Then
Return
EndIf
if objShellWin.Item(i).document.FocusedItem.IsFolder Then
Let objFSO = CreateObject ("scripting.FileSystemObject")
Let objFolder =
objFSO.GetFolder(objShellWin.Item(i).document.FocusedItem.Path)
SaySize (objFolder.Size)
Else
SaySize (objShellWin.Item(i).document.FocusedItem.Size)
EndIf
EndScript
С уважением, Руслан Усачев
Доброго времени суток.
Из сообщения от 31.05.2009 1:05:
Случайно обнаружил, что Jaws при работе с переменными типа Int,
превышающими значение 2147483647,
ведет себя неадекватно...
Соответственно, данный скрипт без дальнейшей доработки
при запуске на объекте, превышающем критическое значение,
будет врать и выдавать 2147483647.
Что по этому поводу скажут аксакалы?
С уважением, Руслан Усачев
Приветствую всех.
Руслан пишет:
Тип int в JAWS -- это 32-разрядное целое со знаком, поэтому когда единичка попадает
в старший разряд, число интерпретируется как отрицательное.
Поэтому в ранее опубликованном скрипте можно, например, поступить так:
Say(objFolder.Size, OT_USER_REQUESTED_INFORMATION)
Для размера файла аналогично.
Кстати, для Zip-архивов скрипт работать не будет. Дело в том, что для Shell
это folders, а для FSO -- это файлы...
То есть после получения строки пути, проверять, что это такое (файл или папка),
в данном случае нужно средствами FSO.
Успехов. Анатолий.
Доброго времени суток, Анатолий.
Из сообщения от 31.05.2009 7:59:
С учетом замечаний скрипт приобретает вид:
Script GetSize ()
Var
Object objShellApp ,
Object objShellWin ,
Object objFSO,
Object objFolder,
Int LookingForTheWindow ,
Int i
Let objShellApp = CreateObject ("Shell.Application")
Let objShellWin = objShellApp.Windows
If objShellWin.Count == 0 Then
Return
EndIf
Let i = 0
Let LookingForTheWindow = True
While i < objShellWin.Count && LookingForTheWindow
If objShellWin.Item(i).hwnd == GetAppMainWindow (GetFocus ()) Then
Let LookingForTheWindow = False
EndIf
EndWhile
If !objShellWin.Item(i).document.FocusedItem Then
Return
EndIf
Let objFSO = CreateObject ("scripting.FileSystemObject")
If objFSO.FileExists (objShellWin.Item(i).document.FocusedItem.Path) Then
Say(objShellWin.Item(i).document.FocusedItem.Size,
OT_USER_REQUESTED_INFORMATION)
Else
Let objFolder =
objFSO.GetFolder(objShellWin.Item(i).document.FocusedItem.Path)
Say(objFolder.Size, OT_USER_REQUESTED_INFORMATION)
EndIf
EndScript
Почтовик может искажать форматирование, поэтому
после вставки в диспетчер скриптов внимательно проверяйте текст
на предмет переноса части строки.
С уважением, Руслан Усачев
Доброго времени суток.
Из сообщения от 31.05.2009 9:29:
Извиняюсь, в скрипте не хватает пары строк.
Исправленная версия:
Script GetSize ()
Var
Object objShellApp ,
Object objShellWin ,
Object objFSO,
Object objFolder,
Int LookingForTheWindow ,
Int i
Let objShellApp = CreateObject ("Shell.Application")
Let objShellWin = objShellApp.Windows
If objShellWin.Count == 0 Then
Return
EndIf
Let i = 0
Let LookingForTheWindow = True
While i < objShellWin.Count && LookingForTheWindow
If objShellWin.Item(i).hwnd == GetAppMainWindow (GetFocus ()) Then
Let LookingForTheWindow = False
Let i = i - 1
EndIf
Let i = i + 1
EndWhile
If !objShellWin.Item(i).document.FocusedItem Then
Return
EndIf
Let objFSO = CreateObject ("scripting.FileSystemObject")
If objFSO.FileExists (objShellWin.Item(i).document.FocusedItem.Path) Then
Say(objShellWin.Item(i).document.FocusedItem.Size,
OT_USER_REQUESTED_INFORMATION)
Else
Let objFolder =
objFSO.GetFolder(objShellWin.Item(i).document.FocusedItem.Path)
Say(objFolder.Size, OT_USER_REQUESTED_INFORMATION)
EndIf
EndScript
С уважением, Руслан Усачев
Приветствую участников коференции!
Мой знакомый не подписаный на наш лист просил обратится с вопросом:
ц
Уважаемые участники рассылки!При остановкеДжойса пробелом либо контролем
в тексте Джойс теряет местоположение и затем приходится терять время и нервы
для возвращение к тексту нна момент остановки.
Кто-либо знает, что нужно сделать в настройках Jaws для сохранения места
курсора при остановке
в тексте?
Заранее благодарю за помощь.
Борис
Привет Григорий!
ц
При остановкеДжойса пробелом либо контролем
в тексте Джойс теряет местоположение и затем приходится терять время и нервы
для возвращение к тексту нна момент остановки.
Кто-либо знает, что нужно сделать в настройках Jaws
эта проблема решается покупкой комерческой мыши или переключением на любой другой
синт с бесплатной мыши.
Виктор
Привет всем.
Как будто всё делаю, как советуете, а при нажатии назначенных клавиш
выдаётся сообщение:
"вызван неизвестный скрипт".
botnariserg***@r*****.ru
скайп: botser99
Доброго времени суток, Сергей.
Из сообщения от 31.05.2009 14:17:
Вероятно, Вы не перекомпилировали файл после добавления скрипта.
Находясь в вдиспетчере скриптов с открытым файлом InternetExplorer.jss,
нажмите Ctrl+S и получите либо сообщение об успешной компилляции,
либо сообщение об ошибке. В последнем случае внимательно перечитайте код
скрипта,
скорее всего будут переносы строк вследствие нарушения форматирования
почтовиком.
Если не сможете -- обращайтесь в личку, вышлю вложением.
С уважением, Руслан Усачев
Здравствуйте, Руслан Усачев!
Вы писали:
Категорически согласен, что это совершеннейший "моветон".
Я не знаю, что такое моветон, но скомпилировать вашу пятнадцатую редакцию
скрипта мне так и не удалось. Выдается ошибка:
Unknown variable OT_USER_REQUESTED_INFORMATION
Мой же скрипт работает не зависимо от вашего мнения уже полтора года как на
пятом так и на девятом джавз и на десятках компьютеров города Самары.
С большим уважением ко всем,
Грызунов Александр. Самара.
Доброго времени суток, eastreb.
Из сообщения от 31.05.2009 21:23:
В файле InternetExplorer.jss, в который необходимо
вставлять скрипт, изначально присутствует строка:
Include "HJConst.jsh"
отсутствие которой у Вас является причиной ошибки.
С уважением, Руслан Усачев
Добрый день.
Господа, а разве такой простецкий метод, как Insert+Tab для определения
размера файлов и папок не подойдёт?
я пользуюсь именно им и меня пока устраивает.
С уважением Лена. Хабаровск.
Email: ryabushka5***@y*****.ru
ICQ: 378318799
skype:Elena55568
Здравствуйте, Уважаемые участники рассылки!
Не покусания ради, а сугубо для информирования общественности:
Лена пишет:
Лично мне инс+табом смотреть размер файла неудобно, потому что
Джоз говорит кучу всего , хотя подсказки у меня отключены; и размер он
как раз-таки в последнюю очередь сообщает. Скрипт же от Руслана
говорит размер в чистом виде и делает это "пулей"! Руслан, большое
спасибо за удобный и полезный в хозяйстве скрипт!
Привет!
С размером папки такой номер не прокатывает, а вот размер файла можно очень
легко посмотреть нажав insert+ctrl+2
да и в просмотре любого списка бывает полезно понажимать insert+ctrl с
цифрами.
--С уважением- Михаил Белогорцев
Подписка на дискуссионный лист "Тифлотехника"
mailto:device.nevbereg-sub@subscribe.ru
Здравствуйте, Уважаемые участники рассылки!
Михаил Белогорцев пишет:
Да, если Вид настроен "таблица". Я по старинке пользуюсь списком, потому что
в
"таблице" Джёз становится не переслушать :(...
Тоже, соответственно, если Вид "таблица". Хотя на сей счёт есть 1 глюк - даже
если вид "список", но временно поставить сортировку, отличную от
назначенной по умолчанию, в этом странном случае столбцы можно
прочесть по Инс+цифрам, хоть и не ставили вид "таблицу".
Благословим Джёз и странности его :-D!
Привет всем!
Болтливость JAWS в таблице можно умерить двумя простейшими способами.
1. Меню, вид, выбор столбцов в таблице, и снять пробелом отметку с тех
столбцов, которые нам не нужны.
2. insert+f2 настройка просмотра списков, и настраивай, как душе
угодно.
--С уважением- Михаил Белогорцев
Подписка на дискуссионный лист "Тифлотехника"
mailto:device.nevbereg-sub@subscribe.ru
Vande omentaina, Михаил!
Всё это хорошо, а вот как растянуть нужные столбцы, чтобы не было
обрывов имён файлов, о которых говорил Юникс?
Для начала окно развернуть.
И там же, где отмечаем нужные нам столбцы выставляем ширину столбца в
точках.
Правда сам я этого не делал.
Если случилось так, что имя файла не озвучилось, а мне силььно тадо нажимаю
insert+tab.
Наверно надо ширину столбцов выставить, да лень пока. Не сильно оно достало.
--С уважением- Михаил Белогорцев
Подписка на дискуссионный лист "Тифлотехника"
mailto:device.nevbereg-sub@subscribe.ru
Здравствуйте, Anarendil.
Вы писали понедельник 1 июня 2009 г. 22:59
Диспетчер конфигурации (ins+6) далее ctrl+shift+d, если вы хотите
включить ниже описанную настройку для всех приложений, иначе диспетчер
конфигурации нужно запускать из окна проводника. Далее - меню
"установка параметров" и последний пункт "дополнительно". В
открывшемся диалоге идем до последнего флажка, что-то вроде
"полагаться на MSAA для чтения списков", каковой и оптичиваем. Далее
везде ok, и сохранение сделанных изменений... Наслаждаемся
результатом...
Здравствуйте, Anarendil.
Вы писали 1 июня 2009 г., 21:59:31:
Иногда помогает ctrl+серый плюс.
Доброго времени суток всем!
carrying_rain в письме от 01.06.2009; 13:52 пишет:
Плюс ко всему часто режутся длинные имена файлов, в смысле, джоз их не
договаривает, ну типа вместо "новейшая энциклопедия персонального
компьютера.txt" джоз может запросто сказать типа "новейшая э...txt
Vande omentaina, carrying_rain!
поэтому я с неё ушёл, когда покидал Windows 98 ещё... и тоже сижу на
списке. А размер файлов и папок тоже посмотреть бывает полезно, причём
не всегда слушать, а именно по запросу.
Здравия желаю, Михаил Белогорцев!
Вы писали в понедельник 1 июня 2009 года.:
2 вне зоны.
Что бы это значило?
С уважением, Иван Денишев.
diama***@j*****.org, ICQ: 369915771, Skype: doctor_massajing, Klango: diamass
Доброго времени суток всем!
Иван Денишев в письме от 01.06.2009; 15:42 пишет:
Это значит то, что человек использует представление папок в виде
таблици, тогда как большинство из нас использует представление
список, что, имхо, гораздо удобнее.
Два в не зоны означает, что у вас стоит просмотр папки отличный от таблицы
или плитки. Во всех остальных случаях джавс говорит вне зоны.
С уважением,
Владимир,
Skype: vova_fay
ICQ: 366116086
Моб: +380975309610
Information from ESET Smart Security, version of virus signature database
4118 (20090601) The message was checked by ESET Smart Security.
http://www.esetnod32.ru
всем здравствовать.
прога "USDownloader sborka ot blackmanos" в своём рабочем поле с "права"
обращаю внимание с права выдаёт детализованую информацию о текущей закачке.
её конечно можно достать джёс курсором, но может есть скрипт или другой
болеее красивый способ чтобы прослушать эту информацию.
те проценты, что произносит джёс в рабочем поле проги не имеют отношение к
процентам текушей закачке.
так по крайней мере говорят "глозастые" смотря в системном трее проценты.
может кто-то писал скрипт по этому поводу?
в папки проги usd есть какойто выполняемый файл типа "скрипт", но пробовать
в слепую не хочется.
с уважением,евгений из волгограда. mail: tifl***@m*****.ru
Привет, Евгений.
Original Message From: евгений
прога "USDownloader sborka ot blackmanos" в своём рабочем поле с "права" обращаю
внимание с права выдаёт детализованую информацию о текущей закачке.
- - -
Да не нужно никаких лишних скриптов засорять джоз ненужными алгоритмами. Есть
нормальная стандартная команда и без этого. Чтобы прочитать последнюю строку
любого окна, в котором находится джоз, достаточно нажать инсерт и page doun.
Сколько процентов закачено как раз пишется в последней строке окна
USD.
Удачи.
- - -
С уважением, Вадим! ICQ: 192634169 SKYPE: WPRO71 mail-agent: luchp***@m*****.ru
luchp***@m*****.ru
Доброго времени суток всем!
VadimPro в письме от 01.06.2009; 14:43 пишет:
Вы неправы, детальная информация пишется в правом верхнем углу
программы, в частности, сколько времени осталось, сколько файлов в
очереди и т.д. Лично я тупа создал фрейм, который по комбинации клавиш
прочитывает нужную область. Согласен, фреймы это диллетантство и
ламерство, но мне было лень что-либо делать, хотя написать скрипты,
которые отлавливали бы верхнюю панель инструментов и кликали на
кнопки, имхо, надо. Скрипты будут несложными, но у меня сейчас на это
нет времени, да и кроме меня есть более достойные скриптописатели,
может быть они меня услышат ;)
Доброго времени суток.
Поводом для написания этого скрипта явился вопрос :
Мне тоже стало интересно.
В результате получился вполне жизнеспособный вариант.
На данном этапе скрипт работает не совсем корректно.
Я собираюсь довести его до кондиции в ближайшее время.
Сейчас скрипт прошу считать нерабочим.
С уважением, Руслан Усачев
Привет Александр!
ц
но скомпилировать вашу пятнадцатую редакцию
скрипта мне так и не удалось. Выдается ошибка:
Unknown variable OT_USER_REQUESTED_INFORMATION
это странно.
всё нормально скомпилилось.
на JAWS 8
ну конечно пришлось постирать пробелы которые добавил оутлук
а в остальном скрипт очень красиво написан.
я бы сказал в высшей степени профессионально.
и очень быстро работает.
остаётся написать форматирование
ну тоесть чтобы не в байтах а нормально в гигах и мегах
тут конечно есть сложности
но в итоге всё надеюсь решаемо.
Виктор
Привет TC!
я тоже как то недавно по просьбе одного из участников TC решал подобную задачу
и в итоге вышло вот что:
Script CopyToBuferSizeFolder ()
;Ctrl+Window+C
var
handle hand,
handle hType,
int a,
string s,
string s2
Pause ()
Delay (3)
SpeechOff ()
{Alt+Enter}
Pause ()
Delay (2)
Pause ()
let hand=FindDescendantWindow (GetRealWindow (GetFocus ()), 13064)
let hType=FindDescendantWindow (GetRealWindow (GetFocus ()), 13059)
if hand then
if GetWindowText (hType, 0) == "File Folder" || GetWindowText (hType, 0) == "Папка
с файлами" then
SpeechOn ()
SayString ("считаю размер")
While s == "" || s !=s2
let s2=s
let s=GetWindowText (hand, 0)
PlaySound (GetSharedSettingsDirectory ()+"\\SOUNDS\\Click3.wav")
Delay (10)
let a=a+1
if a==4 then
SayString (StringSegment (s, "(", 1))
let a=0
EndIf
EndWhile
else
let s=GetWindowText (hand, 0)
EndIf
SpeechOn ()
SayString (StringSegment (s, "(", 1))
CopyToClipboard (StringSegment (s, "(", 1))
PCCursor ()
SpeechOff ()
{Escape}
Pause ()
SpeechOn ()
return
EndIf
SpeechOn ()
PCCursor ()
PlaySound (GetSharedSettingsDirectory ()+"\\SOUNDS\\SodaCanOpen.wav")
EndScript
тоесть не просто размер папки а в том числе ожидание пока мегобайты дорастут
до конца
при этом тики каждую секунду и каждые 5 секунд сообщение о том сколько уже мегов
показано в свойствах папки.
ведь если папка очень велика или в ней много файлов то винда не сразу показывает
окончательный размер.
и ползаний по экрану минимум,
точнее только вызов свойств папки
размер же файла показывается сразу.
кстати, не помню точно,
но возможно настроить как то винду и она будет показывать размер файла (но не
папки)
по гор.клавишам
Insert Page Down
у меня это в винде по дефолту.
и помоему это включается
Сервис/Свойства папки...
вкладка Вид
Отображать сведения о размере файлов в подсказках папок
Виктор
Привет, дружище!
Прошу прощения, что отвлекаю по такому пустяку, но, пожалуйста, просвяти меня,
как вот это дело запихнуть под горячку, чтобы оно работало.
я так понимаю, что это готовый скрипт, но не знаю, как его правильно оформить.
Если это очень сложно и долго объяснять, то оставим до лучших времён.
С уважением
Александр
http://www.aleksvaliev.ru
Прошу прощения.
По ошибке отослал в лист личное письмо.
С уважением
Валдай
http://www.aleksvaliev.ru
Александр, доброго вам здоровья!
тему письма изменил, чтобы она больше соответствовала содержанию.
Я расскажу о создании скрипта не только вам, но и другим желающим.
1. при запущенном джавз откройте например папку мои документы.
2. Нажмите Insert+F2. выберите из списка ScriptManager и нажмите Enter-
должен вызваться диспечер скриптов для Internet Explorer.
3. Нажмите CTRL+End- чтобы перейти в конец файла.
4. Выполните команду меню Скрипт, Новый скрипт.
5. в открывшемся диалоге впишите латинскими буквами название скрипта
например razmer.
6. нажмите tab и включите клавишей "Пробел" флажок "Присоединить комбинацию
клавиш".
7. В поле редактирования "Назначить комбинацию" (оно находится последним
перед кнопкой OK) впишите например русскую букву "Ё".
8. дойдите и Нажмите кнопку Ok.
9. Курсор окажется в пустой строке между первой строкой скрипта
Script названиескрипта()
и последней строкой скрипта
endscript
сюда необходимо скопировать текст моего скрипта без первой и последней
строки, чтобы не получилось повтора.
10.нажмите CTRL+S для компиляции и сохранения скрипта. Если все сделано
правильно и аккуратно джавз скажет что компиляция завершена или просто
скажет что джавз к работе готов. Если же джавз выдаст ошибку нажмите кнопку
Ok в появившемся диалоговом окне джавз, затем удалите текст скрипта и
нажмите CTRL+S- чтобы скомпилировать и сохранить изменения. Если желание
создавать скрипт улетучилось, нажмите Alt+F4 для выхода из диспечера
скриптов. Если же нет- попробуйте создать скрипт еще раз.
11. теперь можно закрыть окно диспечера по комбинации Alt+F4 и наслаждаться
результатом.
Но сразу же вас предупрежу, что все эксперименты с джавз вы делаете на свой
страх и риск- любая промашка может обернуться неработоспособностью джавз.
Так что взвесьте все лишний раз и только после этого приступайте к
экспериментам.
С уважением,
Грызунов Александр. Самара.
Здравствуйте!!!
Original Message > Что нужно подкрутить в девятом Jaws, чтоб по горячим клавишам узнать
По "горячим" не знаю, но, размер выбранной папки или файла указывается во
всплывающей подсказке и можно настроить Jaws так, чтобы он читал эти
подсказки.
Для этого жмём Insert+J и в меню Утилиты открываем диспетчер конфигурации.
Идём в строку меню, открываем меню Установка параметров и выбираем пункт
Параметры информативности.
По умолчанию, радиокнопка "Уровень информативности" стоит в положении
"Начинающий пользователь". Оставляем её в этом положении и табом находим
кнопку "Предпочтение начинающих".
Откроется окно фокус оказывается на списке флажков. Идём по этому списку
стрелкой вниз и находим флажок "Всплывающее окно". Это единственный не
отмеченный флажок. Отмечаем его, идём табом до кнопки OK и нажимаем её. В
окне "Параметры информативности" тоже жмём OK, после чего сохраняемся в
диспетчере конфигурации, закрываем диспетчер и перезапускаем Jaws. Всё,
теперь, выбрав в проводнике какую-либо папку или файл, мы, через несколько
секунд должны услышать их размер и ещё некоторые другие данные. В случае с
MP3 файлами вы услышите размер, время звучания битрейт.
Работает это начиная с Windows XP, в более младших осях всплывающих
подсказок нет.
С уважением, Алексей.
Здравствуйте, Сергей!
Не знаю, что подкрутить в джавз, но очень быстро можно создать для
определения размера папки, файла, или свободного места на диске новый
скрипт. Ниже привожу код этого скрипта. Работает как на девятом, так и на
пятом джавз.
Script razmer()
SpeechOff ()
SaveCursor ()
{Alt+Enter}
Delay(12)
InvisibleCursor ()
RouteInvisibleToPC ()
JAWSPageUp()
JAWSHome()
If FindString (GetCurrentWindow (), "Размер:", 2, 0) then
JAWSHome ()
NextWord ()
SpeechOn ()
SayWord ()
NextWord ()
SayWord ()
SpeechOff ()
Else
JAWSPageUp()
JAWSHome()
If FindString (GetCurrentWindow (), "Занято:", 2, 0) then
NextLine()
JAWSEnd()
PriorWord()
SpeechOn()
SayString("Свободно")
SayFromCursor()
SpeechOff()
EndIf
EndIf
{escape}
Pause ()
RestoreCursor ()
SpeechOn ()
EndScript
С уважением,
Грызунов Александр. Самара.