1 (изменено: ОсиповаТатьяна, 2019-02-07 21:55:16)

Тема: AHK: Счетчик-накопитель с учетом даты

Здравствуйте.
Помогите изменить скрипт.

Скрипт считает нажатия клавиш и записывает их число в txt с учетом текущей даты.

storage := A_ScriptDir . "\1.txt"
template := "Счетчик: "

WatchPress := Func("WatchPress").Bind(storage, template)
Loop 248
   Hotkey, % "~" . Format("vk{:X}", A_Index + 7), % WatchPress, On
Return

WatchPress(filePath, template)  {
   Critical
   date := A_DD . "." . A_MM . "." . A_YEAR
   oFile := FileOpen(filePath, "rw", "cp0")
   content := oFile.Read()
   RegExMatch(content, "s)(.*\R)?\K.*?(?<PressCount>\d+)\s(?<Date>\d\d\.\d\d\.\d{4})$", lastStr)
   dateFit := date = lastStrDate
   newLastStr := ( (lastStr && !dateFit) ? "`r`n" : "" ) . template . (dateFit ? ++lastStrPressCount : "1" ) . " " . date
   if dateFit
      oFile.Pos -= StrLen(lastStr), oFile.Length := oFile.Pos
   oFile.Write(newLastStr)
   oFile.Close()
}

Подскажите - как этим скриптом добавлять единицу не при нажатии клавиш, а  один раз - при запуске скрипта ?

Чтобы 1 добавлялась не при нажатии на клавишу, а просто при запуске скрипта (который бы тут же закрывался)

Post's attachments

1.txt 21 b, 1 downloads since 2019-02-07 

You don't have the permssions to download the attachments of this post.

2

Re: AHK: Счетчик-накопитель с учетом даты

storage := A_ScriptDir . "\1.txt"
template := "Счетчик: "
LaunchCount(storage, template)
Return

LaunchCount(filePath, template)  {
   date := A_DD . "." . A_MM . "." . A_YEAR
   oFile := FileOpen(filePath, "rw", "cp0")
   content := oFile.Read()
   RegExMatch(content, "s)(.*\R)?\K.*?(?<PressCount>\d+)\s(?<Date>\d\d\.\d\d\.\d{4})$", lastStr)
   dateFit := date = lastStrDate
   newLastStr := ( (lastStr && !dateFit) ? "`r`n" : "" ) . template . (dateFit ? ++lastStrPressCount : "1" ) . " " . date
   if dateFit
      oFile.Pos -= StrLen(lastStr), oFile.Length := oFile.Pos
   oFile.Write(newLastStr)
   oFile.Close()
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Счетчик-накопитель с учетом даты

Все работает.
Спасибо большое.