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

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

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

> Без описания
KeSeG
Отправлено: 26 Декабря, 2018 - 20:26:33
Post Id



Пользователь
Участник


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




Здравствуйте, у меня такой вопрос. имею большой скрипт, написан конечно не оптимально, но как смог. Большой в моем понимании это примерно 2300 строк.

Так вот само окно где я набираю код, начинает подтормаживать. Это скажем так предел программы или у меня что то не в порядке? так же очень очень долго запускается скрип. Выставил значения Настройки- Трансляция на максиум, но все-равно все очень долго запускает. При создании запускаемого файла, может очень долго думать и вылететь, иногда все-таки не вылетает и создает ехе.

Есть какие то пути решения этой проблемы? Заранее спасибо.
 
 Top
Dantes3000
Отправлено: 26 Декабря, 2018 - 21:26:03
Post Id



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


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




Для начала надо показать код. У меня вот никогда не тупило в этом плане
 
 Top
KeSeG
Отправлено: 27 Декабря, 2018 - 12:41:45
Post Id



Пользователь
Участник


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




 Dantes3000 пишет:
Для начала надо показать код. У меня вот никогда не тупило в этом плане


Весь код думаю, большого смысла давать нету. Вот кусок. И такого "дела" 2к строк.

CODE:
if ((a=="5")&&(b==0))
{
if
(((c=="01")&&(d>50*k-z))
||((c=="02")&&(d>50))
||((c=="03")&&(d>110*k-z))
||((c=="04")&&(d>70*k-z))
||((c=="05")&&(d>50))
||((c=="06")&&(d>50)))
{
p=1;
beep(200,200);
text_static0[2]="OK_6";
}

if
(((c=="1")&&(d<=10000-z))
||((c=="2")&&(d<=365*k-z))
||((c=="3")&&(d<=160*k-z))
||((c=="4")&&(d<=110*k-z))
||((c=="5")&&(d<=70*k-z))
||((c=="6")&&(d<=35*k-z))
||((c=="7")&&(d<=25*k-z))
||((c=="8")&&(d<=15*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="9")&&(d<=535*k-z))
||((c=="10")&&(d<=175*k-z))
||((c=="11")&&(d<=110*k-z))
||((c=="12")&&(d<=80*k-z))
||((c=="13")&&(d<=70*k-z))
||((c=="14")&&(d<=65*k-z))
||((c=="15")&&(d<=40*k-z))
||((c=="16")&&(d<=25*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="17")&&(d<=425*k-z))
||((c=="18")&&(d<=140*k-z))
||((c=="19")&&(d<=85*k-z))
||((c=="20")&&(d<=60*k-z))
||((c=="21")&&(d<=45*k-z))
||((c=="22")&&(d<=35*k-z))
||((c=="23")&&(d<=25*k-z))
||((c=="24")&&(d<=15*k-z)))

{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="25")&&(d<=90*k-z))
||((c=="26")&&(d<=65*k-z))
||((c=="27")&&(d<=55*k-z))
||((c=="28")&&(d<=35*k-z))
||((c=="29")&&(d<=20*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="30")&&(d<=65*k-z))
||((c=="31")&&(d<=45*k-z))
||((c=="32")&&(d<=40*k-z))
||((c=="33")&&(d<=20*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="34")&&(d<=55*k-z))
||((c=="35")&&(d<=55*k-z))
||((c=="36")&&(d<=30*k-z))
||((c=="37")&&(d<=20*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="38")&&(d<=40*k-z))
||((c=="39")&&(d<=35*k-z))
||((c=="40")&&(d<=20*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="41")&&(d<=50*k-z))
||((c=="42")&&(d<=35*k-z))
||((c=="43")&&(d<=20*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="44")&&(d<=35*k-z))
||((c=="45")&&(d<=25*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="46")&&(d<=45*k-z))
||((c=="47")&&(d<=30*k-z))
||((c=="48")&&(d<=20*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="49")&&(d<=30*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="50")&&(d<=40*k-z))
||((c=="51")&&(d<=20*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="52")&&(d<=20*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}

if
(((c=="53")&&(d<=15*k-z)))
{
p=1;
beep(200,200);
text_static0[2]="YES_6";
}
}
 
 Top
