Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Вопросы

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

51. 007wan - 30 Августа, 2019 - 03:07:50 - перейти к сообщению
Код (Отобразить)

(Добавление)
Куда и как лучше всего запихать цикл, который равномерно на 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
52. Zireael - 30 Августа, 2019 - 03:34:47 - перейти к сообщению
 Цитата:
Как это условие упростить?

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]);
53. 007wan - 30 Августа, 2019 - 03:40:15 - перейти к сообщению
 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++)
{
Который ваше код
54. Zireael - 30 Августа, 2019 - 04:19:20 - перейти к сообщению
 Цитата:
Как сделать цикл через for:
если percent == 6, то показать messagebox(0);,

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

Дописать нужное условие.
55. 007wan - 30 Августа, 2019 - 04:30:39 - перейти к сообщению
 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
56. Zireael - 30 Августа, 2019 - 04:43:02 - перейти к сообщению
 Цитата:
а если у меня к примеру 100 изображений и на каждую картинку по 1%. Всего написать нужно будет 100 условий таких if

Можно и 100, но лучше бы просто разобраться с циклами и массивами.
57. 007wan - 30 Августа, 2019 - 04:56:53 - перейти к сообщению
 Zireael пишет:
 Цитата:
а если у меня к примеру 100 изображений и на каждую картинку по 1%. Всего написать нужно будет 100 условий таких if

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

break - Прерывание циклов loop, looptime, while и for
59. 007wan - 30 Августа, 2019 - 05:00:42 - перейти к сообщению
 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)
60. Dantes3000 - 30 Августа, 2019 - 05:29:13 - перейти к сообщению
007wan , В программировании есть такая штука как "Solution". Перед непосредственным программированием создают "Решение", всё продумывают и только потом уже делают.

Так вот, солюшн у тебя никакущий. Говнокод это еще называют

Powered by ExBB FM 1.0 Final