Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » легкая прога для вставки текущей даты без перехвата фокуса

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Существует более 9000 приложений под Windows, которые позволяют по нажатии определённой комбинации клавиш или вводе заданной последовательности символов вставить текущую дату (нередко также и текущее время).  Однако с большинством из них такая проблема, что при вставке даты они утягивают на себя фокус ввода.  
 
В текстовом редакторе это не создаёт проблем, но для вставки даты в поле переименования файла в Windows Explorer, Total Commander (по Shift+F6) и т.п. файловые менеджеры такой вариант не подходит, так как при переносе фокуса переименование файла сбрасывается.
 
Однако есть некоторые исключения, которые при вставке даты не утягивают на себя фокус ввода. Например, прога Comfort Keys, которой я до сих пор я пользовался для этой цели. Но она очень тяжела и утомила своими глюкобагами, которые практически не устраняются.
 
Никто не подскажет альтернативный инструмент с заданными характеристиками? Желательно лёгкий, настраиваемый и портабельный. Может, VBS-script или что-то в этом роде? Ну, в общем, вы поняли...

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 02:03 09-10-2012 | Исправлено: oshizelly, 02:07 09-10-2012
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может, VBS?
Раз речь идёт о горячих клавишах, портабельности, настраиваемости и «лёгкости», то имеется в виду Autohotkey.
Например, горячая клавиша shift+f6 для вставки даты в поле переименования файла в Windows Explorer будет задаваться так:

Код:
#IfWinActive ahk_class CabinetWClass
   +F6::SendInput %A_MDAY%-%A_MM%-%A_Year%


Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 05:25 09-10-2012
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
creature_ws 04:25 09-10-2012  
Цитата:
Раз речь идёт о горячих клавишах, портабельности, настраиваемости и «лёгкости», то имеется в виду Autohotkey.

Совет хорош. И AutoHotkey тоже хороша, факт. Вот только она требует от юзера наличия хотя бы минимальных навыков программирования для написания и даже для правильного использования готовых скриптов. Ведь не будешт же каждый раз просить помощи, если, допустим, понадобится изменить горячие клавиши Sift+F6 на другие. Вообще-то, у меня давно было в планах заняться освоением AHK, но для этого требуется много водки  времени, а его нет.  
 
Поэтому в качестве временного решения проблемы до перехода на AHK хотелось бы чего попроще, в идеале с гуевым интерфейсом.

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 09:49 10-10-2012 | Исправлено: oshizelly, 09:52 10-10-2012
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Упоминание VBS как возможного варианта и отсутствие времени на что-либо отличное от «Гуёвых интерфейсов» — противоречивы.

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 10:43 10-10-2012
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
creature_ws 09:43 10-10-2012  
Цитата:
Упоминание VBS как возможного варианта... — противоречивы.

Согласен, что тут возразишь. Человек - вообще существо противоречивое. То хочется сладкого, а то в Африку. То VBS, а то "Гуевых интерфейсов". Впрочем, мне казалось, что язык VBS чуть попроще, чем AHK, да и настраивать его не надо.

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 11:16 10-10-2012
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот она: http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=23584#1
программа нашей мечты.
бесплатна.
весит 100 килобайт.
не имеет интерфейса.
умеет многое.
весьма портабельна и настраивается редактированием одного текстового файла.
 
я активно использую лишь несколько функций:
- переключение раскладки шифтом (левый Shift - латиница, правый Shift - кириллица)
- вставка даты по хоткею
- хоткеи для запуска пары утилит
- иногда OSD уведомления
 
но умеет она намного больше. документация весьма подробная. ответ на вопрос в ветке получить тоже вполне реально.

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 13:10 11-10-2012 | Исправлено: unhappy, 13:15 11-10-2012
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unhappy
Спасибо!  
На всякий случай всё же переспрошу: а среди умений этой великолепной проги Caesar имеется фича, запрошенная мной в стартовом посте?

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 14:06 11-10-2012
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да.
если в caesar.conf будут такие строки:
 

Код:
hotkey insert_date {
  Key                      Ctrl+Alt+D
  Task {
    TypeText %D{yyyy-MM-dd}
  }
}

 
то соответственно по нажатию Ctrl+Alt+D она будет печатать дату в формате "2012-10-11" в текущую позицию курсора.
в принципе я использую это как раз для вставки даты при переименованияз файлов в проводнике.
 
если остальные функции программы не нужны, то можно просто удалить всё остальное из файла caesar.conf
 
