<?xml version="1.0" encoding="utf-8"?>
<Application>
	<AppTitle>Untitled Application</AppTitle>
	<AppShortName>MyApp</AppShortName>
	<Author>Author name</Author>
	<Version>1.0</Version>
	<DesignDeviceName>Desktop</DesignDeviceName>
	<Variables>[[lineSeparator][LineVarName]],[allText],[lineSeparator],[LineVarName],[LineVarValue],[loadHere],[maxLineNumber],[myVariableItems([thisLineNumber])],[myVariableItems],[smAbout],[smGreeting],[smHelpTopic],[smIntroduction],[smName],[thisLineNumber],[thisLinePart(0)],[thisLinePart(1)],[thisLinePart],[thisLineText]</Variables>
	<VariablesScanned>True</VariablesScanned>
	<PageWidth>640</PageWidth>
	<PageHeight>480</PageHeight>
	<AutoSizeWidth>False</AutoSizeWidth>
	<AutoSizeHeight>False</AutoSizeHeight>
	<HideScrollbars>False</HideScrollbars>
	<ResponsiveSize>False</ResponsiveSize>
	<PublishPlatform>WebApp</PublishPlatform>
	<EmptyBuildFolder>True</EmptyBuildFolder>
	<AppIcon>C:\Users\Gaev Keeka\Documents\VisualNeoWeb\Libraries\img\default-icon.png</AppIcon>
	<CustomCSS>.xsmall {
  font-size: 7px;
}

</CustomCSS>
	<LanguageCode>en</LanguageCode>
	<DisplayMode>standalone</DisplayMode>
	<ServiceWorker>Offline page</ServiceWorker>
	<ThemeColor>#000000</ThemeColor>
	<PwaScope>/</PwaScope>
	<MobileOSTypes>[AndroidOS,iOS,WindowsPhoneOS]</MobileOSTypes>
	<WindowState>normal</WindowState>
	<TitleBar>True</TitleBar>
	<Sizeable>True</Sizeable>
	<MaximizeBtn>False</MaximizeBtn>
	<MinimizeBtn>True</MinimizeBtn>
	<SystemMenu>True</SystemMenu>
	<ContextMenu>False</ContextMenu>
	<AlwaysOnTop>False</AlwaysOnTop>
	<ShowInTaskbar>True</ShowInTaskbar>
	<SingleInstance>False</SingleInstance>
	<ChromeKioskMode>False</ChromeKioskMode>
	<Components>
		<FunctionList name="Subroutines">
			<Components>
				<Function name="smExtractVariables">
					<Code>... now split the content into one array item per line
...AlertBox &quot;uploadedVariable&quot; &quot;... [uploadedVariable]&quot; &quot;&quot;
StrReplace &quot;[uploadedVariable]&quot; &quot;\r\n&quot; &quot;&quot; [uploadedVariable] &quot;&quot;
StrParse &quot;[uploadedVariable]&quot; &quot;[lineDelimiter]&quot; [myVariableItems]

... even though the help file mentions that ...
...    &quot;The count variable will be set to the number of elements stored in the array.&quot;
... this is not true; so I am using Javascript commands to get the number of items in the array

BeginJS
  myVariableItemsArray = $App.myVariableItems;
  myVariableItemsLength = myVariableItemsArray.length;
  myVariableItemsMax = myVariableItemsLength - 2;
  $App.maxLineNumber = myVariableItemsMax;
  //alert($App.maxLineNumber);
EndJS

... now loop through all the items in the array called [myVariablelines]

Loop 0 [maxLineNumber] [thisLineNumber]
   SetVar &quot;[thisLineText]&quot; [myVariableItems([thisLineNumber])]
   ...AlertBox &quot;Line Info&quot; &quot;[thisLineNumber]. [thisLineText]&quot; &quot;&quot;

   ... split the text on either side of the equal sign into 2 parts
   StrParse &quot;[thisLineText]&quot; &quot;[variablePartsDelimiter]&quot; [thisLinePart]
   ... use the two parts to create/populate the variables
   SetVar &quot;[LineVarName]&quot; &quot;[thisLinePart(0)]&quot;
   SetVar &quot;[LineVarValue]&quot; &quot;[thisLinePart(1)]&quot;
   ...AlertBox &quot;Part Info&quot; &quot;[thisLineNumber]. [thisLineText]&lt;br/&gt;&lt;br/&gt;[LineVarName]&lt;br/&gt;[LineVarValue]&quot; &quot;&quot;
   ...SetVar &quot;[nothing]&quot; &quot;xx&quot;
   SetCompVar [[LineVarName]] &quot;[LineVarValue]&quot;
