<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
> Thank you very much for yours sample code. If I understand it right. When i
<div>> would want to use this framework to get text from some inputboxes, it is</div>
<div>> also necessary to use some event procedure. And function gettext may be</div>
> return text from inputbox value.<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
You wouldn't necessarily have to use events, that is just one way. You could loop through a container's Elements collection and get the text from there, but I've updated my demo to include a debug text box which shows how you can get all of the text at once
 when any of the inputs change.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I've also added 3 methods showing one way to capture this text,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
    (*
<div>      this method will take TStrings (TStringList or other) and fill</div>
<div>      it up with "question" and "answer". The "question" will be stored</div>
<div>      in the "name" and the "answer" will be stored as a value</div>
<div>    *)</div>
<div>    procedure AllInputTextToStrings(const AContent : TStrings);</div>
<div><br>
</div>
<div>    (*</div>
<div>      this method will return a single string with the question following</div>
<div>      by an answer. an optional question separator string can be used</div>
<div>      but will default to separate with a hyphen</div>
<div>    *)</div>
<div>    function AllInputTextToString(const AQuestionSeparator  : String = '-') : String;</div>
<div><br>
</div>
<div>    (*</div>
<div>      returns all of the inputs content without including the question as</div>
<div>      a single string</div>
<div>    *)</div>
    function AllInputContentOnlyToString : String;<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
In the "BuildUI" method, I've hooked up observation methods for when the inputs' text changes (this line here)</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
.ForEach(@AddTextChangeObserverToInputs); <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The AddTextChangeObserverToInputs shows how one could attach a handler to respond when a user makes a change (this will trigger on every key up). In my demo the observer will just set the debug text to all the questions and the current answer, but you can attach
 as many different observers to property changes as you would like.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
When doing this demo I had to also fix some bugs found, so just re-pull the repo and you'll have working code.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Again, this demo is found here<br>
<a href="https://github.com/mr-highball/nyx/tree/master/demos/browser/input-labels">https://github.com/mr-highball/nyx/tree/master/demos/browser/input-labels</a><br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hope this helps, and if you need to reach out via personal email feel free.</div>
</body>
</html>