Budni |
Отправлено: 01 Октября, 2019 - 19:06:06
|
Специалист
Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 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;
}
(Добавление)
Ух всё разобрался вот кому надо будет:
Скачивание картинок в папку+ добавление название картинок в буфер обмена (Отобразить)CODE:string si="";
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, "[^\/]+$"))
{
si=si+name_file[i]+rn;
writeclipboard (si);
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++;
}
}
}
}
}
}
}
return count_download_file;
} |
|
|
Budni |
Отправлено: 04 Октября, 2019 - 18:12:44
|
Специалист
Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018
Репутация: 2
|
Dantes3000 ,
Это я понимаю, но вот куда именно в коде вставить в этом?
код (Отобразить)string si="";
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, "[^\/]+$" )
{
si=si+name_file[i]+rn;
writeclipboard (si);
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++;
}
}
}
}
}
}
}
return count_download_file;
} |
|
|
Zireael |
Отправлено: 05 Октября, 2019 - 01:53:15
|
Эксперт
Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Как к скаченному файлу добавить номер в имя?
code (Отобразить)CODE:string si="", 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, 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, body, "[^\/]+$"))
{
si=si+name_file+rn;
writeclipboard (si);
int count_byte=sendgetweb(#text[0], "Mozilla", "GET", domain, body);
if(count_byte>0)
{
if(regexreplace(1, #name_file, name_file, "([^\.]+)(\..+)", "$1"+"_"+format(count_download_file)+"$2"))
{
if(fopen(path_save+name_file, "wb"))
{
fwriteb(#text[0], count_byte);
fclose();
count_download_file++;
}
}
}
}
}
}
}
}
return count_download_file;
} |
|
|
|