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 // Scenario: Display a custom dialog based on XML configuration and return input as array or XML $xhe_host = "localhost:7010"; if (!isset($path)){ // Path to init.php file for connecting to the XHE API $path = "../../../Templates/init.php"; // Including init.php grants access to all classes and functionality for working with the XHE API require($path); } // beginning echo "\n<font color=blue>app->" . basename (__FILE__) . "</font>\n"; // Step 1 echo "\nStep 1. Read file with XML dialog element layout\n"; $xmlFilePath = "xml\\2.xml"; $xml = SYSTEM::$textfile->read_file($xmlFilePath, 60); echo strlen($xml)."\n"; // Example 1 echo "\n\n2. Show dialog and return input as array\n"; $asArray = true; $showFreeDlgArrayResult = WINDOW::$app->show_free_dlg($xml, $asArray); echo $showFreeDlgArrayResult."\n"; // Example 2 echo "\n\n3. Show dialog and return input as XML\n"; $asArray = false; $showFreeDlgXmlResult = WINDOW::$app->show_free_dlg($xml, $asArray); echo $showFreeDlgXmlResult."\n"; // end echo "\n"; // Quit the application WINDOW::$app->quit(); ?>
# 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>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()
#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 = "localhost: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("\n\n"); app.quit(); } }
// подключим функциональные объекты, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/init.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("\n"); // Quit app.quit();
=============================================
App Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.