Zireael
Отправлено: 27 Декабря, 2018 - 12:46:18
Post Id



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


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




CODE:
if ((a=="5")&&(b==0))

Скобки лишние:
CODE:
if (a=="5" && b==0)

Тоже самое в других строках.

(Отредактировано автором: 27 Декабря, 2018 - 12:48:14)

 
 Top
KeSeG
Отправлено: 27 Декабря, 2018 - 12:50:50
Post Id



Пользователь
Участник


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




 Zireael пишет:
CODE:
if ((a=="5")&&(b==0))

Скобки лишние:
CODE:
if (a=="5" && b==0)

Тоже самое в других строках.


Большое спасибо, сейчас протестирую, но у меня вопрос все-равно остается. Я прям вижу, чем больше такого рода кода добавляю, тем дольше запускается скрипт. А сейчас у же не запускается вовсе, экзешка тоже не создается. Какое то ограничение на строки или символы?
 
 Top
Kibor
Отправлено: 27 Декабря, 2018 - 12:52:14
Post Id



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


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




 Zireael пишет:
С нулём можно вообще не сравнивать:

Можно не сравнивать с чем то отличным от 0
То есть если не сравнивать, условие истина если переменная не 0.

CODE:
int b=0;
string a="5";
if (a=="5" && b)//ложь
{
messagebox ("");
}


CODE:
int b=1;
string a="5";
if (a=="5" && b)//истина
{
messagebox ("");
}


С 0 нет смысла сравнивать только так:
CODE:
b!=0
 
 Top
Zireael
Отправлено: 27 Декабря, 2018 - 12:59:20
Post Id



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


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




 Цитата:
С нулём можно вообще не сравнивать:

Да я уже исправил.
(Добавление)
 Цитата:
Вот кусок. И такого "дела" 2к строк.

Это весь код такой?
Тут полно похожих условий, которые можно в цикле проверять.
CODE:
c=="29" && d<=20*k-z
c=="33" && d<=20*k-z
c=="37" && d<=20*k-z
c=="40" && d<=20*k-z
c=="43" && d<=20*k-z
c=="48" && d<=20*k-z
c=="51" && d<=20*k-z
c=="52" && d<=20*k-z

Это можно так проверить:
CODE:
string c="37";
int d=100;
int k=20;
int z=10;

string s[8]={"29", "33", "37", "40", "43", "48", "51", "52"}; // массив

for(int i=0; i<sizearray(s); i++) // цикл для всего массива
{
if(c==s[i] && d<=20*k-z)messagebox(s[i]);
}
 
 Top
KeSeG
Отправлено: 27 Декабря, 2018 - 13:41:22
Post Id



Пользователь
Участник


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




 Zireael пишет:
 Цитата:
С нулём можно вообще не сравнивать:

Да я уже исправил.
(Добавление)
 Цитата:
Вот кусок. И такого "дела" 2к строк.

Это весь код такой?
Тут полно похожих условий, которые можно в цикле проверять.
CODE:
c=="29" && d<=20*k-z
c=="33" && d<=20*k-z
c=="37" && d<=20*k-z
c=="40" && d<=20*k-z
c=="43" && d<=20*k-z
c=="48" && d<=20*k-z
c=="51" && d<=20*k-z
c=="52" && d<=20*k-z

Это можно так проверить:
CODE:
string c="37";
int d=100;
int k=20;
int z=10;

string s[8]={"29", "33", "37", "40", "43", "48", "51", "52"}; // массив

for(int i=0; i<sizearray(s); i++) // цикл для всего массива
{
if(c==s[i] && d<=20*k-z)messagebox(s[i]);
}


Спасибо за подсказку, просто условий "d<=20*k-z" у меня очень много порядка 100.
(Добавление)
Удалил лишние скобки, результата не дало(
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by