Zireael |
Отправлено: 09 Апреля, 2018 - 10:23:51
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
code (Отобразить)CODE:string s="", PR, rn=formatic(13)+formatic(10);
int x=0;
int max_string=3; // максимальное количество строк лога, лишние будут удалены начиная с начала
int pos_size_static0[1][4];
string text_static0[1];
pos_size_static0[0][0]=10; pos_size_static0[0][1]=10; pos_size_static0[0][2]=300; pos_size_static0[0][3]=200;
text_static0[0]="";
createdialog(0, STATIC, #pos_size_static0[0][0], #text_static0[0]);
showdialog(0, "LOG", 335, 390, 351, 208, 1, 1);
text_static0[0]=add_string("Начало работы"); sleep(1000);
text_static0[0]=add_string("Работаем без прокси"); sleep(1000);
text_static0[0]=add_string("Авторизировались в instagram.com"); sleep(1000);
text_static0[0]=add_string("111"); sleep(1000);
text_static0[0]=add_string("222"); sleep(1000);
text_static0[0]=add_string("333"); sleep(1000);
text_static0[0]=add_string("444"); sleep(1000);
text_static0[0]=add_string("555"); sleep(1000);
function add_string(string temp)
{
x++; s=s+temp+rn;
if(x>max_string) // если достигнут максимум строк в логе
{
if(findtexttest (#s, #PR, rn, /ALL+\)==1)s=PR; // ищем всё что идет после переноса строки
else {if(findtexttest (#s, #PR, rn, /ALL+\)==1)s=PR;} // обход бага, повторный вызов функции
}
return s;
}
Использована тестовая функция findtexttest. После обновления может что-то изменится. Хотя в данном случае можно и без неё обойтись. |
|
|
ivantu |
Отправлено: 09 Апреля, 2018 - 11:25:49
|
Эксперт
Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013
Репутация: 14
|
Спасибо огромное, потестил вроде то, но какой то баг чтоле, зациклил , проходит два круга, и весь текст просто исчезает....
Код (Отобразить)CODE:
string s="", PR, rn=formatic(13)+formatic(10);
int x=0;
int max_string=100; // максимальное количество строк лога, лишние будут удалены начиная с начала
int pos_size_static0[1][4];
string text_static0[1];
pos_size_static0[0][0]=10; pos_size_static0[0][1]=10; pos_size_static0[0][2]=300; pos_size_static0[0][3]=200;
text_static0[0]="";
createdialog(0, STATIC, #pos_size_static0[0][0], #text_static0[0]);
showdialog(0, "LOG", 335, 390, 351, 208, 1, 1);
starting:;
text_static0[0]=add_string("Начало работы"); sleep(1000);
text_static0[0]=add_string("Работаем без прокси"); sleep(1000);
text_static0[0]=add_string("Авторизировались в instagram.com"); sleep(1000);
text_static0[0]=add_string("111"); sleep(1000);
text_static0[0]=add_string("222"); sleep(1000);
text_static0[0]=add_string("333"); sleep(1000);
text_static0[0]=add_string("444"); sleep(1000);
text_static0[0]=add_string("555"); sleep(1000);
goto starting;
function add_string(string temp)
{
x++; s=s+temp+rn;
if(x>max_string) // если достигнут максимум строк в логе
{
if(findtexttest (#s, #PR, rn, /ALL+\)==1)s=PR; // ищем всё что идет после переноса строки
else {if(findtexttest (#s, #PR, rn, /ALL+\)==1)s=PR;} // обход бага, повторный вызов функции
}
return s;
}
|
|
|
Zireael |
Отправлено: 09 Апреля, 2018 - 12:20:06
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Да, какой-то баг есть. Исправил немного:
code (Отобразить)CODE:string s="", PR, rn=formatic(13)+formatic(10);
int x=0;
int max_string=10; // максимальное количество строк лога, лишние будут удалены начиная с начала
int pos_size_static0[1][4];
string text_static0[1];
pos_size_static0[0][0]=10; pos_size_static0[0][1]=10; pos_size_static0[0][2]=300; pos_size_static0[0][3]=200;
text_static0[0]="";
createdialog(0, STATIC, #pos_size_static0[0][0], #text_static0[0]);
showdialog(0, "LOG", 335, 390, 351, 208, 1, 1);
starting:;
text_static0[0]=add_string("Начало работы"); sleep(500);
text_static0[0]=add_string("Работаем без прокси"); sleep(500);
text_static0[0]=add_string("Авторизировались в instagram.com"); sleep(500);
text_static0[0]=add_string("111"); sleep(500);
text_static0[0]=add_string("222"); sleep(500);
text_static0[0]=add_string("333"); sleep(500);
text_static0[0]=add_string("444"); sleep(500);
text_static0[0]=add_string("555"); sleep(500);
goto starting;
function add_string(string temp)
{
x++; s=s+temp+rn;
if(x>max_string) // если достигнут максимум строк в логе
{
if(findtexttest (#s, #PR, rn, /[RU, EN, SPACE, NUM, SPEC, MARK]+\)==1)s=PR; // ищем всё что идет после переноса строки
else {if(findtexttest (#s, #PR, rn, /[RU, EN, SPACE, NUM, SPEC, MARK]+\)==1)s=PR;} // обход бага, повторный вызов функции
}
return s;
} |
|
|
|