sedoi , Тут все будет быстро.
Старый редактор вообще был изначально ориентирован что бы распознавать каракули типа ручного рисунка мелом)) Просто было интересно или можно это перенести в программный код)) Этот как обычно..
Ознакомительное видео о новом редакторе.
141. Kibor - 13 Мая, 2021 - 15:02:31 - перейти к сообщению
142. Kibor - 14 Мая, 2021 - 14:16:59 - перейти к сообщению
Обновил.
Добавил в создание интерфейса EDIT_CODE
Его отличие от EDIT_MULTILINE в том, что полученный текст не будет находиться в кавычках. Использовать для генерирования частей кода, переменных и тд.
Сравнительное описание:
Добавил шаблон блока Start
При наличие данного шаблон (с таким именем), его кнопка будет располагаться в самом верху. Начало работы необходимо вести с блока созданного этой кнопкой.
Данный блок можно создать только первым и в единственном числе. После этого она становится не активной и надо выбрать другую кнопку.
Связи к блоку Start вести нельзя.
При отсутствие данного шаблона работа начинается с первого созданного блока.
В блоке Start можно объявлять глобальный код и переменные.
Пример шаблона блока Start, который имеет поле EDIT_CODE и позволяет объявлять глобальные переменные через раздел [GLOBAL_REPEAT_CODE]:
Это пример как указать значение переменной Vars по умолчанию:
[ASSOC_VAR]
Vars =int~%32~VAR_KIB~%59~;
[END]
Тут по умолчанию при открытие блока Start будет объявленна переменная
Пробелы и точку с запятой в тексте надо заменять на Замену с помощью ~%...~
=======================
Устранил баги при создание кода с схемы, в которой были пустые групповые блоки.
Добавил в создание интерфейса EDIT_CODE
Его отличие от EDIT_MULTILINE в том, что полученный текст не будет находиться в кавычках. Использовать для генерирования частей кода, переменных и тд.
Сравнительное описание:
Цитата:
EDIT_MULTILINE - создает поле для ввода многострочного текста. К нему надо указать переменную, в которую будет записан введенный текст после нажатия кнопки BUTTON_OK.
Может принимать только текст. Текст в кавычки брать не надо, но при использование данного текста он будет находится в кавычках. Использовать для инициализации переменных и тд.
EDIT_CODE - создает поле для ввода многострочного текста. К нему надо указать переменную, в которую будет записан введенный текст после нажатия кнопки BUTTON_OK.
Может принимать любые текстовые данные. Текст в кавычки брать не надо, и при использование данного текста он не будет находится в кавычках. Использовать для вставки частей кода. Для блоков кода, объявления переменных и тд.
Может принимать только текст. Текст в кавычки брать не надо, но при использование данного текста он будет находится в кавычках. Использовать для инициализации переменных и тд.
EDIT_CODE - создает поле для ввода многострочного текста. К нему надо указать переменную, в которую будет записан введенный текст после нажатия кнопки BUTTON_OK.
Может принимать любые текстовые данные. Текст в кавычки брать не надо, и при использование данного текста он не будет находится в кавычках. Использовать для вставки частей кода. Для блоков кода, объявления переменных и тд.
Добавил шаблон блока Start
При наличие данного шаблон (с таким именем), его кнопка будет располагаться в самом верху. Начало работы необходимо вести с блока созданного этой кнопкой.
Данный блок можно создать только первым и в единственном числе. После этого она становится не активной и надо выбрать другую кнопку.
Связи к блоку Start вести нельзя.
При отсутствие данного шаблона работа начинается с первого созданного блока.
В блоке Start можно объявлять глобальный код и переменные.
Пример шаблона блока Start, который имеет поле EDIT_CODE и позволяет объявлять глобальные переменные через раздел [GLOBAL_REPEAT_CODE]:
CODE:
[APPEARANCE]
COLOR = 128, 50, 50;
SIZE_X = 8;
SIZE_Y =6;
[END]
[INTERFACE]
DIALOG, "Старт", 283, 324;
STATIC, "Глобальный код и переменные", 52, 4, 168, 20;
EDIT_CODE, 4, 28, 268, 244, string Vars;
BUTTON_OK, "Принять", 64, 276, 100, 20;
BUTTON_CANCEL, "Закрыть", 172, 276, 100, 20;
[END]
[ASSOC_VAR]
Vars =;
[END]
[GLOBAL_REPEAT_CODE]
~Vars~
[END]
COLOR = 128, 50, 50;
SIZE_X = 8;
SIZE_Y =6;
[END]
[INTERFACE]
DIALOG, "Старт", 283, 324;
STATIC, "Глобальный код и переменные", 52, 4, 168, 20;
EDIT_CODE, 4, 28, 268, 244, string Vars;
BUTTON_OK, "Принять", 64, 276, 100, 20;
BUTTON_CANCEL, "Закрыть", 172, 276, 100, 20;
[END]
[ASSOC_VAR]
Vars =;
[END]
[GLOBAL_REPEAT_CODE]
~Vars~
[END]
Это пример как указать значение переменной Vars по умолчанию:
[ASSOC_VAR]
Vars =int~%32~VAR_KIB~%59~;
[END]
Тут по умолчанию при открытие блока Start будет объявленна переменная
CODE:
int VAR_KIB;
Пробелы и точку с запятой в тексте надо заменять на Замену с помощью ~%...~
=======================
Устранил баги при создание кода с схемы, в которой были пустые групповые блоки.
143. Kibor - 15 Мая, 2021 - 00:29:31 - перейти к сообщению
Обновил.
Добавил раздел [LOGIC]
Данный раздел отвечает за то, можно ли будет от Блока вести красную линию.
Раздел [LOGIC] не совместим с разделом [FUNCTION_LOGIC]
Если указан раздел [FUNCTION_LOGIC] , формирутся код:
От такого блока можно по умолчанию вести красный переход.
Если указан раздел [LOGIC], а в нем есть параметр:
формируется код
Данный раздел позволяет генерировать оператор if
Пример шаблона оператора if
======================================================
Пример использования Блока if
Добавил раздел [LOGIC]
Данный раздел отвечает за то, можно ли будет от Блока вести красную линию.
Раздел [LOGIC] не совместим с разделом [FUNCTION_LOGIC]
Если указан раздел [FUNCTION_LOGIC] , формирутся код:
Цитата:
if ((то что в блоке [CALL])(условие)) goto ...;
goto ...;
goto ...;
От такого блока можно по умолчанию вести красный переход.
Если указан раздел [LOGIC], а в нем есть параметр:
Цитата:
[LOGIC]
FALSE=1
[END]
FALSE=1
[END]
формируется код
Цитата:
(то что в блоке [CALL]) goto ...;
goto ...;
goto ...;
Данный раздел позволяет генерировать оператор if
Пример шаблона оператора if
CODE:
[INTERFACE]
DIALOG, "Диалог", 395, 82;
STATIC, "Условие", 8, 4, 48, 20;
EDIT, 60, 4, 324, 20, unknown Cond;
BUTTON_OK, "Принять", 172, 32, 100, 20;
BUTTON_CANCEL, "Закрыть", 284, 32, 100, 20;
[END]
[APPEARANCE]
COLOR = 0, 0, 0;
SIZE_X = 12;
SIZE_Y =6;
[END]
[ASSOC_VAR]
Cond = 1<5;
[END]
[CALL]
(Cond)
[END]
[LOGIC]
FALSE=1
[END]
DIALOG, "Диалог", 395, 82;
STATIC, "Условие", 8, 4, 48, 20;
EDIT, 60, 4, 324, 20, unknown Cond;
BUTTON_OK, "Принять", 172, 32, 100, 20;
BUTTON_CANCEL, "Закрыть", 284, 32, 100, 20;
[END]
[APPEARANCE]
COLOR = 0, 0, 0;
SIZE_X = 12;
SIZE_Y =6;
[END]
[ASSOC_VAR]
Cond = 1<5;
[END]
[CALL]
(Cond)
[END]
[LOGIC]
FALSE=1
[END]
======================================================
Пример использования Блока if
CODE:
#define NULL 0
win win0 = window("Калькулятор","CalcFrame",-1);
int Proc;
external(INT, "MessageBoxA", "MessageBoxA", "user32.dll");
Proc=OpenProcess(#win0);
if(Proc!=-1) goto KIB_3;
goto KIB_4;
KIB_3: MessageBoxA(NULL, "Процесс открыт", "Заголовок", NULL);
goto KIB_Exit;
KIB_4: MessageBoxA(NULL, "Процесс не найден", "Заголовок", NULL);
goto KIB_Exit;
KIB_Exit:;
function OpenProcess(win #w)
{
return openprocess(w);
}
win win0 = window("Калькулятор","CalcFrame",-1);
int Proc;
external(INT, "MessageBoxA", "MessageBoxA", "user32.dll");
Proc=OpenProcess(#win0);
if(Proc!=-1) goto KIB_3;
goto KIB_4;
KIB_3: MessageBoxA(NULL, "Процесс открыт", "Заголовок", NULL);
goto KIB_Exit;
KIB_4: MessageBoxA(NULL, "Процесс не найден", "Заголовок", NULL);
goto KIB_Exit;
KIB_Exit:;
function OpenProcess(win #w)
{
return openprocess(w);
}
144. Kibor - 15 Мая, 2021 - 02:30:56 - перейти к сообщению
Пример шаблона Блока КОД
Блок Code позволяет вставить в место вызова любой программный код.
Можно использовать для отдельных кусков кода, которые надо вставить в схему, вызова функций и тд.
При создание интерфейса используется EDIT_CODE, который не берет текст в кавычки.
Для вставки в код используется раздел [CALL]
Если в разделе [CALL] отсутствуют (), то считаться что все надо вставить как есть. Иначе идет разбор на параметры, так как там ожидается вызов функции.
Блок Code позволяет вставить в место вызова любой программный код.
Можно использовать для отдельных кусков кода, которые надо вставить в схему, вызова функций и тд.
При создание интерфейса используется EDIT_CODE, который не берет текст в кавычки.
Для вставки в код используется раздел [CALL]
Если в разделе [CALL] отсутствуют (), то считаться что все надо вставить как есть. Иначе идет разбор на параметры, так как там ожидается вызов функции.
CODE:
[APPEARANCE]
COLOR = 0, 50, 50;
SIZE_X = 8;
SIZE_Y =6;
[END]
[INTERFACE]
DIALOG, "Блок кода", 283, 324;
STATIC, "Код", 128, 4, 24, 20;
EDIT_CODE, 4, 28, 268, 244, string Code;
BUTTON_OK, "Принять", 64, 276, 100, 20;
BUTTON_CANCEL, "Закрыть", 172, 276, 100, 20;
[END]
[ASSOC_VAR]
Code =;
[END]
[CALL]
Code
[END]
COLOR = 0, 50, 50;
SIZE_X = 8;
SIZE_Y =6;
[END]
[INTERFACE]
DIALOG, "Блок кода", 283, 324;
STATIC, "Код", 128, 4, 24, 20;
EDIT_CODE, 4, 28, 268, 244, string Code;
BUTTON_OK, "Принять", 64, 276, 100, 20;
BUTTON_CANCEL, "Закрыть", 172, 276, 100, 20;
[END]
[ASSOC_VAR]
Code =;
[END]
[CALL]
Code
[END]
145. konctantin777 - 15 Мая, 2021 - 07:01:51 - перейти к сообщению
1.Как закрыть редактор диалогов ? Нету, как в старом "закрыть".
2.Нарисовал несколько блоков старт- не удаляются лишние....
3.Как сохранять и открывать по указанному пути (чтобы разное название для сохранения промежуточных результатов) ?
И проекты в разных папках- открывать тоже только переписывая путь по умолчанию ?
2.Нарисовал несколько блоков старт- не удаляются лишние....
3.Как сохранять и открывать по указанному пути (чтобы разное название для сохранения промежуточных результатов) ?
И проекты в разных папках- открывать тоже только переписывая путь по умолчанию ?
146. Zireael - 15 Мая, 2021 - 07:33:11 - перейти к сообщению
Цитата:
Как закрыть редактор диалогов
Ещё раз нажать на кнопку, которой он открывается.
Цитата:
Как сохранять и открывать по указанному пути
Пока не всё сделано.
147. Kibor - 15 Мая, 2021 - 07:54:57 - перейти к сообщению
konctantin777 пишет:
Нарисовал несколько блоков старт- не удаляются лишние....
Как так получилось? Он должен создать только один старт.
148. konctantin777 - 15 Мая, 2021 - 08:40:08 - перейти к сообщению
Kibor пишет:
konctantin777 пишет:
Нарисовал несколько блоков старт- не удаляются лишние....
Как так получилось? Он должен создать только один старт.
Нажал на блок. Потом хоть сколько кликай...
149. Kibor - 15 Мая, 2021 - 08:42:37 - перейти к сообщению
Да.. Есть такое.. Исправлю.
150. konctantin777 - 15 Мая, 2021 - 08:50:39 - перейти к сообщению
Kibor пишет:
Да.. Есть такое.. Исправлю.
В старом редактор, случайное удаление "старт" (бывал такой баг)= неисправимый касяк. Лишь бы в любой стадии давал поставить и давал случайные удалить...
(Добавление)
Zireael пишет:
Как сохранять и открывать по указанному пути
Пока не всё сделано.
Пока не всё сделано.
По идее, сначала сделать, чтобы можно было хоть как то, но создавать реальные проекты= быстрее теститься будет...