1

Тема: AHK: Обнуление переменной в цикле

Как обнулить переменную A_Index после 5-го цикла?

num1 := 0

while (num2 := 0 + (A_Index - 1)*1) <= 9999999
{
   msgbox % num2
   If (A_Index = 5)
   {
      num2 :=  0
      num1 := num1 + 1
      msgbox % num2
      ;break
   }
}

2

Re: AHK: Обнуление переменной в цикле

A_Index - встроенная переменная, её не обнулить в цикле.

Win10x64, AHK v1.1.33.09 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: Обнуление переменной в цикле

А num2 обнулить, чтобы после этого происходило наращивание?

4

Re: AHK: Обнуление переменной в цикле

Loop
{
num2++
If num2 = 5
num2 := 0
MsgBox, %A_Index%`n%num2%
}
+ DD

5 (изменено: DD, 2021-01-05 00:58:08)

Re: AHK: Обнуление переменной в цикле

А как правильно записать конструкцию, чтобы msgbox показывал? —

0_0, 0_1, 0_2
1_0, 1_1, 1_2
2_0, 2_1, 2_2
...

Loop
{
   num1 := 0
   num2 := A_Index - 1
   num2++
   If num2 = 3
   {
      num1 := 0
      num2 := num2+1
   }
   MsgBox, %num1%_%num2%
}

6

Re: AHK: Обнуление переменной в цикле

Вот вам самый наглядный пример, не в плане кода конечно.

col := 28, row := 20
Loop % col * row 
	ToolTip % str .= (Ceil(A_Index / col) - 1) "_" (1 + Mod(A_Index - 1, col)) "`n"
	, % (Ceil(A_Index / col) * 44, !Mod(A_Index, col) && str := ""), 44, % Ceil(A_Index / col) 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.33.09 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

7 (изменено: DD, 2021-01-05 01:35:50)

Re: AHK: Обнуление переменной в цикле

Там на практике указывать последнее число (28) не подходит — значение может быть разным от страницы к странице. Хотя если вычислить, на сколько фрагментов делится изображение — в данном случае: 5853x7280 — тогда было бы самое то.

8

Re: AHK: Обнуление переменной в цикле

DD пишет:

Как обнулить переменную A_Index после 5-го цикла?

DD пишет:

последнее число (28) не подходит

У вас написано после 5-го. Надо заменить 28 на 5, и великолепно подходит к поставленной вами задаче.

DD пишет:

значение может быть разным от страницы к странице. Хотя если вычислить, на сколько фрагментов делится изображение — в данном случае: 5853x7280 — тогда было бы самое то.

Зато у вас хорошо получается обнулить смысл своей же темы.
Обнуление переменной в цикле - и внезапно понеслись "страницы, фрагменты, изображение, ссылка на какой то json" безо всяких, для всех тут присутствующих, пояснений.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.33.09 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

9 (изменено: DD, 2021-01-05 02:39:00)

Re: AHK: Обнуление переменной в цикле

Если заменить 28 на 5 в предложенном вами формате цикла — к задаче подходит, но поскольку это значение непостоянное и оно неизвестно до вхождения в цикл (как в моем примере) — тогда и на практике использовать затруднительно. Ну а страницы и фрагменты я упомянул для вас — так как вы привели число 28, а значит в общих чертах знакомы с конечной задачей, которую всем присутствующим знать нет особой необходимости).

10 (изменено: DD, 2021-01-05 02:32:37)

Re: AHK: Обнуление переменной в цикле

11 (изменено: DD, 2021-01-05 02:41:23)

Re: AHK: Обнуление переменной в цикле

Как в вашем коде задать начало отсчёта вторых цифр не с единицы, а с нуля и перенести общее значение внутрь цикла?

12 (изменено: DD, 2021-01-05 03:23:40)

Re: AHK: Обнуление переменной в цикле

В таком виде это записать не получится?

num1 := 0
Loop
{
   num2++
   num2 := A_Index - 1
   If num2 = 5
   {
      num1 := num1+1
      num2 := 0
      ;break
   }
   MsgBox, %num1%_%num2%
}

13

Re: AHK: Обнуление переменной в цикле

DD пишет:

А как правильно записать конструкцию, чтобы msgbox показывал? —

    0_0, 0_1, 0_2
    1_0, 1_1, 1_2
    2_0, 2_1, 2_2
    ...

Например так:

num1 := num2 := 0
Loop
{
   if (num2 = 3)
   {
      num1++
      num2 := 0
   }
   MsgBox, %num1%_%num2%
   num2++
}
+ DD

14

Re: AHK: Обнуление переменной в цикле

Вот вам ещё пример:

col := 3
While 1, p1 := (Ceil(A_Index / col) - 1), p2 := (Mod(A_Index - 1, col))
	MsgBox, , % A_Index, % p1 "_" p2, 0.3
DD пишет:

но поскольку это значение непостоянное и оно неизвестно

То вам это обнуление ничего не даёт.

DD пишет:

тогда было бы самое то.

У вас хорошо получается не слышать вопросы а задавать свои. Всё это уже давно сделано в той теме. Вместо того чтобы ответить на элементарный вопрос - чем не устраивает то что есть и работает, вы начинаете скакать по темам изобретая свой велосипед, неудосуживая себя устройством имеющегося.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.33.09 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui
+ DD