EndLoop</Code>
					<Params>[uploadedVariable]|VARNAME|Variable containing uploaded data;[lineDelimiter]|STRING|Character string that delimits one variable&apos;s info from the next;[variablePartsDelimiter]|STRING|Character string that delimits variable names from values</Params>
				</Function>
				<Function name="jsExtractVariables">
					<Code>//verify params
lineDelimiter=$App.var2;
//lineDelimiter=&quot;$$&quot;;
alert(lineDelimiter);</Code>
					<Params>[uploadedVariable]|VARNAME|Variable containing uploaded data;[lineDelimiter]|STRING|Character string that delimits one variable&apos;s info from the next;[variablePartsDelimiter]|STRING|Character string that delimits variable names from values</Params>
					<ScriptLanguage>JavaScript</ScriptLanguage>
				</Function>
				<Function name="setupVariables">
					<Code>... I am using &quot;sm&quot; as the line separator, but you can use any string of characters that are not part of any variable content
... just make sure that every line in the txt (i.e. variable name) starts with the same prefix
SetVar &quot;[lineSeparator]&quot; &quot;sm&quot;


... now split the content into one array item per line
StrParse &quot;[allText]&quot; &quot;[lineSeparator]&quot; [myVariableItems]

... even though the help file mentions that ...
... The count variable will be set to the number of elements stored in the array.
... this is not true; so I am using Javascript commands to get the number of items in the array

BeginJS
  myVariableItemsArray = $App.myVariableItems;
  myVariableItemsLength = myVariableItemsArray.length;
  myVariableItemsMax = myVariableItemsLength - 1;
  $App.maxLineNumber = myVariableItemsMax;
  //alert($App.maxLineNumber);
EndJS

... now loop through all the items in the array called [myVariablelines]

Loop 1 [maxLineNumber] [thisLineNumber]
   SetVar &quot;[thisLineText]&quot; [myVariableItems([thisLineNumber])]
   ...AlertBox &quot;Line Info&quot; &quot;[thisLineNumber]. [thisLineText]&quot; &quot;&quot;

   ... split the text on either side of the equal sign into 2 parts
   StrParse &quot;[thisLineText]&quot; &quot;=&quot; [thisLinePart]
   ... use the two parts to create/populate the variables
   SetVar &quot;[LineVarName]&quot; &quot;[thisLinePart(0)]&quot;
   SetVar &quot;[LineVarValue]&quot; &quot;[thisLinePart(1)]&quot;
   ...AlertBox &quot;Part Info&quot; &quot;[thisLineNumber]. [thisLineText]&lt;br/&gt;[LineVarName]&lt;br/&gt;[LineVarValue]&quot; &quot;&quot;
   SetCompVar [[lineSeparator][LineVarName]] &quot;[LineVarValue]&quot;
EndLoop</Code>
				</Function>
			</Components>
		</FunctionList>
		<LibraryList name="Libraries"/>
		<PageList name="Main">
			<Components>
				<Page id="v3">
					<Components>
						<Container id="Results">
							<left>18px</left>
							<top>172px</top>
							<width>600px</width>
							<height>106px</height>
							<style>background-color:#fff;border-style:solid;border-width:1px;overflow-y:auto</style>
							<html>This container shows the values of each of the variables for your verification&lt;br/&gt;

Value of variable &lt;strong&gt;Headline1&lt;/strong&gt; is &lt;i&gt;[Headline1]&lt;/i&gt;&lt;br/&gt;
Value of variable &lt;strong&gt;Headline2&lt;/strong&gt; is &lt;i&gt;[Headline2]&lt;/i&gt;&lt;br/&gt;
Value of variable &lt;strong&gt;Paragraph1&lt;/strong&gt; is &lt;i&gt;[Paragraph1]&lt;/i&gt;&lt;br/&gt;
Value of variable &lt;strong&gt;TextInput1&lt;/strong&gt; is &lt;i&gt;[TextInput1]&lt;/i&gt;&lt;br/&gt;</html>
						</Container>
						<Container id="Container1">
							<left>19px</left>
							<top>8px</top>
							<width>598px</width>
							<height>32px</height>
							<style>font-size:18pt;background-color:#fff;border-width:1px</style>
							<html>Sample Script to Load Variables</html>
						</Container>
						<Container id="Container2">
							<left>19px</left>
							<top>82px</top>
							<width>599px</width>
							<height>83px</height>
							<style>background-color:#fff;border-style:solid;border-width:1px;overflow-y:auto</style>
							<html>[loadHere]</html>
						</Container>
						<PushButton id="PushButton2">
							<left>20px</left>
							<top>44px</top>
							<width>110px</width>
							<height>32px</height>
							<caption>v3 en.txt</caption>
							<click>
SetVar &quot;[loadHere]&quot; &quot;&quot;
FileToVar &quot;https://servicefinder.gr/en.txt&quot; [loadHere]
Wait 500
   smExtractVariables [loadHere] &quot;$$&quot; &quot;=&quot;

   SetObjectHTML &quot;Headline1&quot; &quot;[Headline1]&quot;
   SetObjectHTML &quot;Headline2&quot; &quot;[Headline2]&quot;
   SetObjectHTML &quot;Paragraph1&quot; &quot;[Paragraph1]&quot;
   SetObjectHTML &quot;TextInput1&quot; &quot;[TextInput1]&quot;
EndWait</click>
						</PushButton>
						<Container id="Headline1">
							<left>20px</left>
							<top>283px</top>
							<width>599px</width>
							<height>32px</height>
							<style>background-color:#fff;border-style:solid;border-width:1px;overflow-y:auto</style>
							<html>[Headline1]</html>
						</Container>
						<Container id="Headline2">
							<left>18px</left>
							<top>320px</top>
							<width>602px</width>
							<height>33px</height>
							<style>background-color:#fff;border-style:solid;border-width:1px;overflow-y:auto</style>
							<html>[Headline2]</html>
						</Container>
						<Container id="Paragraph1">
							<left>19px</left>
							<top>356px</top>
							<width>600px</width>
							<height>64px</height>
							<style>background-color:#fff;border-style:solid;border-width:1px;overflow-y:auto</style>
							<html>[Paragraph1]</html>
						</Container>
						<Container id="TextInput1">
							<left>19px</left>
							<top>424px</top>
							<width>600px</width>
							<height>48px</height>
							<style>background-color:#fff;border-style:solid;border-width:1px;overflow-y:auto</style>
							<html>[TextInput1]</html>
						</Container>
						<PushButton id="PushButton3">
							<left>136px</left>
							<top>46px</top>
							<width>110px</width>
							<height>32px</height>
							<caption>v3 en2.txt</caption>
							<click>SetVar &quot;[loadHere]&quot; &quot;&quot;
FileToVar &quot;https://servicefinder.gr/en2.txt&quot; [loadHere]
Wait 500
   smExtractVariables [loadHere] &quot;zzz&quot; &quot;==&quot;

   SetObjectHTML &quot;Headline1&quot; &quot;[Headline1]&quot;
   SetObjectHTML &quot;Headline2&quot; &quot;[Headline2]&quot;
   SetObjectHTML &quot;Paragraph1&quot; &quot;[Paragraph1]&quot;
   SetObjectHTML &quot;TextInput1&quot; &quot;[TextInput1]&quot;
EndWait

</click>
						</PushButton>
						<PushButton id="PushButton4">
							<left>252px</left>
							<top>46px</top>
							<width>110px</width>
							<height>32px</height>
							<caption>v3 en3.txt</caption>
							<click>SetVar &quot;[loadHere]&quot; &quot;&quot;
FileToVar &quot;https://servicefinder.gr/en3.txt&quot; [loadHere]
Wait 500
   smExtractVariables [loadHere] &quot;;;&quot; &quot;=&gt;&quot;

   SetObjectHTML &quot;Headline1&quot; &quot;[Headline1]&quot;
   SetObjectHTML &quot;Headline2&quot; &quot;[Headline2]&quot;
   SetObjectHTML &quot;Paragraph1&quot; &quot;[Paragraph1]&quot;
   SetObjectHTML &quot;TextInput1&quot; &quot;[TextInput1]&quot;
