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

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

 Страниц (7): « 1 2 3 4 [5] 6 7 »   

> Без описания
Zireael
Отправлено: 26 Декабря, 2017 - 16:05:58
Post Id



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


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




 Цитата:
используются одни и те же переменные где for

Это никак не влияет, если циклы не вложенные.
 Цитата:
не прорисовывается)

CODE:
// заполняем массивы
for(int j=0; j<pos_size_static0[0][2]; j++)

Сколько в вашем коде статиков? Цикл использует параметры первого.
 
 Top
Kibor
Отправлено: 26 Декабря, 2017 - 16:08:35
Post Id



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


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




 Цитата:
int pos_size_static0[1][4];
string text_static0[1];

pos_size_static0[0][0]=20; pos_size_static0[0][1]=10; pos_size_static0[0][2]=40; pos_size_static0[0][3]=12;
text_static0[0]="Текст 0";

//////////

createdialog(0, STATIC, #pos_size_static0[0][0], #text_static0[0]);
//////////



///////////

showdialog(0, "Диалог", 800, 200, 470, 100, 1, 1);
//////////
win dialog;
// ждём когда диалог откроется
while(window("Диалог")==0)
{
sleep(50);
}
dialog=window("Диалог");


int nl=0;

line(10, 20, 200, 20, 255, dialog);
line(10, 30, 150, 35, 32768, dialog);

loop() sleep(10);



function line(int xs, int ys, int xf, int yf, int color, win w)
{
int image[470][100];// по размеру диалога

int x1, y1, x2, y2;
if (xf>xs){x1=xs; x2=xf;}
else {x2=xs; x1=xf;}
if (yf>ys){y1=ys; y2=yf;}
else {y2=ys; y1=yf;}

for (int y=y1; y<y2+1; y++)
{
for (int x=x1; x<x2+1; x++)image[x][y]=color;
}
visualwindow (w, nl, x1, y1, x2+1, y2+1, x1, y1, 100, #image[0][0]);

nl++;

}
 
 Top
007wan
Отправлено: 27 Декабря, 2017 - 12:08:16
Post Id



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


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




Kibor , Все отлично работает, но у меня 2 линии(зеленая почему-то в самом внизу. Красная вообще выше самого статика чуть-чуть) Желательно, что бы Одна сплошная линия( если можно толщину указать итд, это наверное в line) и обводила статик, но обводила так(уточню):
есть сам размер статика. например, размерами 100, 105. Обведет на следующем пикселе, т.е на 101, 106, и там начнется обводка.
(Добавление)
(Добавление)
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
(Добавление)
 007wan пишет:
например, размерами 100, 105. Обведет на следующем пикселе, т.е на 101, 106, и там начнется обводка.

а не лучше под размер статика или же, я ошибся вверху: 4 линии(2 гориз., 2 верт. отступ каждой на 1 пикс.)
(Добавление)
for(int j=0; j<pos_size_static0[0][2]; j++)
{
arr1[j][0]=color;
}
for(j=0; j<pos_size_static0[0][3]; j++)
{
arr2[0][j]=color;
}
CODE:
for(int j=0; j<pos_size_static20[0][2]; j++)
{
arr1[j][0]=color;
}
for(j=0; j<pos_size_static20[0][3]; j++)
{
arr2[0][j]=color;
}

Нашел. все равботает))
(Добавление)
 Kibor пишет:
 Zireael пишет:
while(formatwi(window("Диалог")) < 0)

CODE:
while(window("Диалог")==0)

А чем оно отличается? что лучше выбрать?
(Добавление)
Кстати, если вы обратили внимание, то в нижнем правом углу этого нарисованного квадрата, прямоугольника(смотря какая форма будет статика) белая точка, т.е он в конце не дорисовывает
(Добавление)
можео еще сделать отступы на 1 пикс
 
 Top
007wan
Отправлено: 27 Декабря, 2017 - 14:24:17
Post Id



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


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




а все, сделал теперь нормльно
 
 Top
Kibor
Отправлено: 27 Декабря, 2017 - 17:13:41
Post Id



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


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




я не подчеркивал статик и тд.
я просто провел 2 линии по координатам.
первые 4 параметра. в функции . ими устанавливается длина и толщина.

line(10, 20, 200, 20, 255, dialog);
line(10, 30, 150, 35, 32768, dialog);

думаю поэкспериментировав поймете как обводить и рисовать где надо.

саму функцию function line(int xs, int ys, int xf, int yf, int color, win w) не трогать.
(Добавление)
pos_size_static0 может не соответствовать длине текста, то есть быть больше.
 
 Top
Kibor
Отправлено: 27 Декабря, 2017 - 19:15:33
Post Id



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


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




 Цитата:
int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];

pos_size_button0[0][0]=73; pos_size_button0[0][1]=147; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Кнопка 0";

//////////

