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

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

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

> Описание: Быстрое получение данных с Python в Кибор
Kibor
Отправлено: 10 Ноября, 2023 - 13:24:56
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




readvarpython позволяет быстро получить значение переменной Python.

Получать можно только значение первого элемента созданного строкового списка. Но этого вполне достаточно что бы быстро обменяться данными с Python в Кибор, не используя команду print
работает там где невозможно получить данные с помощью pipe канала.

Список необходимо создавать таким образом:
Обязательно инициализировать какими нибудь данными
CODE:
__python_sync
A=['w']
__end_python


После этого с помощью функции
CODE:
readvarpython("A")

либо (второй параметр указывает номер процесса Многопроцессорность Python. Запуск нескольких процессов Python, работающих одновременно и незавивисимо друг от друга)
CODE:
readvarpython("A", 0)


мы в любой момент можем прочитать что находится в
CODE:
A[0]



После создания списка надо обязательно вызвать функцию readvarpython для получения адреса списка
Потому что при первом запуске readvarpython обменивается с Python через pipe канал


Пример:

 Цитата:
enableconsolepython(1, 1, 50, 50, 400, 600);
if (runpython())//Запустили интерпретатор
{

__python_sync
import time
A=['w']
__end_python

/*
После создания списка надо обязательно вызвать функцию readvarpython для получения адреса списка
Потому что при первом запуске readvarpython обменивается с Python через pipe канал
*/
readvarpython("A");

//Python работает в асинхронном режиме постоянно перезаписывая в A[0]
__python
while 1:
(4 пробела)A[0]=A[0]+'w'
(4 пробела)time.sleep(0.5)

__end_python

//В данный момент pipe канал с Python заблокирован, но мы в любой момент узнаем значение нужной нам переменной
loop()
{
messagebox (readvarpython("A"));// В любой момент получаем что записано в первый элемент списка A[0]
}

closepython();//Завершили работу с интерпретатором
}
 
 Top
Kibor
Отправлено: 11 Ноября, 2023 - 03:50:59
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Еще наглядный пример:

 Цитата:
int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];

pos_size_button0[0][0]=136; pos_size_button0[0][1]=36; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Закрыть";

//////////

int pos_size_edit0[1][4];
string text_edit0[1];

pos_size_edit0[0][0]=6; pos_size_edit0[0][1]=7; pos_size_edit0[0][2]=231; pos_size_edit0[0][3]=20;
text_edit0[0]="";

//////////

createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
EDIT, #pos_size_edit0[0][0], #text_edit0[0]);
//////////

showdialog(0, "Диалог", 835, 390, 250, 94, 1, 1);
//////////




enableconsolepython(1, 1, 50, 50, 400, 600);
if (runpython())//Запустили интерпретатор
{

__python_sync
import time
A=['w']
__end_python

/*
После создания списка надо обязательно вызвать функцию readvarpython для получения адреса списка
Потому что при первом запуске readvarpython обменивается с Python через pipe канал
*/
readvarpython("A");

//Python работает в асинхронном режиме постоянно перезаписывая в A[0]
__python
while 1:
(4 пробела)A[0]=A[0]+'w'
(4 пробела)time.sleep(0.3)
(4 пробела)if len(A[0])>15:
(8 пробелов)A[0]=''

__end_python

//В данный момент pipe канал с Python заблокирован, но мы в любой момент узнаем значение нужной нам переменной
loop()
{
text_edit0[0]=readvarpython("A");// В любой момент получаем что записано в первый элемент списка A[0]
sleep(100);
if (flag_button0[0]==1)
{
flag_button0[0]=0;
break;
}
}

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


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




Powered by