Как добавлять картинки и текст рандомно, но чтобы они больше не повторялись?

backoff

Client
Регистрация
20.04.2015
Сообщения
5 985
Благодарностей
6 441
Баллы
113
Приветствую.
Интересует момент. Нужно добавить фотки и текст к ним, но чтобы больше за проект они не повторялись. А то сейчас бывает что одна и та же фотография, но разные тексты или на оборот.
Как организовать проверку, чтобы избежать это?
Спасибо.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 413
Благодарностей
5 900
Баллы
113
Приветствую.
А то сейчас бывает что одна и та же фотография, но разные тексты или на оборот.
Почему так происходит? У вас рандомно фотки и тексты выбираются?
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 985
Благодарностей
6 441
Баллы
113
Почему так происходит? У вас рандомно фотки и тексты выбираются?
да.

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

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 413
Благодарностей
5 900
Баллы
113
Тогда берите из списка рандомно, но с удалением.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 413
Благодарностей
5 900
Баллы
113
да.
выбирать по списку, такой вариант не подходит. нужен рандом именно, но чтобы без пересечений фото или текста.
Вы берете файлы из директории... Вам лучше создать отдельную директорию для фоток и отдельную для текстовых файлов. Затем взять пути к ним действием Директории>Получить список файлов, сохранив пути в список, а затем брать строки с путями к файлам из списка рандомно с удалением строки (Операции со списком).
 

Miller7

Пользователь
Регистрация
06.01.2015
Сообщения
51
Благодарностей
3
Баллы
8

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
Для удаления нужно использовать экшен Файл - Удалить.
 
  • Спасибо
Реакции: Miller7

Miller7

Пользователь
Регистрация
06.01.2015
Сообщения
51
Благодарностей
3
Баллы
8
Не, получилось, как правильно реализовать?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 413
Благодарностей
5 900
Баллы
113
Не, получилось, как правильно реализовать?
Список надо прогонять в цикле, у вас, как я вижу это все не в цикле делается. Вы получаете список файлов, берете первую строку, затем снова получаете этот же список файлов. Поэтому все время одна и таже первая строка и берется.
 
  • Спасибо
Реакции: Miller7

Miller7

Пользователь
Регистрация
06.01.2015
Сообщения
51
Благодарностей
3
Баллы
8
А можете на примере показать.. не пойму... и не удаляеться даже при взятии... хотя стоит галочка удалить после получения
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 413
Благодарностей
5 900
Баллы
113
А можете на примере показать.. не пойму... и не удаляеться даже при взятии... хотя стоит галочка удалить после получения
Нужно отметить галку "Сохранять изменения в файл" в настройках списка.
 
  • Спасибо
Реакции: Miller7

Miller7

Пользователь
Регистрация
06.01.2015
Сообщения
51
Благодарностей
3
Баллы
8
в файл записуются дублированные ссылки, получается что не удаляет, а на оборот.. и грузятся также все подряд а не уникальные...:dy:
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 225
Баллы
113
Выше вам предложили несколько вариантов решения: работа со списком, удаление файлов.
Однако, общие направления врядли помогут, если отсутствует понимание того как работает программа. Для исправления этого недочета требуется изучение программного продукта.

Ну, а по теме, для экономии ресурсов, я бы рекомендовал работу со списком. Для начала нужно создать пустой файл и привязать его к списку.
upload_2016-1-12_0-14-0.png


Далее работаем примерно по следующему алгоритму:
  1. Берем количество строк из списка со списком файлов? Если строк меньше 1, то получаем список файлов.
  2. Берем случайную строку и списка с удалением (она будет содержать путь к файлу).
  3. Используем полученный в предыдущем пункте путь к файлу для неких операций (например, загружаем на сайт в качестве аватара).
  4. Переходим к пункту 1.
Таким образом вы сможете использовать все файлы из каталога в случайном порядке. Единственное но, - как только список опустеет - он снова будет пополнен. Если это не нужно, то можно каждый раз перед запуском проекта вручную создавать список со списком файлов.

Update: В процессе взаимодействия с Miller7 по данному вопросу удалось оптимизировать алгоритм, удалив лишние действия (if и получение количества строк). На данный момент алгоритм выглядит следующим образом:
  1. Берем случайную строку и списка с удалением (она будет содержать путь к файлу). Если строку взять не удалось, то по красной ветке переходим к получению списка файлов.
  2. Используем полученный в предыдущем пункте путь к файлу для неких операций (например, загружаем на сайт в качестве аватара).
  3. Переходим к пункту 1.
 
Последнее редактирование:
  • Спасибо
Реакции: Petr79 и Miller7

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)