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

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

 Страниц (19): В начало « 2 3 4 5 [6] 7 8 9 10 » В конец    

> Описание: Продолжение
007wan
Отправлено: 30 Августа, 2019 - 11:07:50
Post Id



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


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




Код (Отобразить)

(Добавление)
Куда и как лучше всего запихать цикл, который равномерно на 100% распределяет распаковку 16 картинок? Причем полоса всегда идет равномерно: будь распаковка, то остановится полоса и когда закончит распаковку продолжит плавно.
Я высчитал. На 100% загрузки 16 картинок эт 6.25% но не знаю куда цикл поставить лучше что бы картинка не сбивалась
(Добавление)
Как это условие упростить? У голове не укладывается.
CODE:
if (percent == 6)
{
TextOut(DC, 20, 70, "Unpack: C:\...\Temp\Image_1", 27);
}

if (percent == 12)
{
TextOut(DC, 20, 70, "Unpack: C:\...\Temp\Image_2", 27);
}

if (percent == 18)
{
TextOut(DC, 20, 70, "Unpack: C:\...\Temp\Image_3", 27);
}

Всего percent от 6 до 96
 
 Top
Zireael
Отправлено: 30 Августа, 2019 - 11:34:47
Post Id



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


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




 Цитата:
Как это условие упростить?

CODE:
int a[3]={6, 12, 18}
string b[3]={"Image_1", "Image_2", "Image_3"}
for(int i=0; i<sizearray(a); i++)messagebox(format(a[i])+" "+b[i]);
 
 Top
007wan
Отправлено: 30 Августа, 2019 - 11:40:15
Post Id



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


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




 Zireael пишет:
 Цитата:
Как это условие упростить?

CODE:
int a[3]={6, 12, 18}
string b[3]={"Image_1", "Image_2", "Image_3"}
for(int i=0; i<sizearray(a); i++)messagebox(format(a[i])+" "+b[i]);

Я не могу сапоставить с циклом, который а этом коде:
Код (Отобразить)

(Добавление)
ОН сначала грузит 0% потом повторяет цикл 6,12, 18, а потом уже снова 1% и так далее
(Добавление)
Как сделать цикл через for:
если percent == 6, то показать messagebox(0);,
если percent == 12, то messagebox(1);
если percent == 18, то messagebox(2);
если percent == 24, то messagebox(3);
если percent == 30, то messagebox(4);
если percent == 36, то messagebox(5);
если percent == 42, то messagebox(6);
если percent == 48, то messagebox(7);
если percent == 54, то messagebox(8);
если percent == 60, то messagebox(9);
если percent == 66, то messagebox(10);
если percent == 72, то messagebox(11);
если percent == 78, то messagebox(12);
если percent == 84, то messagebox(13);
если percent == 90, то messagebox(14);
если percent == 96, то messagebox(15);
(Добавление)
Причем совместно с циклом
CODE:
for(int i=0; i<=coord[2]-coord[0]; i=i+(coord[2]-coord[0])/100)
{
int percent = i/(coord[2]-coord[0])*100;
coord[4] = coord[0]+i;

for(int s=0; s<2; s++)
{
Который ваше код
 
 Top
Zireael
Отправлено: 30 Августа, 2019 - 12:19:20
Post Id



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


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




 Цитата:
Как сделать цикл через for:
если percent == 6, то показать messagebox(0);,

После строки:
 Цитата:
int percent = i/(coord[2]-coord[0])*100;

Дописать нужное условие.
 
 Top
007wan
Отправлено: 30 Августа, 2019 - 12:30:39
Post Id



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


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




 Zireael пишет:
 Цитата:
Как сделать цикл через for:
если percent == 6, то показать messagebox(0);,

После строки:
 Цитата:
int percent = i/(coord[2]-coord[0])*100;

Дописать нужное условие.

Ты имеешь ввиду:
CODE:
if (percent == 6){//выполнить код}
У меня всего 16 изобраений, если 100/16, то нужно примерно по 6% что бы каждую распаковывал, а тогда мне нужно этих условий 16 раз прописать, а если у меня к примеру 100 изображений и на каждую картинку по 1%. Всего написать нужно будет 100 условий таких if
 
 Top
Zireael
Отправлено: 30 Августа, 2019 - 12:43:02
Post Id



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


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




 Цитата:
а если у меня к примеру 100 изображений и на каждую картинку по 1%. Всего написать нужно будет 100 условий таких if

Можно и 100, но лучше бы просто разобраться с циклами и массивами.
 
 Top
007wan
Отправлено: 30 Августа, 2019 - 12:56:53
Post Id



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


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




 Zireael пишет:
 Цитата:
а если у меня к примеру 100 изображений и на каждую картинку по 1%. Всего написать нужно будет 100 условий таких if

Можно и 100, но лучше бы просто разобраться с циклами и массивами.
Не чего разбирать. Всё будет такой же просто в более проще по инициализации переменных, но if не пропадут и через for их никак не сделать. Надо в момент когда будет процент 6,12,18 итд нужно как-то выходить из цикла, я пробовал return и не помогло.
(Добавление)
 007wan пишет:
я пробовал return и не помогло.
Он выходит из всех циклов for
 
 Top
Zireael
Отправлено: 30 Августа, 2019 - 12:58:51
Post Id



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


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




 Цитата:
нужно как-то выходить из цикла

break - Прерывание циклов loop, looptime, while и for
 
 Top
007wan
Отправлено: 30 Августа, 2019 - 13:00:42
Post Id



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


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




 Zireael пишет:
 Цитата:
нужно как-то выходить из цикла

break - Прерывание циклов loop, looptime, while и for

Ёшкин кот. Блин. Забыл. Похоже я начал всё забывать.
(Добавление)
Фух я смог. Мозги все перегрелись)
CODE:

int num = 6;//вынести за пределы ранее циклов for, а то она будет обнуляться.

for (int g=percent; g>=num; g++)//Если проценты равны 6, 12, 18...Вывести диалог с процентами
{
num = num+6;
messagebox(percent);
break;
}

(Добавление)
Или
CODE:

int images = 16;//количество избображений
int num = 100/images;//округлит до 6
for (int g=percent; g>=num; g++)//100/16=каждые 6,25 будет распаковывать 1 изображение.
{
num = num+6;
messagebox(percent);
break;
}


(Добавление)
А если еще
 Цитата:
for (int g=percent; g>=num; g++)
{
num = num+6;
messagebox(percent/6);
break;
}
То легко можно подставить изображений свои и дать и нумерацию, например, Image_ и в цикле вывести и указать + format(percent/6)
(Добавление)
В итоге будет каждые 6% распаковывать 1 изображение и выводить Image_+format(percent/6)
 
 Top
Dantes3000
Отправлено: 30 Августа, 2019 - 13:29:13
Post Id



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


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




007wan , В программировании есть такая штука как "Solution". Перед непосредственным программированием создают "Решение", всё продумывают и только потом уже делают.

Так вот, солюшн у тебя никакущий. Говнокод это еще называют
 
 Top
Страниц (19): В начало « 2 3 4 5 [6] 7 8 9 10 » В конец
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by