Автор Тема: Как прочитать значения переменных - рандомно ?  (Прочитано 644 раз)

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

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн dr.room [?]

  • Новичок
  • *
  • Сообщений: 262
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Версия AutoIt:
AutoIt v3.3.14.2
Описание:
Всем привет
Не знаю как решить задачу с простыми условиями  :stars:
Есть группа переменных, чьи значения нужно прочитать рандомно и вывести прочитанное значение в Msgbox (для подтверждения)
Пример
Код: AutoIt [Выделить]
Local $i1=1, $i2=2, $i2=3
 

Примечания:
Спасибо за помощь
Если бы один пример - было бы волшебно...для новичка

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

Как прочитать значения переменных - рандомно ?
« Отправлен: Февраль 23, 2018, 20:38:50 »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3784
  • Репутация: 999
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
Local $i1=1, $i2=2, $i3=3

; вариант 1
$val = Eval("i" & Random(1, 3, 1))
MsgBox(0, "", $val)

; вариант 2
Dim $ar[] = [$i1, $i2, $i3]
$val = $ar[Random(0, UBound($ar) - 1, 1)]
MsgBox(0, "", $val)


Оффлайн dr.room [?]

  • Новичок
  • *
  • Сообщений: 262

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Спасибо большое InnI
Как реализовать с небольшими уточнениям по условиям, не подскажете?
  • Перебор должен включать считывание и вывод последовательно в Msgbox всех значений переменных, без  исключения, что есть всех - но в рандомном порядке
  • Перебор должен исключать дублирование считываемых и выводимых значений

« Последнее редактирование: Февраль 23, 2018, 22:59:45 от dr.room »

Онлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1405
  • Репутация: 205
  • Пол: Мужской
  • Windows 7 /10 [x64]
    • Награды
  • Версия AutoIt: 3.3.12.0
_ArrayShuffle() вам в помощь.

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

Re: Как прочитать значения переменных - рандомно ?
« Ответ #3 Отправлен: Февраль 24, 2018, 00:15:56 »

Оффлайн dr.room [?]

  • Новичок
  • *
  • Сообщений: 262

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Спасибо Alofa
Пока не очень получается пример адаптировать даже
Здесь отдает значение =1. Видимо все ок - но это не совсем то что искал
Код: AutoIt [Выделить]
#include <Array.au3>
Local $aArray_Base[10] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

While -1
$i = _ArrayShuffle ($aArray_Base)
MsgBox (262208,"","Текущее значение равно " & @CRLF & $i & @CRLF & "")
Sleep(1000)

    WEnd
 

А здесь - ошибка
Код: AutoIt [Выделить]
#include <Array.au3>

Local $aArray_Base[10] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

While -1
$i = _ArrayShuffle ( ByRef $aArray_Base [, $iStart_Row = 0[,$iEnd_Row = 9 ])
MsgBox (262208,"","Текущее значение равно " & @CRLF & $i & @CRLF & "")
Sleep(1000)
    WEnd

 

Что делать, что делать.... :stars:

Помечен как лучший ответ пользователем dr.room Отправлен Февраль 26, 2018, 20:03:06

Онлайн Khaibit [?]

  • Осваивающий
  • **
  • Сообщений: 71
  • Репутация: 20
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.6.1
Код: AutoIt [Выделить]
#include <Array.au3>
Local $aArray_Base[10] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
_ArrayShuffle($aArray_Base)
_ArrayDisplay($aArray_Base)
For $i = 0 To UBound($aArray_Base) - 1
    MsgBox(262208, "", "Текущее значение равно " & @CRLF & $aArray_Base[$i] & @CRLF & "")
    Sleep(1000)
Next


Оффлайн dr.room [?]

  • Новичок
  • *
  • Сообщений: 262

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Всем спасибо
Эх жалко константы не поддерживаются  - не помню где читал как эту проблем решить...
Код: AutoIt [Выделить]
#include <Array.au3>
Const $tab0=0, $tab1=1, $tab2=2,  $tab3=3, $tab4=4, $tab5=5, $tab6=6, $tab7=7, $tab8=8, $tab4=9
Local $aArray_Base[10] = [$tab0,$tab1, $tab2, $tab3, $tab4, $tab5, $tab6, $tab7, $tab8, $tab4]
_ArrayShuffle($aArray_Base)
_ArrayDisplay($aArray_Base)
For $i = 0 To UBound($aArray_Base) - 1
    MsgBox(262208, "", "Текущее значение равно " & @CRLF & $aArray_Base[$i] & @CRLF & "",2)
    Sleep(1000)
Next
 

Но переменные поддерживаются  - буду пока их использовать.. Еще раз  спасибо,Khaibit! Очень помогли.
Код: AutoIt [Выделить]
#include <Array.au3>
Local $tab0=0, $tab1=1, $tab2=2,  $tab3=3, $tab4=4, $tab5=5, $tab6=6, $tab7=7, $tab8=8, $tab4=9
 

« Последнее редактирование: Февраль 26, 2018, 22:05:20 от dr.room »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3784
  • Репутация: 999
    • Награды
  • Версия AutoIt: 3.3.14.0
dr.room  [?]
Цитировать
константы не поддерживаются
У вас вместо $tab9 указано $tab4. Отсюда и ошибка.

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

Re: Как прочитать значения переменных - рандомно ?
« Ответ #7 Отправлен: Февраль 27, 2018, 00:18:43 »

Оффлайн dr.room [?]

  • Новичок
  • *
  • Сообщений: 262

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
InnI
Да, поторопился, спасибо

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

Re: Как прочитать значения переменных - рандомно ?
« Ответ #8 Отправлен: Февраль 27, 2018, 12:04:47 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
5286 Просмотров
Последний ответ Апрель 13, 2012, 16:46:57
от C2H5OH
6 Ответов
4882 Просмотров
Последний ответ Апрель 20, 2011, 21:25:14
от AZJIO
3 Ответов
2616 Просмотров
Последний ответ Декабрь 28, 2011, 22:55:43
от Poma_007
7 Ответов
3639 Просмотров
Последний ответ Январь 29, 2012, 02:31:14
от black1
5 Ответов
2561 Просмотров
Последний ответ Июнь 18, 2012, 21:50:27
от beliy
8 Ответов
5627 Просмотров
Последний ответ Июнь 30, 2012, 18:28:58
от CreatoR
7 Ответов
2392 Просмотров
Последний ответ Декабрь 26, 2012, 14:59:44
от neLeposTb
7 Ответов
3697 Просмотров
Последний ответ Июль 29, 2013, 15:17:33
от agikon
4 Ответов
1888 Просмотров
Последний ответ Июль 02, 2015, 10:40:13
от madmasles
2 Ответов
1064 Просмотров
Последний ответ Декабрь 10, 2015, 16:55:06
от Tiberium6