int pos_size_edit0[2][4];
string text_edit0[2];

pos_size_edit0[0][0]=127; pos_size_edit0[0][1]=8; pos_size_edit0[0][2]=100; pos_size_edit0[0][3]=20;
pos_size_edit0[1][0]=128; pos_size_edit0[1][1]=37; pos_size_edit0[1][2]=100; pos_size_edit0[1][3]=20;
text_edit0[0]="Поле 0"; text_edit0[1]="Поле 1";

//////////

int pos_size_check0[2][4];
string text_check0[2];
int flag_check0[2];

pos_size_check0[0][0]=21; pos_size_check0[0][1]=65; pos_size_check0[0][2]=60; pos_size_check0[0][3]=17;
pos_size_check0[1][0]=22; pos_size_check0[1][1]=93; pos_size_check0[1][2]=60; pos_size_check0[1][3]=17;
text_check0[0]="Галка 0"; text_check0[1]="Галка 1";
flag_check0[0]=0; flag_check0[1]=0;

//////////

int pos_size_combo0[1][4];
string text_combo0[1][1];
int strok_combo0[1];
int flag_combo0[1];

pos_size_combo0[0][0]=129; pos_size_combo0[0][1]=72; pos_size_combo0[0][2]=100; pos_size_combo0[0][3]=22;
strok_combo0[0]=1;
text_combo0[0][0]="Список 0";
flag_combo0[0]=0;

//////////

int pos_size_static0[2][4];
string text_static0[2];

pos_size_static0[0][0]=19; pos_size_static0[0][1]=12; pos_size_static0[0][2]=100; pos_size_static0[0][3]=12;
pos_size_static0[1][0]=21; pos_size_static0[1][1]=36; pos_size_static0[1][2]=100; pos_size_static0[1][3]=12;
text_static0[0]="Текст 0"; text_static0[1]="Текст 1";

//////////

createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
EDIT, #pos_size_edit0[0][0], #text_edit0[0] |
CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0] |
COMBO, #pos_size_combo0[0][0], #text_combo0[0][0], #strok_combo0[0], #flag_combo0[0] |
STATIC, #pos_size_static0[0][0], #text_static0[0]);
//////////

showdialog(0, "Диалог", 558, 234, 250, 210, 1, 1);
//////////

win dialog;
// ждём когда диалог откроется
while(window("Диалог")==0)
{
sleep(50);
}
dialog=window("Диалог");


int nl=0, n;


