Автор Тема: Как организовать перечисление переменных не из одного массива, а из нескольких?  (Прочитано 4076 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kalisnik [?]

  • Продвинутый
  • ***
  • Сообщений: 293
  • Репутация: 63
  • Пол: Мужской
  • Эволюция
    • Награды
Например, мне нужно получить цвета определенных пикселей на экране. Координаты пикселей заранее известны и упакованы в массивы. Также отведен отдельный массив для сохранения этих цветов:
Код: AutoIt [Выделить]
Dim Const $Coordinata_X[5] = [1, 2, 4, 8, 16]
Dim Const $Coordinata_Y[5] = [16, 8, 4, 2, 1]
Dim $ColorSave[5]
 

Первый способ огранизовать подстановку переменных в функцию PixelGetColor через обычное прописывание ручками. Может быть есть еще способ два или даже три? :) Неплохо смотрится функция For..In..Next, но как организовать ее выполнение для двух, трех массивов одновременно? Или же имеются еще какие-нибудь альтернативы? А то хочется как-то абгрейдить свой стиль письма и сэкономить драгоценное время )) Спасибо.
« Последнее редактирование: Май 14, 2010, 17:02:44 от Kalisnik »

Русское сообщество AutoIt


Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Kalisnik
Код: AutoIt [Выделить]
Dim Const $Coordinata_X[5] = [1, 2, 4, 8, 16]
Dim Const $Coordinata_Y[5] = [16, 8, 4, 2, 1]
Dim $ColorSave[5]
For $i = 0 to UBound($Coordinata_X) - 1
    $ColorSave[$i] = PixelGetColor($Coordinata_X[$i], $Coordinata_Y[$i])
Next

PS: я тебе настоятельно рекомендую научиться пользоваться конференцией и присоединиться к нему. Подобного рода вопросы, по моему мнению, лучше задавать там.
Конференция посвященная AutoIt на jabber.ru - [email protected]
Как попасть на конференцию читаем тут


Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2695
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Для размышления: массивы бывают двух- и более мерные...

Код: AutoIt [Выделить]
Dim $XY[5][2] = [[1, 16], [2, 8], [4, 4], [8, 2], [16, 1]]



Думай, прежде чем говорить.

Оффлайн Kalisnik [?]

  • Продвинутый
  • ***
  • Сообщений: 293

  • Автор темы
  • Репутация: 63
  • Пол: Мужской
  • Эволюция
    • Награды
Для размышления: массивы бывают двух- и более мерные...

Код: AutoIt [Выделить]
Dim $XY[5][2] = [[1, 16], [2, 8], [4, 4], [8, 2], [16, 1]]

Ого... а вот такой записи двумерного массива я еще не видел. А можно теперь еще конкретный пример как его прописать для PixelGetColor? )


Добавлено: Май 14, 2010, 17:00:55
Kalisnik
Код: AutoIt [Выделить]
Dim Const $Coordinata_X[5] = [1, 2, 4, 8, 16]
Dim Const $Coordinata_Y[5] = [16, 8, 4, 2, 1]
Dim $ColorSave[5]
For $i = 0 to UBound($Coordinata_X) - 1
    $ColorSave[$i] = PixelGetColor($Coordinata_X[$i], $Coordinata_Y[$i])
Next

PS: я тебе настоятельно рекомендую научиться пользоваться конференцией и присоединиться к нему. Подобного рода вопросы, по моему мнению, лучше задавать там.
Вот спасибо! Кучу времени мне сэкономили! Я даже не подозревал что в качестве индекса можно ставить переменную. А к конференции я объязательно присоединюсь!

Русское сообщество AutoIt


Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Kalisnik  [?]
Цитировать
как его прописать для PixelGetColor?
Код: AutoIt [Выделить]
Dim $XY[5][2] = [[1, 16], [2, 8], [4, 4], [8, 2], [16, 1]]
Dim $ColorSave[5]
For $i = 0 to UBound($XY, 1) - 1
    $ColorSave[$i] = PixelGetColor($XY[$i][0], $XY[$i][1])
