Содержание

Формат даты. Точка-запятая на цифровой панели

Автор: Dmitry Rudenko

1. По умолчанию во всех файловых менеджерах (например, "Проводник" в ОС Windows) сортировка файлов производится по названию файлов. С целью упорядочивания версий документации в название файлов удобно добавлять дату. Чтобы файлы располагались сверху вниз от более старых к более новым, дату необходимо указывать в формате год-месяц-дата, например 2012-09-08 (8 сентября 2012 года).

Для удобства работы написан небольшой скрипт на языке AutoIt, вставляющий дату в любое место по нажатию клавиши F9. Скрипт необходимо добавить в папку "Пуск-Автозагрузка".

2. По нажатию клавиши F10 вставляется дата и время в формате 2012-12-10_17-41

3. После запуска скрипта по нажатию кнопки "точка" на цифровой панели в текст будет добавляться точка вне зависимости от выбранной раскладки (RU/EN). Переключить режим ввода на запятую можно по клику на ярлык программы в системном трее.

Точка или запятая на цифровой панели клавиатуры

4. Также программа по нажатию кнопки NumLock эмулирует нажатие кнопки Esc (эскейп) и не даёт отключить режим намлока (это может быть удобно при заполнении таблиц в AutoCAD)

По умолчанию - запятая

Ещё один вариант скрипта, только здесь по умолчанию - запятая

Если скрипт работает не везде

Можно попробовать вот эти варианты:

Но этот вариант использует буфер обмена и может нарушить его корректную работу.

Код программы на языке AutoIt (по умолчанию - точка)

date.au3
#include <Constants.au3>
 
HotKeySet("{F9}", "func1")
HotKeySet("{F10}", "func2")
HotKeySet("{NUMPADDOT}", "func3")
HotKeySet("{NUMLOCK}", "func4")
 
Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown
 
Local $my1item = TrayCreateItem("Точка", -1, -1, 1)
TrayItemSetState(-1, $TRAY_CHECKED)
Local $my2item = TrayCreateItem("Запятая", -1, -1, 1)
TrayCreateItem("")
Local $showinfo = TrayCreateItem("О программе")
TrayCreateItem("")
Local $exititem = TrayCreateItem("Exit")
 
Local $myitem = 1
 
TraySetState()
 
While 1
   Local $msg = TrayGetMsg()
	Select
	  Case $msg = 0
		 ContinueLoop
	  Case $msg = $my1item
		 $myitem = 1
		 ContinueLoop
	  Case $msg = $my2item
		 $myitem = 2
		 ContinueLoop
	  Case $msg = $exititem
		 ExitLoop
	  Case $msg = $showinfo
		 MsgBox(0, "О программе", "Автор: Дмитрий Руденко" & @LF & "E-mail: 3952800@gmail.com" & @LF & "http://fordewind.org/" & @LF & "Программа распространяется бесплатно")
		 ContinueLoop
	EndSelect 
WEnd
 
Func func1()
   Send(@YEAR & '-' & @MON & '-' & @MDAY)
EndFunc
 
Func func2()
   Send(@YEAR & '-' & @MON & '-' & @MDAY & '_' & @HOUR & '-' & @MIN)
EndFunc
 
Func func3()
   sleep(35)
   IF $myitem = 1 then 
	  send("{ASC 046}")
   ElseIf $myitem = 2 Then
	  send("{ASC 044}")
   EndIf
EndFunc
 
Func func4()
   Send("{ESCAPE}")
   Send("{NUMLOCK on}")
EndFunc

Только дата-время на Python (автоустановщик)

Скачиваем и устанавливаем Python отсюда: https://www.python.org/downloads/

Дальше вроде нужна перезагрузка, чтобы пути в PATH прописались. После перезагрузки просто стартуем вот этот скрипт. Должно всё работать - по F9 дата, по F8 дата-время (если на ноуте пробуете, обратите внимание на кнопку Fn, она может путать карты). Если не работает - пишите, будем разбираться

date-install.cmd
python -m pip install --upgrade pip
python -m pip install keyboard
echo from datetime import datetime > "%homedrive%%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\date.pyw"
echo import keyboard >> "%homedrive%%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\date.pyw"
echo keyboard.add_hotkey('F9', lambda: keyboard.write(datetime.now().strftime('%%Y-%%m-%%d'))) >> "%homedrive%%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\date.pyw"
echo keyboard.add_hotkey('F8', lambda: keyboard.write(datetime.now().strftime('%%Y-%%m-%%d_%%H-%%M'))) >> "%homedrive%%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\date.pyw"
echo keyboard.wait() >> "%homedrive%%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\date.pyw"
"%homedrive%%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\date.pyw"