Еще наглядный пример:
Цитата: 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();//Завершили работу с интерпретатором
} |