Window / app
show_free_dlg
show_free_dlg($xml,$is_ret_xml=true,$separator="\r\n"); - данная функция используется для создания диалога по его xml описаниюФункция на вход принимает параметры:
- $xml – XML описание создаваемого диалога, это строка , что должна иметь один корневой элемент, содержащий элементы управления которые будут показаны в диалоге, тип элемента управления определяется его именем.(см ниже список) Все элементы, включая корневой, должны иметь следующие атрибуты:
- x – x позиция верхнего угла элемента
- y – y позиция верхнего угла элемента
- width – длина элемента
- height – высота элемента
- value – значение, в CHECKBOX – отображает отметку галочки, во всех остальных текст элемента
- button – текст кнопки для элементов спаренных с кнопкой (например выбор файла или папки)
- command - ключ по котрому будут помнится предыдущий выбор (например выбор файла или папки)
- ext - для диалога выбора файла - расширения выбираемых файлов, а для диалога выбора папки - дополнительный текст появляющийся при выборе в самом диалоге
- EDIT – поле ввода текста
- CHECKBOX – кнопка пометки галочкой
- LABEL – надпись
- COMBOBOX - выпадающий список элементов
- LISTBOX - обычный список элементов
- MULTIEDIT - мультистрочное поле ввода текста
- TREE - дерево
- FILESELECT - выбор файла (с 4.6.37)
- FOLDERSELECT - выбор папки (с 4.6.37)
<freeDlg x="10" y="10" width="300" height="400" value="app freedlg" x_ok="70" y_ok="320" x_cancel="170" y_cancel="320">
<COMBOBOX x="10" y="10" width="100" height="150" value="ccc" >
<VALUE>1</VALUE>
<VALUE>2</VALUE>
<VALUE>3</VALUE>
</COMBOBOX>
<LISTBOX x="10" y="50" width="100" height="150" value="4" >
<VALUE>4</VALUE>
<VALUE>5</VALUE>
<VALUE>6</VALUE>
</LISTBOX>
<EDIT x="150" y="10" width="100" height="20" value="2000" ></EDIT>
<MULTIEDIT x="150" y="100" width="100" height="80" value="2000" ></MULTIEDIT>
<CHECKBOX x="150" y="50" width="100" height="20" value="0" ></CHECKBOX>
<LABEL x="150" y="80" width="100" height="20" value="label" ></LABLE>
<TREE x="150" y="200" width="100" height="100" value="tree" >
<VALUE value="tree0">
<VALUE value="tree10"></VALUE>
<VALUE value="tree20"></VALUE>
<VALUE value="tree30"></VALUE>
</VALUE>
<VALUE value="tree1"></VALUE>
<VALUE value="tree2"></VALUE>
</TREE>
<FILESELECT x="10" y="310" width="280" height="22" value="C:\1.txt" button="..." command="sel_file_1" ext="*.txt"></FILESELECT>
<FOLDERSELECT x="10" y="340" width="280" height="22" value="C:\" button="..." command="sel_folder_1" ext="Выбор папки для чего-нибудь"></FOLDERSELECT>
</freeDlg>
- $is_ret_xml – возвращать ли результат работы диалога в xml
- $separator – чем разделять возвращаемые результаты по каждому элементу управления диалога
Пример использования (PHP):
===============================================================
<?php $xhe_host = "127.0.0.1:7010"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/xweb_human_emulator.php"; require($path); // начало echo "<hr><font color=blue>app->".basename (__FILE__)."</font><hr>"; // 1 echo "1. Читаем файл с расположением элементов XML диалога : "; $xml = $textfile->read_file("xml\\2.xml",60);echo strlen($xml)."<br>"; // 2 echo "2. Показать диалог и вернуть что введено в него в виде массива : <br>"; echo $app->show_free_dlg($xml,false)."<br><hr>"; // 3 echo "3. Показать диалог и вернуть что введено в него в виде XML : <br>"; echo $app->show_free_dlg($xml); // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Пример использования (Python):
===============================================================
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:7011" from xweb_human_emulator import * # начало echo("<hr><font color=blue>app.xxxxxxxxx</font><hr>") # 1 echo("1. Читаем файл с расположением элементов XML диалога : ") xml = textfile.read_file("xml\\2.xml",60) echo(len(xml),"<br>") # 2 echo("2. Показать диалог и вернуть что введено в него в виде массива : <br>") echo(app.show_free_dlg(xml,false),"<br><hr>") # 3 echo("3. Показать диалог и вернуть что введено в него в виде XML : <br>") echo(app.show_free_dlg(xml)) # конец echo("<hr><br>") # Quit app.quit()
Пример использования (C#):
===============================================================
#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>app.show_free_dlg</font><hr>"); // 1 шаг echo("1. Читаем файл с расположением элементов XML диалога : "); string xml = (textfile.read_file("xml\\2.xml",60));echo(xml.Length+"<br>"); // 2 шаг echo("2. Показать диалог и вернуть что введено в него в виде массива : <br>"); echo(app.show_free_dlg(xml,false)+"<br><hr>"); // 3 шаг echo("3. Показать диалог и вернуть что введено в него в виде XML : <br>"); echo(app.show_free_dlg(xml)); // конец echo("<hr><br>"); app.quit(); } }
Пример использования (JS):
===============================================================
// подключим объект для управления эмулятором, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/xweb_human_emulator.js"); // начало echo("<hr><font color=blue>app.show_free_dlg</font><hr>"); // 1 шаг echo("1. Читаем файл с расположением элементов XML диалога : "); var xml = textfile.read_file("xml\\2.xml",60);echo(xml.length+"<br>"); // 2 шаг echo("2. Показать диалог и вернуть что введено в него в виде массива : <br>"); echo(app.show_free_dlg(xml,false)+"<br><hr>"); // 3 шаг echo("3. Показать диалог и вернуть что введено в него в виде XML : <br>"); echo(app.show_free_dlg(xml)); // конец echo("<hr><br>"); // Quit app.quit();
=============================================
App Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.