| Zireael |
Отправлено: 10 Августа, 2025 - 12:35:52
|


Эксперт

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

|
Цитата: но как присвоить новое значение?
CODE:string Text_S;
int CR=0;
loop()
{
textout(0,0,0,format(CR), 1);
CR = CR + formatsn(Text_S);
Text_S = format(rand(10, 20));
sleep(1000);
} |
| |
|
| Asimut |
Отправлено: 10 Августа, 2025 - 14:47:40
|


Наблюдатель

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

|
Zireael пишет: Цитата: но как присвоить новое значение?
CODE:string Text_S;
int CR=0;
loop()
{
textout(0,0,0,format(CR), 1);
CR = CR + formatsn(Text_S);
Text_S = format(rand(10, 20));
sleep(1000);
}
Спасибо за код, но ругается "Повторение имени переменной Text_S".
Text_S берется в визуальном редакторе из блока ReadText.
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Для проверки сделал схему, старт с параметрами окна, распознавание и вывод на экран.
Text_S = format(rand(10, 20)); не понимаю строку, где можно почитать про форматы и для чего там рандом? |
| |
|
| Zireael |
Отправлено: 10 Августа, 2025 - 14:52:57
|


Эксперт

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

|
Цитата: Повторение имени переменной Text_S
В виз. редакторе её не нужно объявлять.
Цитата: Text_S = format(rand(10, 20)); не понимаю строку
Имитация изменения значения переменной, не нужна эта строка для ваших задач.
Эту строку в блок Старт:
После распознавания текста выполнить эту строку.
CODE:CR = CR + formatsn(Text_S);
Дальше используйте переменную CR где нужно. |
| |
|
| Asimut |
Отправлено: 11 Августа, 2025 - 12:06:57
|


Наблюдатель

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

