Zireael |
Отправлено: 28 Декабря, 2019 - 05:31:17
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: messagebox (format( #A[0] )); - (не знаю что это, но мне нужна обычная переменная)
CODE:int x=123;
messagebox(x); |
|
|
Zireael |
Отправлено: 30 Декабря, 2019 - 20:13:37
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: как с помощью кибора нарисовать прямоугольник с полупрозрачной заливкой. Может можно както через winapi?
code (Отобразить)CODE:#define WS_EX_LAYERED 524288
#define PS_SOLID 0
#define LWA_ALPHA 2
#define GWL_EXSTYLE -20
#define GWL_STYLE -16
external(INT, "SetLayeredWindowAttributes", "SetLayeredWindowAttributes", "User32.dll" );
external(INT, "SetWindowLong", "SetWindowLongA", "User32.dll" );
external(INT, "GetDC", "GetDC", "User32.dll");
external(INT, "Rectangle", "Rectangle", "Gdi32.dll");
external(INT, "CreatePen", "CreatePen", "Gdi32.dll");
external(INT, "SelectObject", "SelectObject", "Gdi32.dll");
external(INT, "CreateSolidBrush", "CreateSolidBrush", "Gdi32.dll");
int color=65280; // цвет
int trasp=127; // прозрачность от 0 до 255
int coord[4]={100, 100, 300, 300} // координаты прямоугольника
int HDC, startX, startY, endX, endY;
createdialog(2);
enabletimer(0);
loop()sleep(10);
function getmessage(2, WM_CREATE)
{
SetWindowLong(gethwnd(2), GWL_EXSTYLE, WS_EX_LAYERED);
SetWindowLong(gethwnd(2), GWL_STYLE, 0);
SetLayeredWindowAttributes(gethwnd(2), 0, 127, LWA_ALPHA);
HDC=GetDC(gethwnd(2));
SelectObject(HDC, CreatePen(PS_SOLID, 1, color));
SelectObject(HDC, CreateSolidBrush(color));
showdialog(2, "Диалог", coord[0], coord[1], coord[2] - coord[0], coord[3] - coord[1], 1, 1);
}
CREATE_TIMER(0, 100)
{
Rectangle(HDC, 0, 0, coord[2] - coord[0], coord[3] - coord[1]);
} |
|
|
Zireael |
Отправлено: 11 Февраля, 2020 - 00:24:11
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: доставать текст из окна,читать его и вычленять нужные символы из него,вернее это будут числа.
Можно ли это реализовать с помощью Кибора?
Можно.
Текст из окна можно копировать или распознать.
С поиском нужного текста проблем нет. Напишите пример текста, напишу как его найти.(Отредактировано автором: 11 Февраля, 2020 - 00:43:23) |
|
|
Zireael |
Отправлено: 27 Февраля, 2020 - 01:02:37
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Например есть текст и нужно найти нужные числа в нём.
CODE:string s="Число Х равно 100"; // строка
string num; // сюда запишется число если оно есть в строке
if(regexsearch(1, #num, s, "\d+"))messagebox(num); // если число найдено
CODE:string rn=formatic(13)+formatic(10); // перенос строки
string result; // сюда запишется результат
// строка
string s="Число X равно 100"+rn+"В этой строке никаких чисел нет"+rn+
"Число Y равно 10"+rn+"Число Z равно 320";
messagebox(s);
find(s, #result); // вызов функции
messagebox(result); // результат
// строка
s="Или такой текст"+rn+"В этой строке никаких чисел нет"+rn+
"Y равно 5 больше ничего нет"+rn+"Число Z равно 55555"+rn+"А число X равно 11";
messagebox(s);
find(s, #result); // вызов функции
messagebox(result); // результат
function find(string text, string #str)
{
string num;
str="";
if(regexreplace(1, #num, text, ".*?X.*?(\d+).*", "$1", SINGLELINE))str=str+"X="+num+rn;
if(regexreplace(1, #num, text, ".*?Y.*?(\d+).*", "$1", SINGLELINE))str=str+"Y="+num+rn;
if(regexreplace(1, #num, text, ".*?\bZ\b.*?(\d+).*", "$1", SINGLELINE))str=str+"Z="+num;
}
|
|
|
|