Что нового

[Автоматизация] Задача - автоматизировать работу с большим количеством объектов

Death

Новичок
Сообщения
12
Репутация
0
Приветствую всех и прошу помощи.

Есть задача - нужно автоматизировать работу с объектами. Использую для её решения Autoit3. Написал программу для работы с объектами, но.

Допустим, первый объект я объявляю переменной object1.
Адрес для доступа к объекту я пишу в ini-файле:
Код:
$object1 = IniRead("C:\object_spisok.ini", "main", "object1", "Not")

Для каждого объекта объявляю десяток переменных, которые являются настройками для работы с ним:
Код:
Dim $var_1_1
Dim $var_1_2
Dim $var_1_3
Dim $var_1_4
Dim $var_1_5
Dim $var_1_6
Dim $var_1_7
Dim $var_1_8
Dim $var_1_9
Dim $var_1_10

И их значения в ini-файле:
Код:
$var_1_1 = IniRead("C:\object1.ini", "main", "var1", "Not")
$var_1_2 = IniRead("C:\object1.ini", "main", "var2", "Not")
$var_1_3 = IniRead("C:\object1.ini", "main", "var3", "Not")
$var_1_4 = IniRead("C:\object1.ini", "main", "var4", "Not")
$var_1_5 = IniRead("C:\object1.ini", "main", "var5", "Not")
$var_1_6 = IniRead("C:\object1.ini", "main", "var6", "Not")
$var_1_7 = IniRead("C:\object1.ini", "main", "var7", "Not")
$var_1_8 = IniRead("C:\object1.ini", "main", "var8", "Not")
$var_1_9 = IniRead("C:\object1.ini", "main", "var9", "Not")
$var_1_10 = IniRead("C:\object1.ini", "main", "var10", "Not")


Далее идёт основное тело программы.
Все эти переменные var используются в основном теле программы.
Для всех объектов основное тело программы одинаковое, меняются только имя объекта (object) и его настройки (var).

Далее я беру второй объект, объявляю его переменной object2. И всё сначала:
Адрес для доступа к объекту пишу в ini-файле:
Код:
$object2 = IniRead("C:\object_spisok.ini", "main", "object2", "Not")

Объявляю десяток переменных, которые являются настройками для работы с ним:
Код:
Dim $var_2_1
Dim $var_2_2
Dim $var_2_3
Dim $var_2_4
Dim $var_2_5
Dim $var_2_6
Dim $var_2_7
Dim $var_2_8
Dim $var_2_9
Dim $var_2_10

И их значения в ini-файле:
Код:
$var_2_1 = IniRead("C:\object2.ini", "main", "var1", "Not")
$var_2_2 = IniRead("C:\object2.ini", "main", "var2", "Not")
$var_2_3 = IniRead("C:\object2.ini", "main", "var3", "Not")
$var_2_4 = IniRead("C:\object2.ini", "main", "var4", "Not")
$var_2_5 = IniRead("C:\object2.ini", "main", "var5", "Not")
$var_2_6 = IniRead("C:\object2.ini", "main", "var6", "Not")
$var_2_7 = IniRead("C:\object2.ini", "main", "var7", "Not")
$var_2_8 = IniRead("C:\object2.ini", "main", "var8", "Not")
$var_2_9 = IniRead("C:\object2.ini", "main", "var9", "Not")
$var_2_10 = IniRead("C:\object2.ini", "main", "var10", "Not")


Теперь снова идёт основное тело программы, но уже с переменными для object2.
Т.е. второй раз.

...

Таких объектов будет много. Допустим, 100. Как можно сделать так, чтобы не писать 100 раз практически одно и тоже? При этом объекты должны обрабатываться один за другим.
 

shakur

Осваивающий
Сообщения
76
Репутация
24
м.б это наивно, попробуй так, хотя не проверял:smile:

Код:
dim $object[1]
dim $var[1][10]
dim $kol_object = 100


Redim $object[$kol_object]
Redim $var[$kol_object][10]

for $i = 0 to $kol_object-1
	$object[$i] = IniRead("C:\object_spisok.ini", "main", "object"& $i , "Not")
		for $j = 0 to 9
			$var[$i][$j] = IniRead("C:\object"& $i &".ini", "main", "var" & $j , "Not")
		Next

;;; Тело программы
Next
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Death

{CodeWarn}
 
Автор
D

Death

Новичок
Сообщения
12
Репутация
0
[Автоматизация] [Автоматизация] Задача - автоматизировать работу с большим количеством объектов

shakur, попробую... Но ведь ещё надо что бы объекты обрабатывались один за другим.
 

shakur

Осваивающий
Сообщения
76
Репутация
24
Но ведь ещё надо что бы объекты обрабатывались один за другим.
так в чем проблема?
Код:
for $i = 0 to $kol_object-1
    $object[$i] = IniRead("C:\object_spisok.ini", "main", "object"& $i , "Not")
        for $j = 0 to 9
            $var[$i][$j] = IniRead("C:\object"& $i &".ini", "main", "var" & $j , "Not")
        Next
;если i = 0 оброботка обьекта $object[0]
;если i = 1 оброботка обьекта $object[1]
;если i = 2 оброботка обьекта $object[2]
;;; Тело программы
Next


или я чегото не понимаю? :scratch:
 
Верх