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

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

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

> Без описания
noruni
Отправлено: 13 Февраля, 2021 - 17:12:11
Post Id



Пользователь
Прохожий


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




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

(Добавление)
Ещё интересует как сделать чек боксы изначально активированные? И как считывать поставлен чекбокс или нет?
 
 Top
Zireael
Отправлено: 13 Февраля, 2021 - 17:33:45
Post Id



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


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




 Цитата:
Как считывать внесенные данные с диалогового окна?

CODE:
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll");


char text_edit[99];
GetWindowText(ssilka, address(#text_edit[0]), sizearray(text_edit)); // получить текст окна
messagebox(format(#text_edit[0]));

 Цитата:
Ещё интересует как сделать чек боксы изначально активированные?

CODE:
#define BM_SETCHECK 0x00F1
#define BST_CHECKED 0x0001

sendmessage(BM_SETCHECK, BST_CHECKED, 0, formatiw(Checkboxes[0]));

CODE:
И как считывать поставлен чекбокс или нет?

Также как нажатие кнопки:
CODE:
if (message.lparam==Checkboxes[0])
{
// тут или проверять значение переменной, в которую записывается стоит галка или нет
// или оправить сообщение BM_GETCHECK, вернёт 1 или 0.
}
 
 Top
noruni
Отправлено: 13 Февраля, 2021 - 17:47:46
Post Id



Пользователь
Прохожий


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




Zireael ,Почти во всём разобрался, спасибо.

 Zireael пишет:
или оправить сообщение BM_GETCHECK, вернёт 1 или 0.

messagebox (BM_GETCHECK); Так ошибка. Как правильно сделать?
 
 Top
Zireael
Отправлено: 13 Февраля, 2021 - 17:51:09
Post Id



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


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




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

Все сообщение окнам отправляются через sendmessage.
CODE:
#define BM_GETCHECK 0x00F0

int result = sendmessage(BM_GETCHECK, 0, 0, formatiw(Checkboxes[0]));
messagebox(result);
 
 Top
Kibor
Отправлено: 13 Февраля, 2021 - 17:53:06
Post Id



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


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




CODE:
#define BM_GETCHECK 240
messagebox (BM_GETCHECK);
 
 Top
noruni
Отправлено: 13 Февраля, 2021 - 18:56:27
Post Id



Пользователь
Прохожий


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




Спасибо, ещё возникли вопросы. Когда я составляю условие, вылазит ошибка

CODE:
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll");
char text_edit[99];
char text_edit2[99];
for (int i1=0; i1<4); i1++)
{
GetWindowText(h[i1], address(#text_edit[i1]), sizearray(text_edit)); // получить текст окна
messagebox(format(#text_edit[i1]));
GetWindowText(k[i1], address(#text_edit2[i1]), sizearray(text_edit2)); // получить текст окна
messagebox(format(#text_edit2[i1]));

for (int a=0; a<4; a++)
{
if (1== format(#text_edit[a]) && 2== format(#text_edit2[a])) {messagebox("Совпадение");}
}

(Отредактировано автором: 13 Февраля, 2021 - 18:57:15)

 
 Top
Kibor
Отправлено: 13 Февраля, 2021 - 19:07:12
Post Id



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


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




 noruni пишет:
вылазит ошибка

Естественно. Код просмотрите.
 
 Top
Zireael
Отправлено: 13 Февраля, 2021 - 19:10:15
Post Id



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


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




 Цитата:
1== format(#text_edit[a])

Нельзя сравнивать число со строкой.
Надо так:
CODE:
"1" == format(#text_edit[a])

Или
CODE:
1 == formatsn(format(#text_edit[a]))
 
 Top
Kibor
Отправлено: 13 Февраля, 2021 - 19:12:44
Post Id



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


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




 noruni пишет:
for (int i1=0; i1<4); i1++)
 
 Top
noruni
Отправлено: 13 Февраля, 2021 - 19:39:01
Post Id



Пользователь
Прохожий


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




Zireael , В таком случаи он выдает сразу все значения из ячеек и сравнивает их, можно ли как то сравнивать числа по одному?

 Kibor пишет:
for (int i1=0; i1<4); i1++)

спасибо, опечатался случайно.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 4 (гостей: 4, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by