|
Столкнулся со своей стеной не понимания Огромная просьба наставить на путь истинный)
Суть проблемы(своими словами по возможности) Взял с форума код для окна(оно же и запускает скрипт)
CODE:CREATE_INTERFACE
{
DIALOG "ТР2_1440.900v0.4" 300 210 //РазмерX РазмерY
BUTTONSCRIPT "Запустить" 90 145 110 25 //ПозицияX ПозицияY РазмерX РазмерY
//Добавление контролов управления ......
COMBO_0 0 /*Начальный выбор*/ "Авто поиск" | "1 Удочка" | "2 Удочки" | "3 Удочки" 25 40 215 200 //ПозицияX ПозицияY РазмерX РазмерY_выпадающий список
CHECK_1 0 /*Выключена*/ "Отпускать РЫБАФ" 25 75 140 18 //ПозицияX ПозицияY РазмерX РазмерY
//CHECK_2 0 /*Выключена*/ "Для Донки" 25 95 140 18 //ПозицияX ПозицияY РазмерX РазмерY
}
Но хотелось чтобы это окно не сворачивалось, а было на экране, чтобы добавить в него поля для отображения сколько рыбы поймал и сумма улова. В визуальном редакторе через Редактор (INTERFACE) набросал окно чтобы заменить код выше, но выдает ошибку INTERFACE. Попробовал в киборе через редактор диалогов тоже ошибка либо вообще зависает и приходится его закрывать принудительно.
CODE:DIALOG, "Диалог", 294, 270;
COMBO, "Авто поиск""1Удочка""2Удочки""3Удочки", 24, 20, 100, 80, unknown ИМЯ_Переменной;
CHECK, "Отпускать Рыбаф", 152, 20, 112, 20, int ИМЯ_Переменной;
STATIC, "Поймал", 32, 116, 44, 20;
STATIC, "Продал на", 152, 116, 56, 20;
EDIT_WRITE_RETURN, 20, 144, 68, 20, int ИМЯ_Переменной;
STATIC, "шт.", 96, 144, 16, 20;
EDIT_WRITE_RETURN, 132, 144, 100, 20, int ИМЯ_Переменной;
STATIC, "руб.", 236, 144, 20, 20;
BUTTON_OK, "Принять", 84, 200, 100, 20;
Это в визуальном редакторе делал, хотелось чтоб оно такое было хотя бы одно и не сворачивалось, запускался скрипт и можно было перетащить окно в удобное место.
Еще не понимаю BUTTONSCRIPT и BUTTON_OK в чем принципиальная разница? BUTTON_OK применяется только для второго диалогового окна? Хотя тут бы с одним справиться.
В киборе делал такой диалог и тоже не получилось его внедрить
Спойлер (Отобразить)
CODE:int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
pos_size_button0[0][0]=71; pos_size_button0[0][1]=230; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Запуск";
//////////
int pos_size_edit0[2][4];
string text_edit0[2];
pos_size_edit0[0][0]=97; pos_size_edit0[0][1]=164; pos_size_edit0[0][2]=100; pos_size_edit0[0][3]=20;
pos_size_edit0[1][0]=95; pos_size_edit0[1][1]=117; pos_size_edit0[1][2]=100; pos_size_edit0[1][3]=20;
text_edit0[0]="Сумма"; text_edit0[1]="сколькоШТ";
//////////
int pos_size_check0[1][4];
string text_check0[1];
int flag_check0[1];
pos_size_check0[0][0]=50; pos_size_check0[0][1]=70; pos_size_check0[0][2]=119; pos_size_check0[0][3]=20;
text_check0[0]="Отпускать Рыбаф";
flag_check0[0]=0;
//////////
int pos_size_combo0[1][4];
string text_combo0[1][4];
int strok_combo0[1];
int flag_combo0[1];
pos_size_combo0[0][0]=46; pos_size_combo0[0][1]=25; pos_size_combo0[0][2]=170; pos_size_combo0[0][3]=80;
strok_combo0[0]=4;
text_combo0[0][0]="Авто поиск"; text_combo0[0][1]="1 Удочка"; text_combo0[0][2]="2 Удочки"; text_combo0[0][3]="3 Удочки";
flag_combo0[0]=0;
//////////
int pos_size_static0[3][4];
string text_static0[3];
pos_size_static0[0][0]=20; pos_size_static0[0][1]=166; pos_size_static0[0][2]=58; pos_size_static0[0][3]=20;
pos_size_static0[1][0]=24; pos_size_static0[1][1]=118; pos_size_static0[1][2]=40; pos_size_static0[1][3]=20;
pos_size_static0[2][0]=201; pos_size_static0[2][1]=167; pos_size_static0[2][2]=100; pos_size_static0[2][3]=20;
text_static0[0]="Продано на"; text_static0[1]="Поймал"; text_static0[2]="руб.";
//////////
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
EDIT, #pos_size_edit0[0][0], #text_edit0[0] |
CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0] |
COMBO, #pos_size_combo0[0][0], #text_combo0[0][0], #strok_combo0[0], #flag_combo0[0] |
STATIC, #pos_size_static0[0][0], #text_static0[0]);
//////////
showdialog(0, "
ТР2_1440.900v0.4", 835, 390, 257, 300, 1, 1);
//////////
loop() sleep(10);//Убрать после теста
он хотя бы выводит при тесте на экран окно.
Направьте неуча)) |
| |
|
| Asimut |
Отправлено: 11 Августа, 2025 - 13:18:12
|


Наблюдатель

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

