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

Screen reader JAWS for Windows Russian

[JFWRus] Доработанный скрипт. Размер файла (папки).

Доброго времени суток.

Скрипт озвучивает размер файла (папки) в Проводнике Windows.
По двойному нажатию в окне виртуального просмотра выводятся основные
свойства.
Для Jaws For Windows начиная с версии 4.51.
Скрипт не открывает диалоговые окна и не использует информацию с экрана.

http://rghost.ru/277029

С уважением, Руслан Усачев

***
Это сообщение No 8677
было разослано для 478 участников дискуссионного листа
[JFWRus] Доработанный скрипт. Размер файла (папки).

Ответить   Руслан Усачев Thu, 4 Jun 2009 11:47:39 +0300 (#868419)

 

Ответы:

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

Вы писали 4 июня 2009 г., 11:47:39:

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

Object Function GetFolderView ()
; Служебная функция для получения текущего объекта в проводнике.
var Object sh,
object win,
object null,
string str,
int i,
int icount
let i = 0
let sh = CreateObject ("shell.application")
let Icount = sh.windows.count
While i < ICount
&& sh.windows(i).HWnd != GetForegroundWindow ()
let i = i +1
EndWhile
let win = sh.windows(i)
Return sh.windows(i).document

EndFunction

Script ReadItemSize ()
; назначаю на ctrl+1 озвучивает размер файла, папки и диска.
var
object Fso,
object fol,
object null,
string SName,
object fol1
let fso = CreateObject ("Scripting.FileSystemObject")
let fol = GetFolderView ()
if fol.SelectedItems.count == 1 then
let fol1 = fol.SelectedItems.item(0)
let sName = fol1.path
If fso.DriveExists(SName) then
let fol = fso.GetDrive(Sname)
SayString("Всего ")
SayString(fol.TotalSize)
ElIf fso.FolderExists(SName) then
let fol = fso.GetFolder(Sname)
SayString(fol.size)
ElIf fso.FileExists(SName) then
let fol = fso.GetFile(Sname)
SayString(fol.size)

EndIf; проверкакакой объект (файл, папка или диск)
EndIf; если один элемент
let FSO = null
Let Fol = null
Let fol1 = null

EndScript

Script ReadItemTime ()
; сообщает дату и время файла или папки, а для диска свободное
место назначаю на ctrl+2
var
object Fso,
object fol,
object null,
string SName,
string s1,
object fol1
let fso = CreateObject ("Scripting.FileSystemObject")
let fol = GetFolderView ()
if fol.SelectedItems.count == 1 then
let fol1 = fol.SelectedItems.item(0)
let sName = fol1.path
If fso.DriveExists(SName) then
let fol = fso.GetDrive(Sname)
SayString ("свободно: ")
sayString(fol.FreeSpace)
ElIf fso.FolderExists(SName) then
let fol = fso.GetFolder(Sname)
sayString (fol.DateLastModified)
ElIf fso.FileExists(SName) then
let fol = fso.GetFile(Sname)
sayString(fol.DateLastModified)

EndIf; проверкакакой объект (файл, папка или диск)
EndIf; если один элемент

let FSO = null
let fol = null
let fol1 = null

EndScript

Должен работать на любых джозах.
Писал давно, но поскольку использую в основном тотал командер,
то забросил. Но, работает адекватно.

Ответить   Fri, 5 Jun 2009 15:40:09 +0300 (#869261)

 

Здравствуйте, Олег Кутищев!

Вы писали 05.06.2009

Не компелируется ваш скрипт. синхронизация выполняется а вот
компеляция нет.Из джавса 90178.

Ответить   Fri, 5 Jun 2009 19:36:31 +0300 (#869694)

 

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

Вы писали 5 июня 2009 г., 19:36:31:

Еще раз перепроверил, работает.
Возможно из-за форматирования почтовой программы и разбивания
строки с комментарием на две строки.
; сообщает дату и время файла или папки, а для диска свободное
место назначаю на ctrl+2

русские слова это комментарии строки комментариев должны
начинаться на ";" (точка с запятой).

Ответить   Sun, 7 Jun 2009 13:55:04 +0300 (#869870)