формат очень простой.
как поменять здесь хоткей на удобный вам - думаю понятно. документация к утилите отличная.

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 14:13 11-10-2012
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unhappy
Ещё раз спасибо! Последний предварительный вопрос перед тем, как я пойду качать прогу и изучать матчасть. Со вставкой текущей даты по одновременному нажатию комбинации клавиш вроде  Ctrl+Alt+D более или менее понятно. А может этот caesar обрабатывать также последовательно введённые нажатия клавиш, скажем, при вводе 3-х букв D: DDD автоматически заменить их на текущую дату? (Так у меня работает Comfort Keys, по некоторым соображениям, это удобнее, чем обычные хоткеи).

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 22:53 11-10-2012
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
за таким к AHK: http://www.autohotkey.com/docs/Hotstrings.htm
 
в дефолтном скрипте пишете:
 

Код:
:*:DDD::
FormatTime, CurrentDateTime,, yyyy-MM-dd
SendInput %CurrentDateTime%
return

разумеется вместо DDD может быть что угодно

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 09:04 12-10-2012
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unhappy
creature_ws
Решил всё-таки попытаться освоить AutoHotKey. Начал с примеров скриптов, преложенных в этом топике, ибо надо же с чего-то начинать. И сразу столкнулся с двумя непонятными вещами.
 
1. Скрипт

Код:
:*:DDD::  
FormatTime, CurrentDateTime,, yyyy-MM-dd  
SendInput %CurrentDateTime%  
return

работает (изменил под свои нужды формат даты), но вот захотел сделать небольшое косметическое улучшение: добавить пробел после текущей даты. И сразу затык. Лобовое добавление пробела после переменной  %CurrentDateTime% в конце строки никакого эффекта не даёт. А как тогда? Отдельной строкой?  
 
2. Скрипт

Код:
#IfWinActive ahk_class CabinetWClass  
+F6::SendInput %A_MDAY%-%A_MM%-%A_Year%

 
вставляет дату только в текстовых полях окна Windows Explorer и нигде больше. Догадываюсь, что за это отвечает первая строка. А что надо написать, чтобы скрипт работал, скажем, в поле переименования файла в Total Commander? Или вообще в любом текстовом поле любого приложения?
 
При быстром взгляде на документацию ответа не нашёл. Уверен, что он там имеется, но хочется, чтобы пока хоть пара скриптов работала для начала.
 
Спасибо!

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 01:14 28-10-2012 | Исправлено: oshizelly, 01:52 28-10-2012
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Или вообще в любом текстовом поле любого приложения?  

Нет универсального индикатора «любого текстового поля», убрав первую строку получите глобальную горячую клавишу shift f6. Работать будет аналогично строке автозамены «DDD».

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 01:25 28-10-2012
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
creature_ws 00:25 28-10-2012
Цитата:
Нет универсального индикатора «любого текстового поля»,

Ясно, спасибо.
А как указать Total Commader? Пробовал totalcmd.exe по имени файла/процесса, но так не получается.
И ещё, как всё-таки добавить пробел после даты?

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 01:50 28-10-2012
Quasus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> И ещё, как всё-таки добавить пробел после даты?
 
Поставьте после пробела «`».
 
> А как указать Total Commader?
 
Самое просто решение:
 
SetTitleMatchMode, 2 ; чтобы в дальнейшем можно было указывать не имя окна полностью, а часть его.
#IfWinActive, Total Commander
 
<горячие клавиши>
 
Эти клавиши будут работать в любом окне, название которого содержит строку "Total Commander". Если вы хотите сузить класс окон, укажите
 
 
#IfWinActive, Total Commander ahk_class ???
 
где вместо ??? надо указать значение ahk_class. Значение можно выяснить с помощью Window Spy: запустите эту утилиту из контекстного меню к работающему скрипту и кликните на TC.

Всего записей: 43 | Зарегистр. 08-05-2012 | Отправлено: 18:59 28-10-2012 | Исправлено: Quasus, 18:59 28-10-2012
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Quasus 17:59 28-10-2012
Цитата:

Цитата:
 И ещё, как всё-таки добавить пробел после даты?  
Поставьте после пробела «`».

Спасибо, работает. Только всё-таки кавычки здесь создают путаницу: вставить ведь надо именно апостроф, а не апостроф в кавычках
 

Цитата:
Эти клавиши будут работать в любом окне, название которого содержит строку "Total Commander".

А как составить список из нескольких окон/приложений? Чтобы скрипт работал, допустим, в Total Commander и Mozilla FireFox? Конечно, можно написать несколько скриптов, отличающихся только второй строкой, но подозреваю, что должен быть более простой и изящный способ.
 


На остальные вопросы получил ответ здесь.

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 20:03 28-10-2012 | Исправлено: oshizelly, 11:19 29-10-2012
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Программы » легкая прога для вставки текущей даты без перехвата фокуса


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru