Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
TWIN
Отправлено: 24 Июня, 2020 - 19:26:37
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июнь 2020  
Репутация: 1




Всем привет! Подскажите пожалуйста как сделать следующее:

Нужно чтобы бот считывал рандомную строку из текстового файла (допустим 55.txt) с фразами на русском, английском и любом другом языке и закидывал эту строку в буфер. При этом нужно, чтобы следующая рандомная фраза не повторялась с предыдущей.

Еще у меня вопрос по месту хранения файла 55.txt, он у всех пользователей моего бота должен храниться в одном и том же месте? допустим диск С, папка bot ? А как быть с пользователями у которых нет диска С, а вместо него стоит другая буква? Ну и в целом было бы более удобно если можно было бы хранить 55.txt на рабочем столе каждого пользователя рядом с bot.exe и при этом бот бы понимал где искать этот файл...
 
 Top
Kibor
Отправлено: 24 Июня, 2020 - 20:44:19
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 TWIN пишет:
Еще у меня вопрос по месту хранения файла 55.txt, он у всех пользователей моего бота должен храниться в одном и том же месте? допустим диск С, папка bot ?

pathfolder- возвращает string типа "C:\Program Files (x86)\Kibor\"

Остальное тоже можно сделать.
 
 Top
Zireael
Отправлено: 24 Июня, 2020 - 23:33:55
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4397
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Нужно чтобы бот считывал рандомную строку из текстового файла

Лучше прочитать файл в массив, перемешать его и уже выполнять нужные действия.
CODE:
string path="C:\55.txt"; // путь к файлу
string array[9999];
int i, j;


if(fopen(path, "r")) // открыть файл для чтения
{
for(i=0; freadline(array[i])!=0 && i<sizearray(array)-1; i++){} // прочитать файл в массив
fclose(); // закрыть файл

int count_line = i;
messagebox("Всего строк в файле: "+format(count_line));

for(j=0; j<count_line; j++) // цикл для перемешивания массива
{
int random1 = rand(0, count_line);
int random2 = rand(0, count_line);

string temp = array[random1];
array[random1] = array[random2];
array[random2] = temp;
}


// тут нужные действия
for(i=0; i<5; i++)
{
messagebox(array[i]);
}

}
else messagebox("Файл не найден");
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by