|
Zireael пишет: Цитата: В киборе делал такой диалог и тоже не получилось его внедрить
Что именно не получилось?
В визуальном редакторе для проверки делаю блок старта и блок кода без переходов. В блок кода вставляю код из спойлера(он с кибора) запускаю, ничего не выводится окна нет, все, у меня занавес
Сейчас при написании сообщения пробуя описать все это заметил что кибор в коде после визуального редакторы в начале добавляет goto KIB_Exit; и в конце KIB_Exit:; убрал эти строки и вуаля окно нарисовалось.
Спойлер (Отобразить)CODE:goto KIB_Exit;
int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
pos_size_button0[0][0]=71; pos_size_button0[0][1]=230; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Запуск";
//////////
int pos_size_edit0[2][4];
string text_edit0[2];
pos_size_edit0[0][0]=97; pos_size_edit0[0][1]=164; pos_size_edit0[0][2]=100; pos_size_edit0[0][3]=20;
pos_size_edit0[1][0]=95; pos_size_edit0[1][1]=117; pos_size_edit0[1][2]=100; pos_size_edit0[1][3]=20;
text_edit0[0]="Сумма"; text_edit0[1]="сколькоШТ";
//////////
int pos_size_check0[1][4];
string text_check0[1];
int flag_check0[1];
pos_size_check0[0][0]=50; pos_size_check0[0][1]=70; pos_size_check0[0][2]=119; pos_size_check0[0][3]=20;
text_check0[0]="Отпускать Рыбаф";
flag_check0[0]=0;
//////////
int pos_size_combo0[1][4];
string text_combo0[1][4];
int strok_combo0[1];
int flag_combo0[1];
pos_size_combo0[0][0]=46; pos_size_combo0[0][1]=25; pos_size_combo0[0][2]=170; pos_size_combo0[0][3]=80;
strok_combo0[0]=4;
text_combo0[0][0]="Авто поиск"; text_combo0[0][1]="1 Удочка"; text_combo0[0][2]="2 Удочки"; text_combo0[0][3]="3 Удочки";
flag_combo0[0]=0;
//////////
int pos_size_static0[3][4];
string text_static0[3];
pos_size_static0[0][0]=20; pos_size_static0[0][1]=166; pos_size_static0[0][2]=58; pos_size_static0[0][3]=20;
pos_size_static0[1][0]=24; pos_size_static0[1][1]=118; pos_size_static0[1][2]=40; pos_size_static0[1][3]=20;
pos_size_static0[2][0]=201; pos_size_static0[2][1]=167; pos_size_static0[2][2]=100; pos_size_static0[2][3]=20;
text_static0[0]="Продано на"; text_static0[1]="Поймал"; text_static0[2]="руб.";
//////////
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
EDIT, #pos_size_edit0[0][0], #text_edit0[0] |
CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0] |
COMBO, #pos_size_combo0[0][0], #text_combo0[0][0], #strok_combo0[0], #flag_combo0[0] |
STATIC, #pos_size_static0[0][0], #text_static0[0]);
//////////
showdialog(0, "
ТР2_1440.900v0.4", 835, 390, 257, 300, 1, 1);
//////////
loop() sleep(10);//Убрать после теста
KIB_Exit:;
зачем выход там не понятно.
Тоесть я беру весь этот код и заменяю мой "стандартный" но ничего не происходит, кибор виснет или не может обработать, закрываю его принудительно.
(Добавление)
Ожил и выдал, повторение имени переменной pos_size_static0. Догадываюсь что не будет оно так работать пока не пропишу в этом коде окна переменные на все нужные поля. |
| |
|
| Zireael |
Отправлено: 11 Августа, 2025 - 13:26:55
|


Эксперт

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

|
Цитата: в начале добавляет goto KIB_Exit; и в конце KIB_Exit:;
Потому что нет перехода к этому блоку.
Цитата: loop() sleep(10);//Убрать после теста
Эта строка не просто так с комментарием. |
| |
|
| Asimut |
Отправлено: 11 Августа, 2025 - 13:33:06
|


Наблюдатель

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

|
Zireael пишет: Цитата: в начале добавляет goto KIB_Exit; и в конце KIB_Exit:;
Потому что нет перехода к этому блоку.
Цитата: loop() sleep(10);//Убрать после теста
Эта строка не просто так с комментарием.
Перехода и не должно быть но возможно потому что для теста всего два блока.
Строку естественно убирал после теста. и скрипт просто отработался без ничего. |
| |
|
| Zireael |
Отправлено: 11 Августа, 2025 - 13:44:44
|


Эксперт

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

|
Цитата: Перехода и не должно быть
Если к блоку нет перехода, то он пропускается.
Цитата: Строку естественно убирал после теста. и скрипт просто отработался без ничего.
Так и должно быть. Код выполнился. |
| |
|
|