rectangle(#pos_size_button0[0][0]);

for (n=0; n<2; n++)rectangle(#pos_size_edit0[n][0]);

for (n=0; n<2; n++)rectangle(#pos_size_check0[n][0]);

rectangle(#pos_size_combo0[0][0]);

for (n=0; n<2; n++)rectangle(#pos_size_static0[n][0]);



loop() sleep(10);//Убрать после теста


function rectangle(int #res)
{
line(res[0][0]-2, res[0][1]-2, res[0][0]+res[0][2]+1, res[0][1]-2, 255, dialog);
line(res[0][0]-2, res[0][1]+res[0][3]+1, res[0][0]+res[0][2]+1, res[0][1]+res[0][3]+1, 255, dialog);
line(res[0][0]-2, res[0][1]-2, res[0][0]-2, res[0][1]+res[0][3]+1, 255, dialog);
line(res[0][0]+res[0][2]+1, res[0][1]-2, res[0][0]+res[0][2]+1, res[0][1]+res[0][3]+1, 255, dialog);
}

function line(int xs, int ys, int xf, int yf, int color, win w)
{
int image[250][210];// по размеру диалога

int x1, y1, x2, y2;
if (xf>xs){x1=xs; x2=xf;}
else {x2=xs; x1=xf;}
if (yf>ys){y1=ys; y2=yf;}
else {y2=ys; y1=yf;}

for (int y=y1; y<y2+1; y++)
{
for (int x=x1; x<x2+1; x++)image[x][y]=color;
}
visualwindow (w, nl, x1, y1, x2+1, y2+1, x1, y1, 100, #image[0][0]);

nl++;

}





 
 Top
007wan
Отправлено: 28 Декабря, 2017 - 11:35:20
Post Id



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


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




 Kibor пишет:
line(10, 30, 150, 35, 32768, dialog);

Я не понял, это функция или что? почему она розовым не помечается?
(Добавление)
 Kibor пишет:
 Цитата:
int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];

pos_size_button0[0][0]=73; pos_size_button0[0][1]=147; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Кнопка 0";

//////////

int pos_size_edit0[2][4];
string text_edit0[2];

pos_size_edit0[0][0]=127; pos_size_edit0[0][1]=8; pos_size_edit0[0][2]=100; pos_size_edit0[0][3]=20;
pos_size_edit0[1][0]=128; pos_size_edit0[1][1]=37; pos_size_edit0[1][2]=100; pos_size_edit0[1][3]=20;
text_edit0[0]="Поле 0"; text_edit0[1]="Поле 1";

//////////

int pos_size_check0[2][4];
string text_check0[2];
int flag_check0[2];

pos_size_check0[0][0]=21; pos_size_check0[0][1]=65; pos_size_check0[0][2]=60; pos_size_check0[0][3]=17;
pos_size_check0[1][0]=22; pos_size_check0[1][1]=93; pos_size_check0[1][2]=60; pos_size_check0[1][3]=17;
text_check0[0]="Галка 0"; text_check0[1]="Галка 1";
flag_check0[0]=0; flag_check0[1]=0;

//////////

int pos_size_combo0[1][4];
string text_combo0[1][1];
int strok_combo0[1];
int flag_combo0[1];

pos_size_combo0[0][0]=129; pos_size_combo0[0][1]=72; pos_size_combo0[0][2]=100; pos_size_combo0[0][3]=22;
strok_combo0[0]=1;
text_combo0[0][0]="Список 0";
flag_combo0[0]=0;

//////////

int pos_size_static0[2][4];
string text_static0[2];

pos_size_static0[0][0]=19; pos_size_static0[0][1]=12; pos_size_static0[0][2]=100; pos_size_static0[0][3]=12;
pos_size_static0[1][0]=21; pos_size_static0[1][1]=36; pos_size_static0[1][2]=100; pos_size_static0[1][3]=12;
text_static0[0]="Текст 0"; text_static0[1]="Текст 1";

//////////

createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
EDIT, #pos_size_edit0[0][0], #text_edit0[0] |
CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0] |
COMBO, #pos_size_combo0[0][0], #text_combo0[0][0], #strok_combo0[0], #flag_combo0[0] |
STATIC, #pos_size_static0[0][0], #text_static0[0]);
//////////

showdialog(0, "Диалог", 558, 234, 250, 210, 1, 1);
//////////

win dialog;
// ждём когда диалог откроется
while(window("Диалог")==0)
{
sleep(50);
}
dialog=window("Диалог");


int nl=0, n;


rectangle(#pos_size_button0[0][0]);

for (n=0; n<2; n++)rectangle(#pos_size_edit0[n][0]);

for (n=0; n<2; n++)rectangle(#pos_size_check0[n][0]);

rectangle(#pos_size_combo0[0][0]);

for (n=0; n<2; n++)rectangle(#pos_size_static0[n][0]);



loop() sleep(10);//Убрать после теста


function rectangle(int #res)
{
line(res[0][0]-2, res[0][1]-2, res[0][0]+res[0][2]+1, res[0][1]-2, 255, dialog);
line(res[0][0]-2, res[0][1]+res[0][3]+1, res[0][0]+res[0][2]+1, res[0][1]+res[0][3]+1, 255, dialog);
line(res[0][0]-2, res[0][1]-2, res[0][0]-2, res[0][1]+res[0][3]+1, 255, dialog);
line(res[0][0]+res[0][2]+1, res[0][1]-2, res[0][0]+res[0][2]+1, res[0][1]+res[0][3]+1, 255, dialog);
}

function line(int xs, int ys, int xf, int yf, int color, win w)
{
int image[250][210];// по размеру диалога

int x1, y1, x2, y2;
if (xf>xs){x1=xs; x2=xf;}
else {x2=xs; x1=xf;}
if (yf>ys){y1=ys; y2=yf;}
else {y2=ys; y1=yf;}

for (int y=y1; y<y2+1; y++)
{
for (int x=x1; x<x2+1; x++)image[x][y]=color;
}
visualwindow (w, nl, x1, y1, x2+1, y2+1, x1, y1, 100, #image[0][0]);

nl++;

}





А упростить никак?
(Добавление)
Где список(комбо): если добавим 1 строчку в комбо, запустим скрипт, то при нажатии комбо линия будет поверх строки или нет? Просто ответьте, хотелось бы, что бы не поверх, а строка комбо закрывала часть, ну сейчас мне не нужжен список, ну всеравно просто такк)
 
 Top
Kibor
Отправлено: 28 Декабря, 2017 - 11:44:22
Post Id



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


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




с комбо намного по другому вообще надо.
разбирайтесь с кодом и переделайте как надо.
 
 Top
007wan
Отправлено: 28 Декабря, 2017 - 11:48:41
Post Id



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


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




А может создать 2 переменные в статиках, списках, эдитах итд. типа первая- делать обводку(значение переменной: 1). Делать обводку, но с отступом(значение переменной: больше 1 или меньше 1, но не 0). Не делать обводку(значение: 0). След.: Цвет(ввести цвет цифрами)
(Добавление)
или функцию и указатель на эти всякие штуки
 
 Top
Kibor
Отправлено: 28 Декабря, 2017 - 12:45:27
Post Id



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


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




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


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




Powered by