По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) а как массив картинок сделать ?
Я это только так себе представляю:
Я это только так себе представляю:
Массив = Новый Массив (10);
Массив[0] = Элементы.Декорация2;
Массив[1] = Элементы.Декорация3;
Массив[2] = Элементы.Декорация4;
Массив[3] = Элементы.Декорация5;
Массив[4] = Элементы.Декорация6;
Массив[5] = Элементы.Декорация7;
Массив[6] = Элементы.Декорация8;
Массив[7] = Элементы.Декорация9;
Массив[8] = Элементы.Декорация10;
Массив[9] = Элементы.Декорация11;
Показать
(4) Вот одно из возможных решений:
// Исходный массив картинок
МассивКартинок = Новый Массив (10);
МассивКартинок[0] = Элементы.Декорация2;
МассивКартинок[1] = Элементы.Декорация3;
МассивКартинок[2] = Элементы.Декорация4;
МассивКартинок[3] = Элементы.Декорация5;
МассивКартинок[4] = Элементы.Декорация6;
МассивКартинок[5] = Элементы.Декорация7;
МассивКартинок[6] = Элементы.Декорация8;
МассивКартинок[7] = Элементы.Декорация9;
МассивКартинок[8] = Элементы.Декорация10;
МассивКартинок[9] = Элементы.Декорация11;
// Перемешивание осуществляем с помощью списка значений,
// где Значение - картинка, а Представление - случайное число.
ГенераторЧисел = Новый ГенераторСлучайныхЧисел();
СписокКартинок = Новый СписокЗначений;
СписокКартинок.ЗагрузитьЗначения(МассивКартинок)
Для каждого ЭлементСписка Из СписокКартинок Цикл
СлучайноеЧисло = ГенераторЧисел.СлучайноеЧисло(, 99999);
ЭлементСписка.Представление = Формат(СлучайноеЧисло, "ЧЦ=5; ЧН=; ЧВН=; ЧГ=");
КонецЦикла;
// Отсортировав случайные числа по порядку
// мы получим исходный массив картинок в случайном порядке.
СписокКартинок.СортироватьПоПредставлению();
МассивКартинок = СписокКартинок.ВыгрузитьЗначения();
Показать
(10)
код не сработал:
// Исходный массив картинок
МассивКартинок = Новый Массив (10);
МассивКартинок[0] = Элементы.Декорация2;
МассивКартинок[1] = Элементы.Декорация3;
МассивКартинок[2] = Элементы.Декорация4;
МассивКартинок[3] = Элементы.Декорация5;
МассивКартинок[4] = Элементы.Декорация6;
МассивКартинок[5] = Элементы.Декорация7;
МассивКартинок[6] = Элементы.Декорация8;
МассивКартинок[7] = Элементы.Декорация9;
МассивКартинок[8] = Элементы.Декорация10;
МассивКартинок[9] = Элементы.Декорация11;
// Перемешивание осуществляем с помощью списка значений,
// где Значение - картинка, а Представление - случайное число.
ГенераторЧисел = Новый ГенераторСлучайныхЧисел();
СписокКартинок = Новый СписокЗначений;
СписокКартинок.ЗагрузитьЗначения(МассивКартинок)
Для каждого ЭлементСписка Из СписокКартинок Цикл
СлучайноеЧисло = ГенераторЧисел.СлучайноеЧисло(, 99999);
ЭлементСписка.Представление = Формат(СлучайноеЧисло, "ЧЦ=5; ЧН=; ЧВН=; ЧГ=");
КонецЦикла;
// Отсортировав случайные числа по порядку
// мы получим исходный массив картинок в случайном порядке.
СписокКартинок.СортироватьПоПредставлению();
МассивКартинок = СписокКартинок.ВыгрузитьЗначения();
ПоказатьМассивКартинок = Новый Массив (10);
МассивКартинок[0] = Элементы.Декорация2;
МассивКартинок[1] = Элементы.Декорация3;
МассивКартинок[2] = Элементы.Декорация4;
МассивКартинок[3] = Элементы.Декорация5;
МассивКартинок[4] = Элементы.Декорация6;
МассивКартинок[5] = Элементы.Декорация7;
МассивКартинок[6] = Элементы.Декорация8;
МассивКартинок[7] = Элементы.Декорация9;
МассивКартинок[8] = Элементы.Декорация10;
МассивКартинок[9] = Элементы.Декорация11;
// Перемешивание осуществляем с помощью списка значений,
// где Значение - картинка, а Представление - случайное число.
ГенераторЧисел = Новый ГенераторСлучайныхЧисел();
СписокКартинок = Новый СписокЗначений;
СписокКартинок.ЗагрузитьЗначения(МассивКартинок)
Для каждого ЭлементСписка Из СписокКартинок Цикл
СлучайноеЧисло = ГенераторЧисел.СлучайноеЧисло(, 99999);
ЭлементСписка.Представление = Формат(СлучайноеЧисло, "ЧЦ=5; ЧН=; ЧВН=; ЧГ=");
КонецЦикла;
// Отсортировав случайные числа по порядку
// мы получим исходный массив картинок в случайном порядке.
СписокКартинок.СортироватьПоПредставлению();
МассивКартинок = СписокКартинок.ВыгрузитьЗначения();
код не сработал:
Прикрепленные файлы:


(14) Я все равно не понимаю, что именно не работает в приведенном мной алгоритме. В исходном массиве картинки расставлены по порядку. После выполнения алгоритма в этом же массиве разве они также находятся в исходном порядке?
а 99999 на 10 изменил потому что картинок всего 10.
Не нужно было. Используется произвольное случайное число, не привязанное к количеству объектов в массиве. Лучше верните, как было.
(20) Проверил. Элементы массива благополучно перемешались (см. рис.). Полагаю, Вы ожидали, что должно было что-то измениться на форме. Но эту часть я и не реализовывал, думал Вы сможете применить мой пример к своей конфигурации. В моем алгоритме меняется только массив.
Прикрепленные файлы:


Массив = Новый Массив(3, 2);
Массив[0][0] = "Знач11";
Массив[0][1] = "Знач12";
Массив[1][0] = "Знач21";
Массив[1][1] = "Знач22";
Массив[2][0] = "Знач31";
Массив[2][1] = "Знач32";
// обход всех элементов через конструкцию Для Каждого
Для Каждого Строка Из Массив Цикл
Для Каждого Элемент Из Строка Цикл
Сообщить(Элемент);
КонецЦикла;
КонецЦикла;
// обход всех элементов через индекс
Для ИндексСтрока = 0 По Массив.Количество() - 1 Цикл
Для ИндексСтолбец = 0 По Массив[ИндексСтрока].Количество() - 1 Цикл
Сообщить(Массив[ИндексСтрока][ИндексСтолбец]);
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот