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

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

1. noruni - 13 Февраля, 2021 - 09:12:11 - перейти к сообщению
Код (Отобразить)

(Добавление)
Ещё интересует как сделать чек боксы изначально активированные? И как считывать поставлен чекбокс или нет?
2. Zireael - 13 Февраля, 2021 - 09:33:45 - перейти к сообщению
 Цитата:
Как считывать внесенные данные с диалогового окна?

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.
}
3. noruni - 13 Февраля, 2021 - 09:47:46 - перейти к сообщению
Zireael ,Почти во всём разобрался, спасибо.

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

messagebox (BM_GETCHECK); Так ошибка. Как правильно сделать?
4. Zireael - 13 Февраля, 2021 - 09:51:09 - перейти к сообщению
 Цитата:
Как правильно сделать?

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

int result = sendmessage(BM_GETCHECK, 0, 0, formatiw(Checkboxes[0]));
messagebox(result);
5. Kibor - 13 Февраля, 2021 - 09:53:06 - перейти к сообщению
CODE:
#define BM_GETCHECK 240
messagebox (BM_GETCHECK);
6. noruni - 13 Февраля, 2021 - 10:56:27 - перейти к сообщению
Спасибо, ещё возникли вопросы. Когда я составляю условие, вылазит ошибка

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("Совпадение");}
}
7. Kibor - 13 Февраля, 2021 - 11:07:12 - перейти к сообщению
 noruni пишет:
вылазит ошибка

Естественно. Код просмотрите.
8. Zireael - 13 Февраля, 2021 - 11:10:15 - перейти к сообщению
 Цитата:
1== format(#text_edit[a])

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

Или
CODE:
1 == formatsn(format(#text_edit[a]))
9. Kibor - 13 Февраля, 2021 - 11:12:44 - перейти к сообщению
 noruni пишет:
for (int i1=0; i1<4); i1++)
10. noruni - 13 Февраля, 2021 - 11:39:01 - перейти к сообщению
Zireael , В таком случаи он выдает сразу все значения из ячеек и сравнивает их, можно ли как то сравнивать числа по одному?

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

спасибо, опечатался случайно.

Powered by ExBB FM 1.0 Final