04-09-10-0826-04.txt
04-09-10-0838-48.txt
...
Для чего нужен? Очень просто - скажем, серфите вы по инету и наткнулись на интересный анекдот, совет или любой другой кусочек текста, который хотелось бы сохранить. Тогда вы выделяете этот кусочек мышкой, нажимаете hotkey и он падает в заранее определенную папку в виде текстовика.
Сохранение страницы из браузера зачастую бывает дольше и плюс сохраняется страница целиком, со всем, что надо и чего совсем не надо.
В файле в любом случае сохраняется заголовок окна, из которого был скопирован текст, а если копируете из браузера, то дополнительно сохраняется адрес текущей страницы.Как видно из скрипта, поддерживаются браузеры MyIE2 и Opera (проверено на ver7.53, но оперу надо еще дополнительно слегка настроить). Можете сами дописать поддержку любимого браузера. Причем, повторяю, влияет это только на сохранение адреса текущей страницы, сам выделенный текст и заголовок окна будут сохранены в любом случае
- Код: выделить все
;Для правильной работы скрипта необходимо, чтобы в Opera на комбинацию Crtl+Alt+K было
;назначено копирование адреса активного фрейма
;И в PowerPro параметр "Escape character for string used in expressions"
;должен быть установлен в символ ' (апостроф)
;в какую папку складывать скопированное
local fPath = "c:\Мои документы\"
;имя файла, куда скопируется текст
local fName = fPath++formatdate ("yy-MM-dd", date)++"-"++formattime ("HHmm-ss", time)++".txt"
;сохранили первоначальное содержимое буфера
local myclip = clip.get
;очищаем буфер
clip.set ("")
local fText
;читаем адрес
;если мы в MyIE2, то перемещаемся в строку адреса
;и копируем адрес текущей страницы оттуда
*if (activewindow "=myie2") do
*Keys {slow}{alt}d{alt}{ctrl}c{ctrl}{esc}
fText = clip.get
*elseif (activewindow "=opera") do
;если мы в opera, то копируем адрес текущей страницы
;с помощью настроенного нами hotkey,
;причем в цикле на тот случай, если копирование сбойнет (случается иногда)
*for (fText=""; fText=="";)
fText=""
*Keys {slow}{ctrl}{alt}k{ctrl}{alt}
fText = clip.get
*endfor
;перемещаемся в строку адреса
;и копируем адрес текущей страницы оттуда (устарело)
;*Keys {slow}{f8}{ctrl}c{ctrl}{esc}
*endif
;читаем выделенный текст в цикле на тот случай, если копирование сбойнет (случается иногда)
local ffText
*for (ffText=""; ffText=="";)
ffText=""
*Clip Copy
ffText = clip.get
*endfor
;готовим заголовок
fHead = "'r'n====================================================================='r'n"++&(caption)++"'r'n"
*if (fText ne myclip) and (fText ne "") do
fHead = fHead++&(fText)++"'r'n"
*endif
fHead = fHead++"---------------------------------------------------------------------'r'n"
;копируем в clipboard готовый заголовок и скопированный текст
clip.set(fHead++clip.get)
;сохраняем содержимое буфера в файле (знаю, что можно
;и по другому, но экспериментировать в лом
*Clip ToFile "&(fName)"
;с гарантией восстановили первоначальное содержимое буфера
*for (clip.set(myclip); myclip!=clip.get;)
clip.set(myclip)
*endfor
;Это для того, чтобы в messageBox вывести линк, откуда сохранили данные, причем с отступами.
;Caption окна не выводим - там часто случаются недопустимые с точки зрения PPro
;символы и скрипт вываливается с ошибкой
*if (fText ne "") do
fText = "&(fText)'r'n'r'n"
*endif
fText = "&(fText)Копирование в файл выполнено"
MessageBox ("ok information", "&(fText)", "CopyToFile")