User Tools

Site Tools


Sidebar



en:objects:app:std_dialogs:show_free_dlg

show_free_dlg

show_free_dlg($xml,$is_ret_xml=true,$separator=""); - this function is used to create a dialog based on its xml description

The function accepts parameters as input:

  • $xml – XML description of the dialog being created, this is a string that must have one root element containing the controls that will be shown in the dialog , the type of the control is determined by its name.(see the list below) All elements, including the root element, must have the following attributes:

    • x – the x position of the top corner of the element
    • y – the y position of the upper corner of the element
    • width – the length of the element
    • height of element
    • value – the value in a CHECKBOX displays a tick mark, in all other text element
    • button – button text for the elements paired with a button (such as selecting a file or folder)
    • command - a key that will remember the previous selection (for example, selecting a file or folder)
    • ext - for the file selection dialog - extensions of the selected files, and for the folder selection dialog - additional text that appears when selecting in the dialog
    List of element names:

    • EDIT – text input field
    • CHECKBOX – tick button
    • LABEL – label
    • COMBOBOX - drop - down list of elements
    • LISTBOX - regular list of elements
    • MULTIEDIT - multi-line text input field
    • TREE- tree
    • FILESELECT - file selection (from 4.6.37)
    • FOLDERSELECT - selecting a folder (from 4.6.37)
    Xml example :

    <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: .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 – whether to return the dialog result in xml
  • $separator – how to separate the returned results for each dialog control
After testing, the function returns the result of its work to the script :
  • The result of working out the dialog is an xml or string that describes all the dialog elements in the state when the OK or Cancel button was clicked (when the dialog was closed)

    PHP example:

    <?php $xhe_host = "127.0.0.1:7010";
     
    //connect the object to control the emulator, if not already connected
    if(!isset($path))
       $path = "../../../Templates/xweb_human_emulator.php";
    require($path);
     
    //Start
    echo "<hr> <font color = blue> app->".basename(__FILE__)."</font> <hr>";
     
    //1
    echo "1.We read the file with the location of the dialog's XML elements:";
    $xml = $textfile->read_file("xml \ 2.xml", 60); echo strlen($xml)."<br>";
     
    //2
    echo "2.Show the dialog and return what is entered into it as an array: <br>";
    echo $app->show_free_dlg($xml, false)."<br> <hr>";
     
    //3
    echo "3.Show the dialog and return what is entered as XML: <br>";
    echo $app->show_free_dlg($xml);
     
    //end
    echo "<hr> <br>";
     
    //Quit
    $app->quit();
    ?>

    Python example:

    # Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
     
    xhe_host = "127.0.0.1:7011"
    from xweb_human_emulator import *
     
    # Start
    echo("<hr> <font color = blue> app.xxxxxxxxx </font> <hr>")
     
    # 1
    echo("1.We read the file with the location of the dialog XML elements:")
    xml = textfile.read_file("xml \ 2.xml", 60)
    echo(len(xml), "<br>")
     
    # 2
    echo("2.Show the dialog and return what was entered into it as an array: <br>")
    echo(app.show_free_dlg(xml, false), "<br> <hr>")
     
    # 3
    echo("3.Show dialog and return what is entered in XML format: <br>")
    echo(app.show_free_dlg(xml))
     
    # end
    echo("<hr> <br>")
     
    # Quit
    app.quit()

    C# example:

    #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();
     
    //Start
    echo("<hr> <font color = blue> app.show_free_dlg </font> <hr>");
     
    //1 step
    echo("1.Read the file with the location of the dialog XML elements:");
    string xml =(textfile.read_file("xml \ 2.xml", 60)); echo(xml.Length + "<br>");
     
    //step 2
    echo("2.Show the dialog and return what is entered into it as an array: <br>");
    echo(app.show_free_dlg(xml, false) + "<br> <hr>");
     
    //step 3
    echo("3.Show the dialog and return what is entered into it as XML: <br>");
    echo(app.show_free_dlg(xml));
     
    //end
    echo("<hr> <br>");
     
    app.quit();
    }
    }

    Java Script example:

    //connect the object to control the emulator, if not already connected
    xhe_host = "127.0.0.1:7010";
    echo = require("../../../Templates JS/xweb_human_emulator.js");
     
    //Start
    echo("<hr> <font color = blue> app.show_free_dlg </font> <hr>");
     
    //1 step
    echo("1.Read the file with the location of the dialog XML elements:");
    var xml = textfile.read_file("xml \ 2.xml", 60); echo(xml.length + "<br>");
     
    //step 2
    echo("2.Show the dialog and return what is entered into it as an array: <br>");
    echo(app.show_free_dlg(xml, false) + "<br> <hr>");
     
    //step 3
    echo("3.Show the dialog and return what is entered into it as XML: <br>");
    echo(app.show_free_dlg(xml));
     
    //end
    echo("<hr> <br>");
     
    //Quit
    app.quit();
  • en/objects/app/std_dialogs/show_free_dlg.txt · Last modified: 2026/08/05 22:31 (external edit)