1

Тема: AHK: Замена двух из трёх значений по нажатию горячей клавиши и вывод

Помогите, пожалуйста, ламеру, всю башку сломал уже.
Имеется условный .txt файл с тремя значениями
ОГ: 10
П: 7
Л: 3
Нужно, что бы по нажатии клавиши Numpad + значения ОГ и П получали +1, а по нажатию клавишы Numpad - Значения ОГ и Л получали +1. И вывод в текстовый файл.
Заранее спасибо!

2

Re: AHK: Замена двух из трёх значений по нажатию горячей клавиши и вывод

umototomori пишет:

всю башку сломал уже

Покажите результаты своих усилий.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

3 (изменено: umototomori, 2019-06-21 13:22:16)

Re: AHK: Замена двух из трёх значений по нажатию горячей клавиши и вывод

teadrinker Вот. Вместо того, что бы добавлять к каждой, он суммирует всё в одно число

filePath = F:\12.txt
FileReadLine, Var1, %filePath%, 1
FileReadLine, Var2, %filePath%, 2
FileReadLine, Var3, %filePath%, 3

Var1 = 10
Var2 = 7
Var3 = 3

  NumpadAdd::

		IfNotExist, %filePath%
			FileAppend,0, %filePath%	
		FileReadLine, Var1, %filePath%, 1
		Var := ++Var1
		FileDelete, %filePath%
		FileAppend,%Var1%, %filePath%
		FileReadLine, Var2, %filePath%, 2
		Var := ++Var2
		FileDelete, %filePath%
		FileAppend,%Var2%, %filePath%
	return
   


NumpadSub::
		IfNotExist, %filePath%
			FileAppend,0, %filePath%	
		FileReadLine, Var1, %filePath%, 1
		Var := ++Var1
		FileDelete, %filePath%
		FileAppend,%Var1%, %filePath%
		FileReadLine, Var3, %filePath%, 3
		Var := ++Var3
		FileDelete, %filePath%
		FileAppend,%Var3%, %filePath%
	return
	





4

Re: AHK: Замена двух из трёх значений по нажатию горячей клавиши и вывод

Лучше используйте ини файлы. Iniread и iniwrite вам в помощь.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

5 (изменено: teadrinker, 2019-06-21 20:56:56)

Re: AHK: Замена двух из трёх значений по нажатию горячей клавиши и вывод

umototomori, даже не знаю, как по-простому реализовать, лучше всего действительно использовать IniRead/Write (есть перевод, если нужно).

filePath = F:\12.txt

NumpadAdd::
NumpadSub::
   if !FileExist(filePath)
      throw Exception("Файл """ . filePath . """ не найден!")
   
   FileRead, str, % filePath
   if !RegExMatch(str, "(ОГ:\s(\d+))\R(П:\s(\d+))\R(Л:\s(\d+))", match)
      throw Exception("Формат записи в файл не соответствует шаблону!")
   
   str := RegExReplace(str, match1, "ОГ: " . ++match2)
   if InStr(A_ThisHotkey, "Add")
      str := RegExReplace(str, match3, "П: " . ++match4)
   else
      str := RegExReplace(str, match5, "Л: " . ++match6)
   ; MsgBox, % str
   FileDelete, % filePath
   FileAppend, % str, % filePath
   Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

6

Re: AHK: Замена двух из трёх значений по нажатию горячей клавиши и вывод

teadrinker
Спасибо огромное! То, что нужно