• EN
    RU

flash/set_variable_by_number

set_variable_by_number(name, value, number, frame)

Данная команда позволяет задать значение переменной во флэш с заданным номером. Чтобы узнать имена переменных можно использовать декомпилятор флэша. Например вот - самый простенький. Сам файл флэша можно найти в кэше.

Команда на вход принимает параметры
  • name – имя переменной
  • value – новое значение переменной
  • number - номер флэш элемента
  • frame - номер фрейма, в котором мы ищем элемент. Номер фрейма в котором находится нужный вам элемент можно узнать из инспектора задач, контекстного меню и панели списка элементов. Можно передавать вложенные фреймы, принцип такой же самый. Можно передавать "url=>XXX", тогда будет произведен поиск фрейма, который содержит заданный src, или передавать "name=>XXX" - тогда будет поиск фрейма, по заданной части имени

После отработки команда возвращает результат своей работы в робот
  • true – успешно выполнили
  • false – выполнить не удалось (такого элемента или переменной нет)




Примеры использования (php)

<?php $xhe_host = "127.0.0.1:7010";
 
// подключим объект для управления эмулятором, если еще не подключен
if (!isset($path))
  $path="../../../Templates/init.php";
require($path);
 
// начало
echo "<hr><font color=blue>flash->".basename (__FILE__)."</font><hr>";
 
// 1 
echo "1. Перейдем на полигон : ";
echo $browser->navigate("http://www.puzzleweb.ru/html/examples/object_width.php")."<br>";
 
// 2 
echo "2. Получим текущую метку для флэша с номером 0 в 0 фрейме : ";
echo $flash->get_current_label_by_number("end_frame",0,0)."\n";
 
// 3 
echo "3. Вызовем заданную метку во флэш с номером  0 в 0 фрейме : ";
echo $flash->call_label_by_number("Fresh Sheet","10",0,0)."\n";
 
// 4 
echo "4. Вызовем заданный фрейм во флэш с номером  0 в 0 фрейме : ";
echo $flash->call_frame_by_number(3,"10",0,0)."\n";
 
// 5 
echo "5. Зададим переменной 'a' значение 10 во флэш с номером  0 в 0 фрейме : ";
echo $flash->set_variable_by_number("a","10",0,0)."\n";
 
// 6 
echo "6. Получим значение переменной 'a' во флэш с номером  0 в 0 фрейме : ";
echo $flash->get_variable_by_number("a",0,0)."\n";
 
// конец
echo "<hr><br>";
 
// Quit
$app->quit();
?>


Примеры использования (cs)

#region using
 
using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
using System.Threading;
 
using XHE;
using XHE.XHE_DOM;
using XHE.XHE_System;
using XHE.XHE_Window;
using XHE.XHE_Web;
 
#endregion
 
 class Program:XHEScript
 {
	  static void Main(string[] args)
	  {
			// init XHE
			server="127.0.0.1:7010";
			InitXHE();
 
			// начало
			echo("<hr><font color=blue>flash.set_variable_by_number</font><hr>");
			browser.enable_activex(true);
			browser.enable_video(true);				
 
			// 1 шаг
			echo("1. Перейдем на полигон : ");
			echo(browser.navigate("http://www.puzzleweb.ru/html/examples/object_width.php")+"<br>");
 
			// 2 шаг
			echo("2. Получим текущую метку для флэша с номером 0 в 0 фрейме : ");
			echo(flash.get_current_label_by_number("end_frame",0,"0")+"\n");
 
			// 3 шаг
			echo("3. Вызовем заданную метку во флэш с номером  0 в 0 фрейме : ");
			echo(flash.call_label_by_number("Fresh Sheet","10",0,"0")+"\n");
 
			// 4 шаг
			echo("4. Вызовем заданный фрейм во флэш с номером  0 в 0 фрейме : ");
			echo(flash.call_frame_by_number(3,"10",0,"0")+"\n");
 
			// 5 шаг
			echo("5. Зададим переменной 'a' значение 10 во флэш с номером  0 в 0 фрейме : ");
			echo(flash.set_variable_by_number("a","10",0,"0")+"\n");
 
			// 6 шаг
			echo("6. Получим значение переменной 'a' во флэш с номером  0 в 0 фрейме : ");
			echo(flash.get_variable_by_number("a",0,"0")+"\n");
 
			// конец
			echo("<hr><br>");
 
			app.quit();            
	  }
}


Примеры использования (js)

// подключим объект для управления эмулятором, если еще не подключен
xhe_host="127.0.0.1:7010";
echo=require("../../../Templates JS/init.js");
 
// начало
echo("<hr><font color=blue>flash.set_variable_by_number</font><hr>");
 
// 1 шаг
echo("1. Перейдем на полигон : ");
echo(browser.navigate("http://www.puzzleweb.ru/html/examples/object_width.php")+"<br>");
 
// 2 шаг
echo("2. Получим текущую метку для флэша с номером 0 в 0 фрейме : ");
echo(flash.get_current_label_by_number("end_frame",0,0)+"\n");
 
// 3 шаг
echo("\n3. Вызовем заданную метку во флэш с номером  0 в 0 фрейме : ");
echo(flash.call_label_by_number("Fresh Sheet","10",0,0)+"\n");
 
// 4 шаг
echo("4. Вызовем заданный фрейм во флэш с номером  0 в 0 фрейме : ");
echo(flash.call_frame_by_number(3,"10",0,0)+"\n");
 
// 5 шаг
echo("5. Зададим переменной 'a' значение 10 во флэш с номером  0 в 0 фрейме : ");
echo(flash.set_variable_by_number("a","10",0,0)+"\n");
 
// 6 шаг
echo("6. Получим значение переменной 'a' во флэш с номером  0 в 0 фрейме : ");
echo(flash.get_variable_by_number("a",0,0)+"\n");
 
// конец
echo("<hr><br>");
 
// Quit
app.quit();


Примеры использования (py)

# Additional paths
import sys
sys.path.insert(0, '../../../Templates PY/')
 
xhe_host = "127.0.0.1:7010"
from xweb_human_emulator import *
 
# начало
echo("<hr><font color=blue>flash.xxxxxxxxx</font><hr>")
 
# 1 
echo("1. Перейдем на полигон : ")
echo(browser.navigate("http://www.puzzleweb.ru/html/examples/object_width.php"),"<br>")
 
# 2 
echo("2. Получим текущую метку для флэша с номером 0 в 0 фрейме : ")
echo(flash.get_current_label_by_number("end_frame",0,0),"\n")
 
# 3 
echo("3. Вызовем заданную метку во флэш с номером  0 в 0 фрейме : ")
echo(flash.call_label_by_number("Fresh Sheet","10",0,0),"\n")
 
# 4 
echo("4. Вызовем заданный фрейм во флэш с номером  0 в 0 фрейме : ")
echo(flash.call_frame_by_number(3,"10",0,0),"\n")
 
# 5 
echo("5. Зададим переменной 'a' значение 10 во флэш с номером  0 в 0 фрейме : ")
echo(flash.set_variable_by_number("a","10",0,0),"\n")
 
# 6 
echo("6. Получим значение переменной 'a' во флэш с номером  0 в 0 фрейме : ")
echo(flash.get_variable_by_number("a",0,0),"\n")
 
# конец
echo("<hr><br>")
 
# Quit
app.quit()