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

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

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

> Без описания
Budni
Отправлено: 01 Октября, 2019 - 19:06:06
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 418
Дата рег-ции: Март 2018  
Репутация: 2




Dantes3000 , Проблема в том, что при повторном использовании кода файл будет дополняться, а не перезаписываться...
(Добавление)
Да что не так? Почему копирует в буфер лишь последнее имя картинки?

CODE:
string s;
readclipboard (s);

string rn=formatic(13)+formatic(10);

string path="C:\new"; // куда скачать файлы


messagebox(s);

int count_file=download(s, path); // вызов функции, которая скачает найдёт ссылки и скачает файлы
messagebox("Скачено файлов: "+format(count_file));

function download(string s, string path_save)
{
char text[9999999];
string link[99], name_file[9999], domain, body;
int count_download_file=0;
regexreplace(1, #path_save, path_save, "(.+?)\\*$", "$1\");

int count_link=regexsearch(sizearray(link), #link[0], s, "https?:\/\/[^\r\n]+", MULTILINE);
if(count_link)
{
for(int i=0; i<count_link; i++)
{
if(regexsearch(1, #domain, link[i], "https?:\/\/[^\/]+"))
{
if(regexreplace(1, #body, link[i], "https?:\/\/[^\/]+\/(.+)", "$1"))
{
if(regexsearch(1, #name_file[i], body, "[^\/]+$"))
{
int count_byte=sendgetweb(#text[0], "Mozilla", "GET", domain, body);
if(count_byte>0)
{
if(fopen(path_save+name_file[i], "wb"))
{
fwriteb(#text[0], count_byte);
fclose();
count_download_file++;


string si="";
for(int i1=0; i1<count_link; i1++)si=si+name_file[i]+formatic(13)+formatic(10);
writeclipboard (si);


}
}
}
}
}
}
}
return count_download_file;
}

(Добавление)
Да что не так? Почему копирует в буфер лишь последнее имя картинки?

CODE:
string s;
readclipboard (s);

string rn=formatic(13)+formatic(10);

string path="C:\new"; // куда скачать файлы


messagebox(s);

int count_file=download(s, path); // вызов функции, которая скачает найдёт ссылки и скачает файлы
messagebox("Скачено файлов: "+format(count_file));

function download(string s, string path_save)
{
char text[9999999];
string link[99], name_file[9999], domain, body;
int count_download_file=0;
regexreplace(1, #path_save, path_save, "(.+?)\\*$", "$1\");

int count_link=regexsearch(sizearray(link), #link[0], s, "https?:\/\/[^\r\n]+", MULTILINE);
if(count_link)
{
for(int i=0; i<count_link; i++)
{
if(regexsearch(1, #domain, link[i], "https?:\/\/[^\/]+"))
{
if(regexreplace(1, #body, link[i], "https?:\/\/[^\/]+\/(.+)", "$1"))
{
if(regexsearch(1, #name_file[i], body, "[^\/]+$"))
{
int count_byte=sendgetweb(#text[0], "Mozilla", "GET", domain, body);
if(count_byte>0)
{
if(fopen(path_save+name_file[i], "wb"))
{
fwriteb(#text[0], count_byte);
fclose();
count_download_file++;


string si="";
for(int i1=0; i1<count_link; i1++)si=si+name_file[i]+formatic(13)+formatic(10);
writeclipboard (si);


}
}
}
}
}
}
}
return count_download_file;
}

(Добавление)
Ух всё разобрался вот кому надо будет:
Скачивание картинок в папку+ добавление название картинок в буфер обмена (Отобразить)
 
 Top
Budni
Отправлено: 04 Октября, 2019 - 17:09:15
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 418
Дата рег-ции: Март 2018  
Репутация: 2




Как к скаченному файлу добавить номер в имя?
name_1
name_2
name_3
name_4
?
 
 Top
Dantes3000
Отправлено: 04 Октября, 2019 - 18:09:13
Post Id



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


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




Budni , string name="name_"+format(n);
где n может быть любым числом. например из цикла for(int n=0; n<99; n++)
 
 Top
Budni
Отправлено: 04 Октября, 2019 - 18:12:44
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 418
Дата рег-ции: Март 2018  
Репутация: 2




Dantes3000 ,
Это я понимаю, но вот куда именно в коде вставить в этом?

код (Отобразить)
 
 Top
ivantu
Отправлено: 04 Октября, 2019 - 18:36:07
Post Id



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


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




""
(Добавление)
Я с телефона, но по моему эта часть кода
si=si+name_file[i]+rn;
Тут можно переназначить имя

(Отредактировано автором: 04 Октября, 2019 - 18:37:36)

 
 Top
Budni
Отправлено: 04 Октября, 2019 - 19:59:17
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 418
Дата рег-ции: Март 2018  
Репутация: 2




ivantu , Увы эту часть кода я сам писал и она отвечает за сохранение имени файла в буфер обмена.
Тут мне нужно именно переименование скаченного файла.
Хелп не могу разобраться.
 
 Top
ivantu
Отправлено: 04 Октября, 2019 - 21:44:22
Post Id



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


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




Скачанный файл можно переименовать вот так
CODE:
external(INT, "MoveFile", "MoveFileA", "kernel32.dll");
MoveFile("C:\Этот_переименовать.txt", "C:\В_этот.txt");
 
 Top
Zireael
Отправлено: 05 Октября, 2019 - 01:53:15
Post Id



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


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




 Цитата:
Как к скаченному файлу добавить номер в имя?

code (Отобразить)
 
 Top
Budni
Отправлено: 05 Октября, 2019 - 06:51:42
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 418
Дата рег-ции: Март 2018  
Репутация: 2




 Zireael пишет:
if(fopen(path_save+name_file, "wb"))
Спасибо, почему тут wb? в документации нет такого значения.
 
 Top
Zireael
Отправлено: 05 Октября, 2019 - 10:11:20
Post Id



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


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




 Цитата:
почему тут wb? в документации нет такого значения.

Версия 3.09 Доработка чтения и записи в файл. Работа в бинарном режиме
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by