1

Тема: AHK: Ошибка окончания if {}

Здравствуйте!
Задача у скрипта: добавить строку в самого себя.

if x=
  {
  gui add, edit, w256 vx, Переменная
  gui add, button, xp+144 yp+26, Отмена
  gui add, button, Default xp+65, Ввести
  gui show,,Ввод
  return
  ButtonОтмена:
	exitapp
  ButtonВвести:
  GuiClose:
	Gui Submit
  File = C:\Users\AB\Desktop\forum.ahk
  Str = x=%x%
  Loop, Read, %File%
	{
      If A_Index = 1
        Text .= Str . "`n"
	  Text .= A_LoopReadLine . "`n"
	}
  FileDelete, %File%
  FileAppend, %Text%, %File%
  }
MsgBox %x%
exitapp

Скрипт даёт ошибку на закрывающую }, относящуюся к первому if, останавливается, приходится срубать. При этом задачу выполняет.
Не пойму, почему скрипту не нравится }, и прошу помощи.
P.S. InputBox в этом скрипте не годится.

2 (изменено: serzh82saratov, 2016-03-23 15:05:07)

Re: AHK: Ошибка окончания if {}

if x =
{
	gui add, edit, w256 vx, Переменная
	gui add, button, xp+144 yp+26, Отмена
	gui add, button, Default xp+65, Ввести
	gui show,,Ввод
}
return

ButtonОтмена:
	exitapp

ButtonВвести:
	GuiClose:
	Gui Submit
	File = C:\Users\AB\Desktop\forum.ahk
	Str = x=%x%
	{
		If A_Index = 1
			Text .= Str . "`n"
		Text .= A_LoopReadLine . "`n"
	}
	FileDelete, %File%
	FileAppend, %Text%, %File%
	MsgBox %x%
	exitapp

Не надо метки помещать внутрь блока if.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: Ошибка окончания if {}

Спасибо.
Только при повторном запуске, при добавившейся строке, скрипт доходит до return, вынесенный теперь за if {}, и чего-то ждёт от пользователя. А нужно, чтобы выполнение шло дальше, с MsgBox %x%.
И ещё: а что являлось метками, кот. были внутри блока if?

4

Re: AHK: Ошибка окончания if {}

if x =
{
	gui add, edit, w256 vx, Переменная
	gui add, button, xp+144 yp+26, Отмена
	gui add, button, Default xp+65, Ввести
	gui show,,Ввод
}
Else 
	Gosub, Метка   
return

Метка:
	MsgBox %x%
	return
	
ButtonОтмена:
	exitapp

ButtonВвести:
	GuiClose:
	Gui Submit
	File = C:\Users\AB\Desktop\forum.ahk
	Str = x=%x%
	{
		If A_Index = 1
			Text .= Str . "`n"
		Text .= A_LoopReadLine . "`n"
	}
	FileDelete, %File%
	FileAppend, %Text%, %File%
	Gosub, Метка 
	exitapp
concept.ru пишет:

А нужно, чтобы выполнение шло дальше

То что дальше, идёт теперь в метке "Метка".

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Ошибка окончания if {}

Спасибо. Теперь, как всегда, непонятно осталось одно: как это я сам не смог сообразить.