EndWait</click>
						</PushButton>
						<PushButton id="PushButton5">
							<left>521px</left>
							<top>46px</top>
							<width>89px</width>
							<height>30px</height>
							<caption>Style</caption>
							<click>SetVar &quot;[Headline1]&quot; &quot;In first part will be the &lt;strong&gt;object name&lt;/strong&gt; and on second part will be the text&quot;
SetObjectHTML &quot;Headline1&quot; &quot;[Headline1]&quot;

SetVar &quot;[Headline2]&quot; &quot;I dont know if the &lt;u&gt;equal sign&lt;/u&gt; is the appropriate symbol to use as separator between elements&quot;
SetObjectHTML &quot;Headline2&quot; &quot;[Headline2]&quot;

SetVar &quot;[Paragraph1]&quot; &quot;&lt;p&gt;I think its better to use the special character&lt;/p&gt;&lt;p&gt;at the end of line&lt;/p&gt;&quot;
SetObjectHTML &quot;Paragraph1&quot; &quot;[Paragraph1]&quot;

SetVar &quot;[TextInput1]&quot; &quot;&lt;span class=&apos;xsmall&apos;&gt;A possible special character could be the dollar sign or a special character that is not used in HTML tags&lt;/span&gt;&quot;
SetObjectHTML &quot;TextInput1&quot; &quot;[TextInput1]&quot;</click>
						</PushButton>
					</Components>
				</Page>
				<Page id="olderVersion">
					<Components>
						<Container id="Container3">
							<left>22px</left>
							<top>196px</top>
							<width>600px</width>
							<height>224px</height>
							<style>border-width:1px;border-style:solid;background-color:#fff;</style>
							<html>This container shows the values of each of the variables for your verification&lt;br/&gt;&lt;br/&gt;

Value of variable &lt;strong&gt;smGreeting&lt;/strong&gt; is &lt;i&gt;[smGreeting]&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;

Value of variable &lt;strong&gt;smIntroduction&lt;/strong&gt; is &lt;i&gt;[smIntroduction]&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;

Value of variable &lt;strong&gt;smAbout&lt;/strong&gt; is &lt;i&gt;[smAbout]&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;

Value of variable &lt;strong&gt;smName&lt;/strong&gt; is &lt;i&gt;[smName]&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;

Value of variable &lt;strong&gt;smHelpTopic&lt;/strong&gt; is &lt;i&gt;[smHelpTopic]&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;</html>
						</Container>
						<Container id="Container4">
							<left>19px</left>
							<top>8px</top>
							<width>598px</width>
							<height>46px</height>
							<style>font-size:18pt;background-color:#fff;border-width:1px</style>
							<html>Sample Script to Load Variables</html>
						</Container>
						<Container id="Container5">
							<left>25px</left>
							<top>104px</top>
							<width>596px</width>
							<height>83px</height>
							<style>border-width:1px;border-style:solid;background-color:#fff;</style>
							<html>[allText]</html>
						</Container>
						<PushButton id="PushButton1">
							<left>22px</left>
							<top>61px</top>
							<width>110px</width>
							<height>32px</height>
							<caption>Just Do It 2</caption>
							<click>... load the contents of the txt file into a single variable
FileToVar &quot;https://servicefinder.gr/en.txt&quot; [allText]
Wait 500
   setupVariables
EndWait
... All Done</click>
						</PushButton>
					</Components>
				</Page>
			</Components>
		</PageList>
		<PageList name="Master">
			<Components>
				<Page id="MasterPage"/>
			</Components>
		</PageList>
		<PageList name="Dialog">
			<Components>
				<Page id="NewDialog">
					<Components>
						<DialogContainer id="DialogContainer1">
							<left>0px</left>
							<top>0px</top>
							<width>640px</width>
							<height>480px</height>
							<close_button>False</close_button>
							<kind>custom</kind>
						</DialogContainer>
					</Components>
				</Page>
			</Components>
		</PageList>
	</Components>
</Application>
