231. 007wan - 23 Августа, 2019 - 03:10:39 - перейти к сообщению
Не знайте что добавить в свою программу? Тогда, например, можно добавить функцию "Снимок экрана" и в настройках выбрать в каком формате сохранять
232. Kibor - 23 Августа, 2019 - 03:31:26 - перейти к сообщению
007wan пишет:
Тогда, например, можно добавить функцию "Снимок экрана" и в настройках выбрать в каком формате сохранять
Спойлер (Отобразить)
CODE:
int n=0;
int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
int col, x, y;
//=================================== кнопки
int pos_size_button[2][4];//две кнопки (позиции и размер)
string text_button[2];//названия кнопок
int flag_button[2];//флаг (нажата не нажата)
//устанавливаем позицию и рамер кнопки 1
pos_size_button[0][0]=5; pos_size_button[0][1]=40; pos_size_button[0][2]=110; pos_size_button[0][3]=20;
text_button[0]="Сохранить скрин в";//название кнопки 1
//устанавливаем позицию и рамер кнопки 2
pos_size_button[1][0]=110; pos_size_button[1][1]=145; pos_size_button[1][2]=129; pos_size_button[1][3]=20;
text_button[1]="Остановить скрипт";//название кнопки 2
//=================================== поля ввода текста
int pos_size_edit[2][4];//два поля ввода текста (позиции и размер)
string text_edit[2];//текст а полях
//устанавливаем позицию и рамер поля ввода текста 1
pos_size_edit[0][0]=5; pos_size_edit[0][1]=115; pos_size_edit[0][2]=70; pos_size_edit[0][3]=20;
text_edit[0]="text";//начальный текст 1
//устанавливаем позицию и рамер поля ввода текста 2
pos_size_edit[1][0]=86; pos_size_edit[1][1]=115; pos_size_edit[1][2]=153 ; pos_size_edit[1][3]=20;
text_edit[1]="editsddgfdfg";//начальный текст 2
//=================================== галки
int pos_size_check[4][4];//4 галки (позиции и размер)
string text_check[4];//названия галок
int flag_check[4];//флаг (зажата не зажата)
//устанавливаем позицию и рамер галки 1
pos_size_check[0][0]=120; pos_size_check[0][1]=40; pos_size_check[0][2]=38; pos_size_check[0][3]=20;
flag_check[0]=1;//флаг галки 1 (зажата не зажата)
text_check[0]="bmp";//название галки 1
//устанавливаем позицию и рамер галки 2
pos_size_check[1][0]=162; pos_size_check[1][1]=40; pos_size_check[1][2]=38; pos_size_check[1][3]=20;
flag_check[1]=0;//флаг галки 2 (зажата не зажата)
text_check[1]="jpg";//название галки 2
//устанавливаем позицию и рамер галки 3
pos_size_check[2][0]=202; pos_size_check[2][1]=40; pos_size_check[2][2]=38; pos_size_check[2][3]=20;
flag_check[2]=0;//флаг галки 3 (зажата не зажата)
text_check[2]="png";//название галки 3
//устанавливаем позицию и рамер галки 4
pos_size_check[3][0]=5; pos_size_check[3][1]=65; pos_size_check[3][2]=215; pos_size_check[3][3]=20;
flag_check[3]=0;//флаг галки 4 (зажата не зажата)
text_check[3]="Сворачивать окно перед скриншотом";//название галки 4
///=================================== список выпадающий
int pos_size_combo[1][4];//один выпадающий список (позиции и размер)
string text_combo[1][2];//текст га два пункта (установить по максимальному списку)
int strok_combo[1];//количество строк
int flag_combo[1];//номер пункта
//устанавливаем позицию и рамер списка
pos_size_combo[0][0]=5; pos_size_combo[0][1]=145; pos_size_combo[0][2]=100; pos_size_combo[0][3]=100;
flag_combo[0]=0;//номер пункта
strok_combo[0]=2;//количество строк
text_combo[0][0]="Остановить скрипт"; text_combo[0][1]="Закрыть программу";//текст строк
//=================================== статичный текст (можно изменять)
int pos_size_static[2][4];//2 статичный текст (позиции и размер)
string text_static[2];//2 статичный текст (текст)
//устанавливаем позицию и рамер текста 1
pos_size_static[0][0]=20; pos_size_static[0][1]=10; pos_size_static[0][2]=200; pos_size_static[0][3]=18;
text_static[0]="";//текст 1
//устанавливаем позицию и рамер текста 2
pos_size_static[1][0]=45; pos_size_static[1][1]=95; pos_size_static[1][2]=150; pos_size_static[1][3]=18;
text_static[1]="Цвет пикселя под курсором";//текст 2
//Создаем диалог
createdialog(0,
EDIT, #pos_size_edit[0][0], #text_edit[0]|
STATIC, #pos_size_static[0][0], #text_static[0]|
CHECK, #pos_size_check[0][0], #text_check[0], #flag_check[0]|
BUTTON, #pos_size_button[0][0], #text_button[0], #flag_button[0]|
COMBO, #pos_size_combo[0][0], #text_combo[0][0], #strok_combo[0], #flag_combo[0]);
getdisplay(col, x, y);//узнаем разрешение что бы вывести по центру
//Визуализируем диалог
showdialog(0, "Немодальный диалог", x/2-125, y/2-110, 250, 220, 1, 0);
int t_flag_check[3];
for (n=0; n<3; n++)t_flag_check[n]=flag_check[n];
enabletimer(0);//включаем таймер для обработки сообщений от диалога
lop:;//тут основная петля бота
col=getcolor();
text_edit[0]=format(col);
text_edit[1]="R "+format(rvalue(col))+" G "+format(gvalue(col))+" B "+format(bvalue(col));
sleep(20);
goto lop;
er: destroydialog (0);//уничтожение диалог..
function scrin()//скриншот
{
if (flag_check[3]==1){hidedialog(0);sleep(200);}//сворачивать
if (flag_check[0]==1)//bmp
{
savescreen(pathfolder()+"image.bmp", 0, 0, x, y, -1);
sleep(500);
start(pathfolder()+"image.bmp");
}
if (flag_check[1]==1)//jpg
{
savescreen(JPG, pathfolder()+"image.jpg", 0, 0, x, y, -1);
sleep(500);
start(pathfolder()+"image.jpg");
}
if (flag_check[2]==1)//png
{
savescreen(PNG, pathfolder()+"image.png", 0, 0, x, y, -1);
sleep(500);
start(pathfolder()+"image.png");
}
//развернуть если свернутое
if (flag_check[3]==1)showdialog(0, "Немодальный диалог", x/2-125, y/2-110, 250, 220, 1, 0);
}
function perekluchatel_galok()//реализация переключателя галок
{
if (flag_check[0]==1 && t_flag_check[0]!=flag_check[0])
{flag_check[1]=0; flag_check[2]=0; t_flag_check[1]=0; t_flag_check[2]=0; t_flag_check[0]=flag_check[0];}
if (flag_check[1]==1 && t_flag_check[1]!=flag_check[1])
{flag_check[0]=0; flag_check[2]=0; t_flag_check[0]=0; t_flag_check[2]=0; t_flag_check[1]=flag_check[1];}
if (flag_check[2]==1 && t_flag_check[2]!=flag_check[2]){
flag_check[0]=0; flag_check[1]=0; t_flag_check[0]=0; t_flag_check[1]=0; t_flag_check[2]=flag_check[2];}
if (flag_check[0]==0 && flag_check[1]==0 && flag_check[2]==0)
{
if (t_flag_check[0]!=flag_check[0]){flag_check[0]=1;t_flag_check[0]=flag_check[0];}
if (t_flag_check[1]!=flag_check[1]){flag_check[1]=1;t_flag_check[1]=flag_check[1];}
if (t_flag_check[2]!=flag_check[2]){flag_check[2]=1;t_flag_check[2]=flag_check[2];}
}
}
CREATE_TIMER(0, 50)//выполнение таймера через 50 мсек.
{
//реализация переключателя галок
perekluchatel_galok();
//отлов нажатия кнопки сериншота
if (flag_button[0]>0)
{
flag_button[0]=0;//обнулить флаг нажатия кнопки..
scrin();//скриншот
}
//отлов нажатия кнопки выхода
if (flag_button[1]>0)
{
flag_button[0]=0;//обнулить флаг нажатия кнопки..
if (flag_combo[0]==0)goto er;
if (flag_combo[0]==1){destroydialog (0);close();}
}
//получит время и записать в переменную статичного текста
getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
text_static[0]="Время: "+format(Hour)+" часов, "+format(Minute)+" минут, "+format(Second)+" секунд";
if (flag_combo[0]==0)text_button[1]="Остановить скрипт";//меняем текст кнопки
if (flag_combo[0]==1)text_button[1]="Закрыть программу";//меняем текст кнопки
}
int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
int col, x, y;
//=================================== кнопки
int pos_size_button[2][4];//две кнопки (позиции и размер)
string text_button[2];//названия кнопок
int flag_button[2];//флаг (нажата не нажата)
//устанавливаем позицию и рамер кнопки 1
pos_size_button[0][0]=5; pos_size_button[0][1]=40; pos_size_button[0][2]=110; pos_size_button[0][3]=20;
text_button[0]="Сохранить скрин в";//название кнопки 1
//устанавливаем позицию и рамер кнопки 2
pos_size_button[1][0]=110; pos_size_button[1][1]=145; pos_size_button[1][2]=129; pos_size_button[1][3]=20;
text_button[1]="Остановить скрипт";//название кнопки 2
//=================================== поля ввода текста
int pos_size_edit[2][4];//два поля ввода текста (позиции и размер)
string text_edit[2];//текст а полях
//устанавливаем позицию и рамер поля ввода текста 1
pos_size_edit[0][0]=5; pos_size_edit[0][1]=115; pos_size_edit[0][2]=70; pos_size_edit[0][3]=20;
text_edit[0]="text";//начальный текст 1
//устанавливаем позицию и рамер поля ввода текста 2
pos_size_edit[1][0]=86; pos_size_edit[1][1]=115; pos_size_edit[1][2]=153 ; pos_size_edit[1][3]=20;
text_edit[1]="editsddgfdfg";//начальный текст 2
//=================================== галки
int pos_size_check[4][4];//4 галки (позиции и размер)
string text_check[4];//названия галок
int flag_check[4];//флаг (зажата не зажата)
//устанавливаем позицию и рамер галки 1
pos_size_check[0][0]=120; pos_size_check[0][1]=40; pos_size_check[0][2]=38; pos_size_check[0][3]=20;
flag_check[0]=1;//флаг галки 1 (зажата не зажата)
text_check[0]="bmp";//название галки 1
//устанавливаем позицию и рамер галки 2
pos_size_check[1][0]=162; pos_size_check[1][1]=40; pos_size_check[1][2]=38; pos_size_check[1][3]=20;
flag_check[1]=0;//флаг галки 2 (зажата не зажата)
text_check[1]="jpg";//название галки 2
//устанавливаем позицию и рамер галки 3
pos_size_check[2][0]=202; pos_size_check[2][1]=40; pos_size_check[2][2]=38; pos_size_check[2][3]=20;
flag_check[2]=0;//флаг галки 3 (зажата не зажата)
text_check[2]="png";//название галки 3
//устанавливаем позицию и рамер галки 4
pos_size_check[3][0]=5; pos_size_check[3][1]=65; pos_size_check[3][2]=215; pos_size_check[3][3]=20;
flag_check[3]=0;//флаг галки 4 (зажата не зажата)
text_check[3]="Сворачивать окно перед скриншотом";//название галки 4
///=================================== список выпадающий
int pos_size_combo[1][4];//один выпадающий список (позиции и размер)
string text_combo[1][2];//текст га два пункта (установить по максимальному списку)
int strok_combo[1];//количество строк
int flag_combo[1];//номер пункта
//устанавливаем позицию и рамер списка
pos_size_combo[0][0]=5; pos_size_combo[0][1]=145; pos_size_combo[0][2]=100; pos_size_combo[0][3]=100;
flag_combo[0]=0;//номер пункта
strok_combo[0]=2;//количество строк
text_combo[0][0]="Остановить скрипт"; text_combo[0][1]="Закрыть программу";//текст строк
//=================================== статичный текст (можно изменять)
int pos_size_static[2][4];//2 статичный текст (позиции и размер)
string text_static[2];//2 статичный текст (текст)
//устанавливаем позицию и рамер текста 1
pos_size_static[0][0]=20; pos_size_static[0][1]=10; pos_size_static[0][2]=200; pos_size_static[0][3]=18;
text_static[0]="";//текст 1
//устанавливаем позицию и рамер текста 2
pos_size_static[1][0]=45; pos_size_static[1][1]=95; pos_size_static[1][2]=150; pos_size_static[1][3]=18;
text_static[1]="Цвет пикселя под курсором";//текст 2
//Создаем диалог
createdialog(0,
EDIT, #pos_size_edit[0][0], #text_edit[0]|
STATIC, #pos_size_static[0][0], #text_static[0]|
CHECK, #pos_size_check[0][0], #text_check[0], #flag_check[0]|
BUTTON, #pos_size_button[0][0], #text_button[0], #flag_button[0]|
COMBO, #pos_size_combo[0][0], #text_combo[0][0], #strok_combo[0], #flag_combo[0]);
getdisplay(col, x, y);//узнаем разрешение что бы вывести по центру
//Визуализируем диалог
showdialog(0, "Немодальный диалог", x/2-125, y/2-110, 250, 220, 1, 0);
int t_flag_check[3];
for (n=0; n<3; n++)t_flag_check[n]=flag_check[n];
enabletimer(0);//включаем таймер для обработки сообщений от диалога
lop:;//тут основная петля бота
col=getcolor();
text_edit[0]=format(col);
text_edit[1]="R "+format(rvalue(col))+" G "+format(gvalue(col))+" B "+format(bvalue(col));
sleep(20);
goto lop;
er: destroydialog (0);//уничтожение диалог..
function scrin()//скриншот
{
if (flag_check[3]==1){hidedialog(0);sleep(200);}//сворачивать
if (flag_check[0]==1)//bmp
{
savescreen(pathfolder()+"image.bmp", 0, 0, x, y, -1);
sleep(500);
start(pathfolder()+"image.bmp");
}
if (flag_check[1]==1)//jpg
{
savescreen(JPG, pathfolder()+"image.jpg", 0, 0, x, y, -1);
sleep(500);
start(pathfolder()+"image.jpg");
}
if (flag_check[2]==1)//png
{
savescreen(PNG, pathfolder()+"image.png", 0, 0, x, y, -1);
sleep(500);
start(pathfolder()+"image.png");
}
//развернуть если свернутое
if (flag_check[3]==1)showdialog(0, "Немодальный диалог", x/2-125, y/2-110, 250, 220, 1, 0);
}
function perekluchatel_galok()//реализация переключателя галок
{
if (flag_check[0]==1 && t_flag_check[0]!=flag_check[0])
{flag_check[1]=0; flag_check[2]=0; t_flag_check[1]=0; t_flag_check[2]=0; t_flag_check[0]=flag_check[0];}
if (flag_check[1]==1 && t_flag_check[1]!=flag_check[1])
{flag_check[0]=0; flag_check[2]=0; t_flag_check[0]=0; t_flag_check[2]=0; t_flag_check[1]=flag_check[1];}
if (flag_check[2]==1 && t_flag_check[2]!=flag_check[2]){
flag_check[0]=0; flag_check[1]=0; t_flag_check[0]=0; t_flag_check[1]=0; t_flag_check[2]=flag_check[2];}
if (flag_check[0]==0 && flag_check[1]==0 && flag_check[2]==0)
{
if (t_flag_check[0]!=flag_check[0]){flag_check[0]=1;t_flag_check[0]=flag_check[0];}
if (t_flag_check[1]!=flag_check[1]){flag_check[1]=1;t_flag_check[1]=flag_check[1];}
if (t_flag_check[2]!=flag_check[2]){flag_check[2]=1;t_flag_check[2]=flag_check[2];}
}
}
CREATE_TIMER(0, 50)//выполнение таймера через 50 мсек.
{
//реализация переключателя галок
perekluchatel_galok();
//отлов нажатия кнопки сериншота
if (flag_button[0]>0)
{
flag_button[0]=0;//обнулить флаг нажатия кнопки..
scrin();//скриншот
}
//отлов нажатия кнопки выхода
if (flag_button[1]>0)
{
flag_button[0]=0;//обнулить флаг нажатия кнопки..
if (flag_combo[0]==0)goto er;
if (flag_combo[0]==1){destroydialog (0);close();}
}
//получит время и записать в переменную статичного текста
getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
text_static[0]="Время: "+format(Hour)+" часов, "+format(Minute)+" минут, "+format(Second)+" секунд";
if (flag_combo[0]==0)text_button[1]="Остановить скрипт";//меняем текст кнопки
if (flag_combo[0]==1)text_button[1]="Закрыть программу";//меняем текст кнопки
}
Тема закрыта! Продолжение в теме "Вопросы - 2".