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

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

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

> Без описания
Martin
Отправлено: 16 Декабря, 2022 - 12:23:48
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 121
Дата рег-ции: Июнь 2022  
Репутация: 1




Например если делать в ручную я хочу чтобы мой текстовый файл вселил 300б и я 300 раз нажимаю пробел.

А нужно через диалог это сделать
1) Создать текстовый файл
2) Прочитать данные из поля 1 и поля 2 и вычесть поле1- поле2= "нужное число"
3) Создать пробелы в текстовом файле на "нужное число" и сохранить.


Диалоговое окно (Отобразить)

(Отредактировано автором: 16 Декабря, 2022 - 12:28:59)

 
 Top
Zireael
Отправлено: 16 Декабря, 2022 - 13:11:21
Post Id



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


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




CODE:
#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define WS_BORDER 0x00800000
#define BS_MULTILINE 0x00002000
#define SS_EDITCONTROL 0x00002000
#define ES_MULTILINE 0x0004
#define ES_WANTRETURN 0x1000
#define ES_AUTOVSCROLL 0x0040
#define ES_AUTOHSCROLL 0x0080
#define TRUE 1
#define WM_SETFONT 0x0030
#define RUSSIAN_CHARSET 204

external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll");
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll");
external(INT, "GetWindowRect", "GetWindowRect", "User32.dll");
external(INT, "DeleteObject", "DeleteObject", "Gdi32.dll");
external(INT, "DeleteFile", "DeleteFileA", "kernel32.dll");
int h_font;
string rn = formatic(13)+formatic(10);
int dialogPosX_0 = 750, dialogPosY_0 = 322;
int button0[1];
int flag_button0[1] = { 0 };

int edit0[2];
string text_edit0[2];
text_edit0[0] = "Размер"; text_edit0[1] = "0";
int static0[1];

createdialog(0);
showdialog(0, "Диалог0", dialogPosX_0, dialogPosY_0, 222, 138, 4, 1);

string path = "D:\NewFile.txt"; // путь к файлу

loop()
{
// тут нужный код
if(flag_button0[0]) // если нажата кнопка
{
flag_button0[0] = 0; // обнулить флаг нажатия кнопки

int num1 = formatsn(text_edit0[0]); // получить число из первого поля
int num2 = formatsn(text_edit0[1]); // получить число из второго поля

// проверка на корректность чисел
if(num1<0)
{
messagebox("В первом поле некорректное число");
continue;
}
if(num2<0)
{
messagebox("Во втором поле некорректное число");
continue;
}

if(num1<=num2)
{
messagebox("Число в первом поле меньше или равно числу во втором");
continue;
}
///////////

if(fopen(path, "wb")) // открыть файл для записи
{
new char array[num1-num2]; // создать массив на нужное количество байт
initialarray(#array[0], 32); // заполнить массив пробелами

fwriteb(#array[0], num1-num2); // записать массив файл
fclose(); // закрыть файл

delete array; // удалить массив
messagebox("Создан файл размером: "+format(num1-num2) + " байт.");
}
}
sleep(10);
}
end_0:;

function getmessage(0, WM_CREATE)
{
int i;
h_font = CreateFont(-21, 0, 0, 0, 700, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Arial Narrow");
button0[0] = CreateWindow(0, "BUTTON", "Создать файл", WS_VISIBLE | WS_CHILD, 8, 56, 200, 40, gethwnd(0), 0, 0, 0);
edit0[0] = CreateWindow(0, "EDIT", text_edit0[0], WS_VISIBLE | WS_CHILD | WS_BORDER, 8, 16, 80, 32, gethwnd(0), 0, 0, 0);
edit0[1] = CreateWindow(0, "EDIT", text_edit0[1], WS_VISIBLE | WS_CHILD | WS_BORDER, 128, 16, 80, 32, gethwnd(0), 0, 0, 0);
static0[0] = CreateWindow(0, "STATIC", "-", WS_VISIBLE | WS_CHILD, 104, 16, 16, 32, gethwnd(0), 0, 0, 0);
for(i=0; i<1; i++)sendmessage(WM_SETFONT, h_font, TRUE, formatiw(button0[i]));
for(i=0; i<2; i++)sendmessage(WM_SETFONT, h_font, TRUE, formatiw(edit0[i]));
for(i=0; i<1; i++)sendmessage(WM_SETFONT, h_font, TRUE, formatiw(static0[i]));
}

function getmessage(0, WM_COMMAND)
{
int i;
char c_text_edit[999];
for(i=0; i<1; i++) // обработка нажатий кнопок
{
if(message.lparam == button0[i])
{
if(flag_button0[i])flag_button0[i] = 0;
else flag_button0[i] = 1;
return;
}
}
for(i=0; i<2; i++) // обработка нажатий edit
{
if(message.lparam == edit0[i])
{
GetWindowText(edit0[i], address(#c_text_edit[0]), sizearray(c_text_edit));
text_edit0[i] = format(#c_text_edit[0]);
return;
}
}
}

function getmessage(0, WM_CLOSE)
{
DeleteObject(h_font);
goto global end_0; // переход в метке
// close(); // закрыть кибор
}
 
 Top
Martin
Отправлено: 16 Декабря, 2022 - 14:18:43
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 121
Дата рег-ции: Июнь 2022  
Репутация: 1




Zireael , Спасибо, а как можно добавить в буфер эти пробелы? У меня возвращает число строк
CODE:
int f=initialarray(#array[0], 32); // заполнить массив пробелами
writeclipboard(f);
 
 Top
Zireael
Отправлено: 17 Декабря, 2022 - 01:29:17
Post Id



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


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




 Цитата:
как можно добавить в буфер эти пробелы?

CODE:
char array[99]; // создать массив
initialarray(#array[0], 32); // заполнить пробелами
writeclipboard(format(#array[0], sizearray(array))); // записать в буфер

(Отредактировано автором: 17 Декабря, 2022 - 01:29:45)

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


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




Powered by