Next


Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2695
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Проще вообще обойтись одним массивом.

Код: AutoIt [Выделить]
Dim $XY[5][3] = [[1, 16], [2, 8], [4, 4], [8, 2], [16, 1]]
For $i = 0 to UBound($XY) - 1
    $XY[$i][2] = PixelGetColor($XY[$i][0], $XY[$i][1])
Next


Оффлайн FlatX007 [?]

  • Осваивающий
  • **
  • Сообщений: 174
  • Репутация: 33
  • Пол: Мужской
  • Tattoo!
    • Награды
Я думаю такое написание более понятнее ...  Насчёт данных не смотрите это из моео проекта ... лень было менять.

Код: AutoIt [Выделить]
Dim $sMAPS[20][2] = [ _
    ["l4d_airport01_greenhouse", "Смерть в воздухе - 1.Теплица"] , _
    ["l4d_airport02_offices", "Смерть в воздухе - 2.Кран"], _
    ["l4d_airport03_garage", "Смерть в воздухе - 3.Стройка"], _
    ["l4d_airport04_terminal", "Смерть в воздухе - 4.Терминал"], _
    ["l4d_airport05_runway", "Смерть в воздухе - 5.Взлётная полоса"], _
    ["l4d_farm01_hilltop", "Кровавая жатва - 1.Леса"], _
    ["l4d_farm02_traintunnel", "Кровавая жатва - 2.Тонель"], _
    ["l4d_farm03_bridge", "Кровавая жатва - 3.Мост"], _
    ["l4d_farm04_barn", "Кровавая жатва - 4.ЖД станция"], _
    ["l4d_farm05_cornfield","Кровавая жатва - 5.Ферма"], _
    ["l4d_hospital01_apartment","Нет милосердию - 1.Апартаменты"], _
    ["l4d_hospital02_subway", "Нет милосердию - 2.Метро"], _
    ["l4d_hospital03_sewers", "Нет милосердию - 3.Канализация"], _
    ["l4d_hospital04_interior", "Нет милосердию - 4.Госпиталь"], _
    ["l4d_hospital05_rooftop", "Нет милосердию - 5.Крыша"], _
    ["l4d_smalltown01_caves", "Похоронный звон - 1.Ограждение"], _
    ["l4d_smalltown02_drainage", "Похоронный звон - 2.Водосток"], _
    ["l4d_smalltown03_ranchhouse", "Похоронный звон - 3.Церковь"], _
    ["l4d_smalltown04_mainstreet", "Похоронный звон - 4.Город"], _
    ["l4d_smalltown05_houseboat", "Похоронный звон - 5.Лодочная станция"] ]
 

...что можно узнать статус выполнения другой функции если в ней не включена возможность об отчете о том что она делает до того момента как она отработает

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
7 Ответов
3041 Просмотров
Последний ответ Сентябрь 27, 2012, 23:54:41
от DarWiM
2 Ответов
3086 Просмотров
Последний ответ Ноябрь 01, 2012, 20:23:05
от Findoss
2 Ответов
2126 Просмотров
Последний ответ Ноябрь 27, 2013, 20:28:00
от xishnik
6 Ответов
5049 Просмотров
Последний ответ Март 12, 2014, 01:40:04
от MCR
3 Ответов
1260 Просмотров
Последний ответ Апрель 29, 2014, 15:25:00
от Garrett
3 Ответов
1577 Просмотров
Последний ответ Июнь 20, 2014, 14:27:06
от cheslav
6 Ответов
1579 Просмотров
Последний ответ Октябрь 28, 2015, 18:35:09
от Yashied
2 Ответов
1547 Просмотров
Последний ответ Декабрь 15, 2015, 09:26:27
от serg41
8 Ответов
1331 Просмотров
Последний ответ Апрель 14, 2016, 01:51:03
от Alofa
1 Ответов
1011 Просмотров
Последний ответ Январь 09, 2017, 18:47:43
от InnI