Наш основной сайт



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)
    Пример xml :

    <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 – чем разделять возвращаемые результаты по каждому элементу управления диалога
После отработки функция возвращает результат своей работы в скрипт :
  • Результат отработки диалога – это xml или строка, описывающая все элементы диалога в том состоянии когда была нажата кнопка OK или Отмена (когда диалог был закрыт)

    Пример использования (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        
    =============================================
    если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
    .