<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.docs.clomosy.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ClomosyAdmin</id>
	<title>Clomosy Docs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.docs.clomosy.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ClomosyAdmin"/>
	<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/Special:Contributions/ClomosyAdmin"/>
	<updated>2026-06-06T07:08:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Odd&amp;diff=3831</id>
		<title>Odd</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Odd&amp;diff=3831"/>
		<updated>2025-01-08T11:56:48Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Odd(X: Integer): Boolean;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Odd function returns true if the given Number is odd (remainder of 1 when divided by 2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   i : Integer;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
   for (i = 1 to 9)&lt;br /&gt;
     if (Odd(i)) ShowMessage('Odd number :'+IntToStr(i));&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Odd number : 1&amp;lt;br&amp;gt; &lt;br /&gt;
Odd number : 3&amp;lt;br&amp;gt; &lt;br /&gt;
Odd number : 5&amp;lt;br&amp;gt;&lt;br /&gt;
Odd number : 7&amp;lt;br&amp;gt;&lt;br /&gt;
Odd number : 9&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
{{#seo:|title=Odd Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=The Odd function in Clomosy determines whether a given number is odd, providing a simple and efficient way to handle such checks in your application.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclLabel&amp;diff=3830</id>
		<title>TclLabel</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclLabel&amp;diff=3830"/>
		<updated>2025-01-08T11:55:25Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewLabel(AComponent: TCLComponent; xName, xCaption: string): TclLabel;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined label should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xCaption&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : You can enter the chart title here.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It creates a text label used to provide explanations or information in the user interface. TclLabel is preferred for labeling other components on the form or providing information to the user. For example, explanations such as &amp;quot;Username&amp;quot; or &amp;quot;Password&amp;quot; can be displayed next to an input field.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The features and usage are provided in the table below.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclLabel || Label1 : TclLabel;  || A variable belonging to the TclLabel class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewLabel || Label1 = MyForm.AddNewLabel(MyForm,'Label1','Test Label Caption'); || A new TclLabel is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|Width || Label1.Width = 150; ||Allows adjusting the width of the label.&lt;br /&gt;
|-&lt;br /&gt;
|Height || Label1.Height = 50; ||Allows adjusting the height of the label.&lt;br /&gt;
|-&lt;br /&gt;
|Align  || Label1.Align = alTop; ||With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the [[Object_Properties#Align | page]] to learn about these features.&lt;br /&gt;
|-&lt;br /&gt;
|Margins || Label1.Margins.Left = 50; // Right, Top, Bottom ||With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.&amp;lt;br&amp;gt;[[File:TclLabelMargins.png|frameless|200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|TextSettings || Label1.StyledSettings = ssFamily;&amp;lt;br&amp;gt;Label1.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c');&amp;lt;br&amp;gt;Label1.TextSettings.Font.Size = 20;&amp;lt;br&amp;gt;Label1.TextSettings.Font.Style = [fsItalic]; //[fsItalic,fsUnderline] || Text formatting is performed in the component. To see the usage, see [https://www.docs.clomosy.com/index.php/Object_Properties#Text_Settings page].&lt;br /&gt;
|-&lt;br /&gt;
|Text  || Label1.Text = 'Label's Text'; || It represents the text within the component. The text entered by the user or set by the program is managed through this property.&lt;br /&gt;
|-&lt;br /&gt;
|Caption ||Label1.Caption = 'Button Caption'; || It represents the text displayed on the component. The Caption specifies the textual label that the component presents to the user.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   MyForm:TclForm;&lt;br /&gt;
   testLabel : TclLabel;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   MyForm = TclForm.Create(Self);&lt;br /&gt;
   testLabel= MyForm.AddNewLabel(MyForm,'testLabel','Test Label Caption');&lt;br /&gt;
   testLabel.StyledSettings = ssFamily;&lt;br /&gt;
   testLabel.TextSettings.Font.Size=20;&lt;br /&gt;
   testLabel.Align = alCenter;&lt;br /&gt;
   testLabel.Margins.Left= 50;&lt;br /&gt;
   testLabel.Margins.Top= 10; &lt;br /&gt;
   testLabel.Height = 50;&lt;br /&gt;
   testLabel.Width = 150;&lt;br /&gt;
   &lt;br /&gt;
   MyForm.Run;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Label.png|frameless|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclLabel Using in Clomosy- Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=TclLabel creates text labels for UI, perfect for labeling components or displaying information like 'Username' or 'Password' near input fields.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Ask&amp;diff=3829</id>
		<title>Ask</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Ask&amp;diff=3829"/>
		<updated>2025-01-08T11:54:06Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Clomosy.Ask(var AskMessage:String): Boolean;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Ask&amp;quot; function is commonly used in Clomosy programming to display a dialog box where you can request user confirmation. You can use this function to ask a question or present options to the user.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By using &amp;quot;Clomosy.Ask,&amp;quot; you can input a specific question. If the &amp;quot;Yes&amp;quot; button is clicked, the function returns a value of true. Otherwise, it returns false, allowing you to perform the desired operations.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-danger&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Ask Method Supported Only For Windows. You can use [[AskAndCall | AskAndCall]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  if Clomosy.Ask('Do you like Clomosy?')&lt;br /&gt;
    ShowMessage('Yes');&lt;br /&gt;
  else&lt;br /&gt;
    ShowMessage('No');&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Input-Output_Functions | Input Output Functions]]&lt;br /&gt;
{{#seo:|title=Ask Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Clomosy.Ask shows a confirmation dialog, returning true if 'Yes' is clicked, otherwise false. For cross-platform use, switch to AskAndCall.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Code_Examples&amp;diff=3828</id>
		<title>Code Examples</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Code_Examples&amp;diff=3828"/>
		<updated>2025-01-08T11:49:45Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:|description=Practical, ready-to-use snippets to accelerate your mobile app development. Explore Code Examples in Clomosy Docs!}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=InputQuery&amp;diff=3827</id>
		<title>InputQuery</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=InputQuery&amp;diff=3827"/>
		<updated>2025-01-08T11:49:16Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function InputQuery(const Caption, Prompt: string; var UserValue: string):Boolean;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The InputQuery function displays a simple dialog with the Caption and Prompt message provided. Prompts the user to enter data in a text box in the dialog. If the user presses OK, the entered data is stored in the UserValue variable and the return value is True. If the user cancels the dialog, the return value is False and all entered data is lost.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Use to prompt the user for simple data such as name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-danger&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
It is used on Windows and iOS operating systems.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
 valueName : string;&lt;br /&gt;
{&lt;br /&gt;
 repeat&lt;br /&gt;
   if not InputQuery('Project', 'Please type your name', valueName)&lt;br /&gt;
    ShowMessage('User cancelled the dialog'); &lt;br /&gt;
 until valueName &amp;lt;&amp;gt; '';&lt;br /&gt;
&lt;br /&gt;
 ShowMessage('Hello '+valueName);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:InputQueryExample.png|frameless|400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Input-Output_Functions | Input Output Functions]]&lt;br /&gt;
{{#seo:|title=InputQuery Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the InputQuery function in Clomosy to display a dialog box for user input, storing the response in a variable for simple data collection.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=ClStrToLan&amp;diff=3825</id>
		<title>ClStrToLan</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=ClStrToLan&amp;diff=3825"/>
		<updated>2024-12-24T15:17:11Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function clStrToLan(const S:String):String;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clStrToLan function operates based on the language setting of the device where the application is being used. It processes by using the vertical bar '|' as a separator. The sentence on the left side of the separator is defined in English, while the one on the right side is defined in Turkish.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
 S : String;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
 S = clStrToLan('Ok|Tamam');&lt;br /&gt;
 ShowMessage(S);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the device's language is Turkish;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Tamam&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
If the device's language is English;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Ok&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Cl_Utilities_Functions | Cl Utilities Functions]]&lt;br /&gt;
{{#seo:|title=ClStrToLan Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how the clStrToLan function in Clomosy adapts text to the device's language settings, supporting English and Turkish localization.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=StrToDateTime&amp;diff=3824</id>
		<title>StrToDateTime</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=StrToDateTime&amp;diff=3824"/>
		<updated>2024-12-24T15:16:45Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function StrToDateTime(const S: string):TclDateTime;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The StrToDateTime function attempts to convert a date plus time as a string S into a TclDateTime value. The first, date part of the string must adhere to the format of the ShortDateFormat value, and use the DateSeparator character to separate the day, month and year values.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The second, time part, separated by a blank from the date must adhere to the format of the LongTimeFormat value, and use the TimeSeparator character to separate the hour, minute and second values.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The default format is day.month.year hour:minute:second, where :&lt;br /&gt;
 &lt;br /&gt;
:The day 	must be 1..31 (depending on month/year)&lt;br /&gt;
:The month 	must be 1..12&lt;br /&gt;
:The year 	must be 0..9999 (optional)&lt;br /&gt;
:The hour 	must be 0..23&lt;br /&gt;
:The minute 	must be 0..59 (optional)&lt;br /&gt;
:The second 	must be 0..59 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{#seo:|description=Learn how the StrToDateTime function converts date and time strings into TclDateTime format in Clomosy, with customizable formats and practical examples.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   myDateTime : TclDateTime;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
   myDateTime = StrToDateTime('23.02.75   12');&lt;br /&gt;
   ShowMessage('23.02.75   12      = '+DateTimeToStr(myDateTime));&lt;br /&gt;
 &lt;br /&gt;
   myDateTime = Now;&lt;br /&gt;
   ShowMessage('Now   = '+DateTimeToStr(myDateTime));&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
23.02.75   12      = 23.02.1975 12:00:00&amp;lt;br&amp;gt;&lt;br /&gt;
Now   = 28.02.2023 14:50:56&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Type_Conversion_Functions | Type Conversion Functions]]&lt;br /&gt;
{{#seo:|title=StrToDateTime Using in Clomosy - Clomosy Docs}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Chr&amp;diff=3823</id>
		<title>Chr</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Chr&amp;diff=3823"/>
		<updated>2024-12-24T15:16:23Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Chr(X: Byte) : Char;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns the character for a specified ASCII value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chr returns the character with the ordinal value (ASCII value) of the byte-type expression, X. The Byte parameter is an unsigned integer value large enough to represent a character. Word or UInt16 is also appropriate, because now that the string type is Unicode, a character is represented by two bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   tab  : char;&lt;br /&gt;
   crlf : string;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   // Show the use of Chr&lt;br /&gt;
   tab = Chr(124);&lt;br /&gt;
   crlf = Chr(13)+Chr(10);&lt;br /&gt;
   ShowMessage('Hello '+tab+' World');&lt;br /&gt;
   ShowMessage('Hello'+crlf+'World');&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Hello | World&amp;lt;br&amp;gt;&lt;br /&gt;
Hello&amp;lt;br&amp;gt;&lt;br /&gt;
World&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#String_Functions | String Functions]]&lt;br /&gt;
{{#seo:|title=Chr Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Explore the Chr function in Clomosy to convert ASCII values into characters, with examples demonstrating its use in string manipulation and formatting.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclEdit&amp;diff=3822</id>
		<title>TclEdit</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclEdit&amp;diff=3822"/>
		<updated>2024-12-24T15:15:59Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewEdit(AComponent: TCLComponent; xName, xPromptText: string): TclEdit;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The parent object of the defined component must be specified.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined TclEdit object must be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xPromptText&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : A hint or message to be displayed when the Text property is empty.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The TclEdit component is a text box used to allow users to enter or edit text on a form. When placed on the form, the TclEdit component creates an area where users can input the required information. For example, it can be used as a field for entering a username or password.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The features and usage are provided in the table below.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclEdit || Edit1 : TclEdit; || A variable belonging to the TclEdit class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewEdit ||Edit1 = Form1.AddNewEdit(Form1,'Edit1','Test Edit Message'); || A new Edit component is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|Width || Edit1.Width = 150; ||Allows adjusting the width of the edit component.&lt;br /&gt;
|-&lt;br /&gt;
|Height || Edit1.Height = 50; ||Allows adjusting the height of the edit component.&lt;br /&gt;
|-&lt;br /&gt;
|Align  || Edit1.Align = alTop; ||With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the [[Object_Properties#Align | page]] to learn about these features.&lt;br /&gt;
|-&lt;br /&gt;
|Margins || Edit1.Margins.Left= 100; // Right, Top, Bottom ||With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.&amp;lt;br&amp;gt;[[File:TclEditMargins.png|frameless|200px]]&lt;br /&gt;
|-&lt;br /&gt;
|StyledSettings  || Edit1.StyledSettings = ssFamily; || You may want to change the appearance of the text on the label. In order to make these changes, it is necessary to activate the feature.&lt;br /&gt;
|-&lt;br /&gt;
|Size ||Edit1.TextSettings.Font.Size = 20; || It is used to adjust the text size.&lt;br /&gt;
|-&lt;br /&gt;
|FontColor || Edit1.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c'); || It is used to set the text color.&lt;br /&gt;
|-&lt;br /&gt;
|HorzAlign || Edit1.TextSettings.HorzAlign = 1; || The property controls the horizontal alignment of text. The possible values for HorzAlign are:&amp;lt;br&amp;gt;&lt;br /&gt;
* 0: Aligns the text to the center.&lt;br /&gt;
* 1: Aligns the text to the left.&lt;br /&gt;
* 2: Aligns the text to the right.&lt;br /&gt;
|-&lt;br /&gt;
|VertAlign|| Edit1.TextSettings.VertAlign = 1; || The property controls the vertical alignment of text. The possible values for VertAlign are:&amp;lt;br&amp;gt;&lt;br /&gt;
* 0: Aligns the text to the center.&lt;br /&gt;
* 1: Aligns the text to the top.&lt;br /&gt;
* 2: Aligns the text to the bottom.&lt;br /&gt;
|-&lt;br /&gt;
|clTypeOfField || Edit1.clTypeOfField = taFloat; (taString) ||When you click Edit, you can type all the characters (such as numbers, symbols, letters) you want in a text. You can restrict the characters you can write in the text. You can do this with the &amp;quot;clTypeOfField&amp;quot; command. You can define this command as &amp;quot;taFloat - taString&amp;quot;.&lt;br /&gt;
taFloat; Only numbers and comma characters can be written. taString; All characters can be written. (numbers, symbols, letters)&lt;br /&gt;
|-&lt;br /&gt;
|ReadOnly ||Edit1.ReadOnly = True; || It can be used if you want to prevent writing on the edit component.&lt;br /&gt;
|-&lt;br /&gt;
|Password ||Edit1.Password = False; || It is used to hide the text entered by the user.&lt;br /&gt;
|-&lt;br /&gt;
| MaxLength ||Edit1.MaxLength = 5; || To allow the user to restrict the character input for an edit component, you can use the MaxLength property. In the example, only 5 characters can be entered into the component.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
MyForm:TclForm;&lt;br /&gt;
testEdit : TclEdit;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
MyForm = TclForm.Create(Self);&lt;br /&gt;
testEdit= MyForm.AddNewEdit(MyForm,'testEdit','Write something');&lt;br /&gt;
testEdit.TextSettings.Font.Size=70;&lt;br /&gt;
testEdit.Align = alTop;&lt;br /&gt;
testEdit.Margins.Top= 10; &lt;br /&gt;
testEdit.Height = 50;&lt;br /&gt;
testEdit.Width = 150;&lt;br /&gt;
&lt;br /&gt;
MyForm.Run;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Edit.png|frameless|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
{{#seo:|title=TclEdit in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Discover TclEdit in Clomosy for customizable text input fields with adjustable alignment, font, and input restrictions.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Sin&amp;diff=3821</id>
		<title>Sin</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Sin&amp;diff=3821"/>
		<updated>2024-12-24T15:15:29Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Sin(const X: Extended): Extended;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Sin function is a mathematical function giving the Sine value of a number value given radians.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 const&lt;br /&gt;
   PI = 3.14;&lt;br /&gt;
 &lt;br /&gt;
 var&lt;br /&gt;
   floatValue : float;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
   floatValue = Sin(PI/6);&lt;br /&gt;
   ShowMessage('Sin(PI/6) = '+FloatToStr(floatValue));&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Sin(PI/6) =  0,499770102643102&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
{{#seo:|title=Sin Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the Sin function in Clomosy to calculate the sine of a given angle in radians, with examples demonstrating its mathematical applications.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=GenerateRandom&amp;diff=3820</id>
		<title>GenerateRandom</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=GenerateRandom&amp;diff=3820"/>
		<updated>2024-12-24T15:15:07Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
clMath.GenerateRandom(value1,value2:Integer):Integer&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is a custom function used on the Clomosy platform. It is employed to generate a random number between two numerical values. The randomly generated number within the function is inclusive of the first parameter but exclusive of the last parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the example, when the program is executed, a random number between 10 and 20 will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  NumberOfPredictions : Integer;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  NumberOfPredictions = clMath.GenerateRandom(10,20);&lt;br /&gt;
  ShowMessage('The generated number: '+IntToStr(NumberOfPredictions));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
The generated number: 10&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[ClMath | ClMath]]&lt;br /&gt;
{{#seo:|title=GenerateRandom in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn to generate random numbers using the clMath.GenerateRandom function in Clomosy.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=AssignFile&amp;diff=3819</id>
		<title>AssignFile</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=AssignFile&amp;diff=3819"/>
		<updated>2024-12-24T15:14:30Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
procedure AssignFile(var FileHandle TextFile; const FileName string);&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is used to associate a file variable with a file name, enabling the program to interact with a specific file.&amp;lt;br&amp;gt;&lt;br /&gt;
The `AssignFile` function creates a file variable and associates it with the specified file name.&amp;lt;br&amp;gt;&lt;br /&gt;
The function takes two parameters: the first parameter is the variable corresponding to the created `TextFile` object, and the second parameter is the name of the file to be created.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In both cases, when the file is opened by Append, Reset or ReWrite, it is assumed to be in the current directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-warning&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
In the Clomosy Learn application, the file path should be specified as follows for saving files within the project directory.&amp;lt;br&amp;gt;&lt;br /&gt;
 AssignFile(FileHandle, &amp;lt;b&amp;gt;Clomosy.AppFilesPath&amp;lt;/b&amp;gt;+'TaskList.txt');&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  myFile : TextFile;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  // Try to open the Test.txt file for writing to&lt;br /&gt;
  AssignFile(myFile, Clomosy.AppFilesPath+'TaskList.txt');&lt;br /&gt;
  ReWrite(myFile);&lt;br /&gt;
  &lt;br /&gt;
  ShowMessage('The file is added to the directory where the exe is located.'); &lt;br /&gt;
  &lt;br /&gt;
  // Write a couple of well known words to this file&lt;br /&gt;
  WriteLn(myFile, 'Task 1');&lt;br /&gt;
  WriteLn(myFile, 'Task 2');&lt;br /&gt;
  ShowMessage('Lines have been added to the file.'); &lt;br /&gt;
  // Close the file&lt;br /&gt;
  CloseFile(myFile);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
After the file has been saved, it appears as follows.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AssignFileExample.png|frameless|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[File_Handling | File Handling]]&lt;br /&gt;
{{#seo:|title=AssignFile in Clomosy - Clomosy Docs}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Abs&amp;diff=3818</id>
		<title>Abs</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Abs&amp;diff=3818"/>
		<updated>2024-12-24T15:13:50Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Abs(X: Integer): Integer; overload;&amp;lt;br&amp;gt;&lt;br /&gt;
function Abs(X: Real): Real; overload;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns an absolute value.&amp;lt;br&amp;gt; &lt;br /&gt;
Abs returns the absolute value of the argument, X.&amp;lt;br&amp;gt;&lt;br /&gt;
X is an integer-type or real-type expression.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
 i : Integer;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
 i = -1235;&lt;br /&gt;
 ShowMessage('Before: '+ IntToStr(i));&lt;br /&gt;
 //The absolute value of i is taken and put back to i.&lt;br /&gt;
 i = Abs(i);&lt;br /&gt;
 ShowMessage('After: '+IntToStr(i));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Before: -1235&amp;lt;br&amp;gt;&lt;br /&gt;
After: 1235&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
{{#seo:|title=Abs Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the Abs function in Clomosy to find the absolute value of integers and real numbers, with examples and practical usage tips.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclProPanel&amp;diff=3817</id>
		<title>TclProPanel</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclProPanel&amp;diff=3817"/>
		<updated>2024-12-24T15:13:23Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewProPanel(AComponent: TCLComponent; xName: string): TclProPanel;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; :  Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined panel should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to group and manage other components within a specific area on the form, TclProPanel allows developers to allocate a distinct section in the user interface where other components (such as buttons, text boxes, labels, etc.) can be placed. This makes it easier to control the layout and appearance of components on the form.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-info&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Refer to the [[TclPanel]] page for standard panel usage.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclProPanel || ProPanel1 : TclProPanel; || A variable belonging to the TclPanel class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewProPanel ||ProPanel1 = Form1.AddNewProPanel(Form1,'ProPanel1'); || A new TclProPanel is added to the form.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to the features of a standard panel, TclProPanel offers new and advanced features, which we will explain in detail below.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;col-lg-6&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;div  class=&amp;quot;card d-flex flex-column justify-content-start gap-1 mb-3 h-100&amp;quot; style=&amp;quot;padding: 3;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div style=&amp;quot;font-size: 16px;font-weight: bold;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
				  clProSettings Properties&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div style=&amp;quot;font-size: 14px;font-weight: normal;text-align:justify; max-width: 350px;&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;BorderColor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BorderWidth&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BackgroundColor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IsTransparent&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IsFill&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IsRound&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RoundHeight&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RoundWidth&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;col-lg-6&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div  class=&amp;quot;card d-flex flex-column justify-content-start gap-1 mb-3 h-100&amp;quot; style=&amp;quot;padding: 3;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-size: 16px;font-weight: bold;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
		SetupComponent Properties&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-size: 14px;font-weight: normal;text-align:justify; max-width: 350px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Width&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Height&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;PositionX&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;PositionY&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Align&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BackgroundColor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MarginTop&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MarginBottom&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MarginRight&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MarginLeft&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RoundHeight&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RoundWidth&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BorderColor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BorderWidth&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-warning&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
To learn the purpose and usage of the &amp;lt;b&amp;gt;SetupComponent&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;clProSettings&amp;lt;/b&amp;gt; properties, please refer to [[Pro Object Properties| the page]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For clProSettings:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Var  &lt;br /&gt;
  Form1:TclForm;&lt;br /&gt;
  ProPanel1 : TclProPanel;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  Form1=TclForm.Create(self);&lt;br /&gt;
  ProPanel1=Form1.AddNewProPanel(Form1,'ProPanel1');&lt;br /&gt;
  ProPanel1.Align = alCenter;&lt;br /&gt;
  ProPanel1.Width = 200;&lt;br /&gt;
  ProPanel1.Height = 280;&lt;br /&gt;
  ProPanel1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#fabd2');&lt;br /&gt;
  ProPanel1.clProSettings.RoundHeight = 10;&lt;br /&gt;
  ProPanel1.clProSettings.RoundWidth = 10;&lt;br /&gt;
  ProPanel1.clProSettings.BorderWidth = 2;&lt;br /&gt;
  ProPanel1.clProSettings.IsFill = True; &lt;br /&gt;
  ProPanel1.clProSettings.IsRound = True;&lt;br /&gt;
  ProPanel1.SetclProSettings(ProPanel1.clProSettings);&lt;br /&gt;
  &lt;br /&gt;
  Form1.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For SetupComponent:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Var  &lt;br /&gt;
  Form1:TclForm;&lt;br /&gt;
  ProPanel1 : TclProPanel;&lt;br /&gt;
{&lt;br /&gt;
  Form1=TclForm.Create(self);&lt;br /&gt;
  ProPanel1=Form1.AddNewProPanel(Form1,'ProPanel1');&lt;br /&gt;
  &lt;br /&gt;
  clComponent.SetupComponent(ProPanel1,'{&lt;br /&gt;
  &amp;quot;Align&amp;quot; : &amp;quot;Center&amp;quot;,&lt;br /&gt;
  &amp;quot;Width&amp;quot;:200,&lt;br /&gt;
  &amp;quot;Height&amp;quot;:280,&lt;br /&gt;
  &amp;quot;BorderWidth&amp;quot;:2,&lt;br /&gt;
  &amp;quot;BorderColor&amp;quot;:&amp;quot;#fabd2&amp;quot;,&lt;br /&gt;
  &amp;quot;RoundHeight&amp;quot;:10,&lt;br /&gt;
  &amp;quot;RoundWidth&amp;quot;:10	&lt;br /&gt;
}');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Pro Object Properties]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
{{#seo:|title=TclProPanel Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Discover TclProPanel in Clomosy for advanced UI grouping, customization, and flexible layouts.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclGameForm&amp;diff=3816</id>
		<title>TclGameForm</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclGameForm&amp;diff=3816"/>
		<updated>2024-12-24T15:12:39Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TclGameForm is a customized game form. Unlike the TclForm class, it has the following features:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Animation&lt;br /&gt;
* Sound effects&lt;br /&gt;
&lt;br /&gt;
Before using these features, the form must be initialized.&amp;lt;br&amp;gt;&lt;br /&gt;
An object of the TclGameForm class should be defined.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  GameForm1:TclGameForm;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The defined object must be created using the &amp;quot;Create&amp;quot; function.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  GameForm1 = TCLGameForm.Create(Self);&lt;br /&gt;
  GameForm1.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-warning rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;NOTE : AddGameAssetFromUrl&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt; It is a function used to download an asset from a URL and include it in your application. This function is used to download a file (for example, an image or a sound file(.wav)) from the internet and save it to the file system of the project being used.&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-warning&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: To check if the image has been saved to the file, you can write Clomosy.AppFilesPath in the project to learn the file path extension. (Check the file on Windows.)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Use of:&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GameForm1.AddGameAssetFromUrl('https://www.clomosy.com/game/assets/Tank.png');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After adding the images, these images can be transferred to a component (TclProImage, TclImage). The transfer method is as follows:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Image1.clSetImage('Tank.png'); //Image1:TclIamge&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; Animation &amp;lt;/h2&amp;gt;&lt;br /&gt;
It is an effect created by displaying animated images and stationary objects as if they were moving. Essentially, a motion effect is created by quickly displaying a series of image or object frames.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;NOTE:&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can find the details of advanced animation features [[TclBitmapListAnimation|here]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The features and usage are provided in the table below.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition&lt;br /&gt;
|-&lt;br /&gt;
|AnimationWidth ||GameForm1.AnimationWidth = 75; || The width of the animation is adjusted.&lt;br /&gt;
|-&lt;br /&gt;
|AnimationHeight ||GameForm1.AnimationHeight = 75; || The height of the animation is adjusted.&lt;br /&gt;
|-&lt;br /&gt;
|AnimationCount ||GameForm1.clAnimateBitmap.AnimationCount = 9; || The number of animations is specified by the number of parts into which the visual is divided.&lt;br /&gt;
|-&lt;br /&gt;
|AnimationRowCount ||GameForm1.clAnimateBitmap.AnimationRowCount = 3; || The number of animation rows is specified by the number of rows into which the visual is divided.&lt;br /&gt;
|-&lt;br /&gt;
|Delay ||GameForm1.clAnimateBitmap.Delay = 10; || The transition time between visuals is specified.&lt;br /&gt;
|-&lt;br /&gt;
|Duration ||GameForm1.clAnimateBitmap.Duration = 2; || The animation duration is adjusted.&lt;br /&gt;
|-&lt;br /&gt;
|clAnimation ||GameForm1.clAnimation(Random() * MyGameForm.clWidth, Random() * MyGameForm.clHeight, 20, 'Explosion.png'); || It is used to activate the animation on the screen. This property takes 4 parameters. The 1st parameter specifies the x position, the 2nd parameter specifies the y position, the 3rd parameter specifies the rotation angle, and the 4th parameter represents the animation image.&amp;lt;br&amp;gt;&lt;br /&gt;
In the example, Random() is used to determine a random position.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var &lt;br /&gt;
   MyGameForm:TclGameForm;&lt;br /&gt;
   BtnRandomFire:TclButton;&lt;br /&gt;
 &lt;br /&gt;
   void BtnRandomFireClick;&lt;br /&gt;
   var &lt;br /&gt;
     i:Integer;&lt;br /&gt;
   {&lt;br /&gt;
     MyGameForm.AnimationWidth = 75; &lt;br /&gt;
     MyGameForm.AnimationHeight = 75;&lt;br /&gt;
     MyGameForm.clAnimateBitmap.AnimationCount =9;&lt;br /&gt;
     MyGameForm.clAnimateBitmap.AnimationRowCount=3;&lt;br /&gt;
     MyGameForm.clAnimateBitmap.Delay = 10; &lt;br /&gt;
     MyGameForm.clAnimateBitmap.Duration = 2;&lt;br /&gt;
     For (i = 0 to 5)&lt;br /&gt;
     {&lt;br /&gt;
       MyGameForm.clAnimateBitmap.Delay = Random()*10;&lt;br /&gt;
       MyGameForm.clAnimation(Random() * MyGameForm.clWidth, Random() * MyGameForm.clHeight, 20, 'Explosion.png');            &lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   MyGameForm = TclGameForm.Create(Self);&lt;br /&gt;
   MyGameForm.AddGameAssetFromUrl('https://www.clomosy.com/game/assets/Explosion.png');&lt;br /&gt;
  &lt;br /&gt;
   BtnRandomFire= MyGameForm.AddNewButton(MyGameForm,'BtnRandomFire','RANDOM FIRE');&lt;br /&gt;
   MyGameForm.AddNewEvent(BtnRandomFire,tbeOnClick,'BtnRandomFireClick');&lt;br /&gt;
   BtnRandomFire.Align = alBottom;&lt;br /&gt;
 &lt;br /&gt;
   MyGameForm.Run;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; Sound Effects &amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is used when you want to trigger an event, alert messages, or anywhere you want to use sound in your applications.&amp;lt;br&amp;gt;&lt;br /&gt;
To use the desired sound, it must be included in the project.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The features and usage are provided in the table below.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition&lt;br /&gt;
|-&lt;br /&gt;
|RegisterSound ||SoundFile = GameForm1.RegisterSound('https://www.clomosy.com/game/assets/Fire.wav'); //soundFile:Integer;|| The audio file obtained from the URL should be saved to a variable.&lt;br /&gt;
|-&lt;br /&gt;
|SoundIsActive || GameForm1.SoundIsActive = True; || It is used to activate the sound effect.&lt;br /&gt;
|-&lt;br /&gt;
|PlayGameSound || GameForm1.PlayGameSound(SoundFile); || The sound activated on the application is made available for use.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  soundForm:TclGameForm;&lt;br /&gt;
  btnSound:TclButton;&lt;br /&gt;
  soundFile:Integer;&lt;br /&gt;
&lt;br /&gt;
void BtnSoundOnClick;&lt;br /&gt;
{&lt;br /&gt;
  soundForm.PlayGameSound(soundFile);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  soundForm = TclGameForm.Create(Self);&lt;br /&gt;
  soundForm.AddGameAssetFromUrl('https://www.clomosy.com/game/assets/Fire.wav');&lt;br /&gt;
&lt;br /&gt;
  soundFile = soundForm.RegisterSound('Fire.wav');&lt;br /&gt;
  soundForm.SoundIsActive=True;&lt;br /&gt;
&lt;br /&gt;
  btnSound= soundForm.AddNewButton(soundForm,'btnSound','PLAY SOUND');&lt;br /&gt;
  soundForm.AddNewEvent(btnSound,tbeOnClick,'BtnSoundOnClick');&lt;br /&gt;
  btnSound.Align = alBottom;&lt;br /&gt;
  soundForm.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Virtual Keyboard]]&lt;br /&gt;
* [[TclForm]]&lt;br /&gt;
{{#seo:|title=TclGameForm in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Explore TclGameForm in Clomosy for creating interactive game forms with animations, sound effects, and asset management for enhanced gaming experiences.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclPageControl&amp;diff=3815</id>
		<title>TclPageControl</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclPageControl&amp;diff=3815"/>
		<updated>2024-12-24T15:11:46Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewPageControl(AComponent: TCLComponent; xName: string): TclPageControl;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt; AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt; xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined page control should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TclPageControl is a set of pages used to create a multi-page dialog box. It allows users to switch between multiple pages.&lt;br /&gt;
&lt;br /&gt;
For example, it is used to create a multi-page dialog box or a tabbed notebook. TclPageControl displays multiple overlapping pages. The user selects a page by clicking on the page tab that appears at the top of the control.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-warning rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;Notice:&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To add a new page to a TclPageControl object at design time, pages are created with &amp;lt;b&amp;gt;TClPageControlContainer&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the TCLPageControl object is created, it automatically assigns a default page. It adds as many pages as are created with the TClPageControlContainer object.&amp;lt;br&amp;gt;&lt;br /&gt;
In the example below, we created 3 pages, but since there is a default page, it will appear as 4 pages.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclPageControl || PageControl1:TCLPageControl; || A variable belonging to the TclPageControl class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewPageControl || PageControl1= MyForm.AddNewPageControl(MyForm,'PageControl1'); || A new TclPageControl component is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|TClPageControlContainer ||PageControlContainer1 : TClPageControlContainer; || To create a new page, an object must be defined.&lt;br /&gt;
|-&lt;br /&gt;
|AddContainer ||PageControlContainer1 = PageControl1.AddContainer; || A new page is created through the defined object belonging to the TClPageControlContainer class.&lt;br /&gt;
|-&lt;br /&gt;
|ActivePage || PageControl1.ActivePage.Text = 'ACTİVE PAGE'; || TCLPageControl object represents the page that comes active when created. It is used by accessing different properties such as the text property as shown in the example.&lt;br /&gt;
|-&lt;br /&gt;
|Pages || PageControl1.Pages[1].Text = 'Registration page'; || The TclPageControl object represents a collection containing all the pages created on it. This property is used to access a specific page or perform a certain operation on a page. In the example, the text of the second page is being changed.&lt;br /&gt;
|-&lt;br /&gt;
|Mode ||PageControl1.Tabsize.Mode = tsmAutoTabSize;//tsmAutoSize - tsmFixedSize - tsmFixedSizeAutoShrink - tsmAutoTabSize (default) || The property controls how the size of the tabs will be determined. Here are the possible values and their descriptions:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;b&amp;gt;tsmAutoSize&amp;lt;/b&amp;gt;: Tabs are automatically resized equally.&lt;br /&gt;
:&amp;lt;b&amp;gt;tsmFixedSize&amp;lt;/b&amp;gt;: The size of tabs is fixed, all tabs are of the same size. Left and right arrow buttons are provided for navigation between pages.&lt;br /&gt;
:&amp;lt;b&amp;gt;tsmFixedSizeAutoShrink&amp;lt;/b&amp;gt;: Tabs are automatically resized equally.&lt;br /&gt;
:&amp;lt;b&amp;gt;tsmAutoTabSize (default)&amp;lt;/b&amp;gt;: The size of tabs is adjusted according to the text inside them. This mode considers the length of the text to determine the width of the tabs. Left and right arrow buttons are provided for navigation between pages.&lt;br /&gt;
|-&lt;br /&gt;
|Height ||PageControl1.Tabsize.Height = 200; || Sets the height of the component's tabs.&lt;br /&gt;
|-&lt;br /&gt;
|Width ||PageControl1.Tabsize.Width = 200; || Sets the width of the component's tabs.&lt;br /&gt;
|-&lt;br /&gt;
|spacing ||PageControl1.Tabsize.spacing = 2; || Sets the spacing between the tabs of the component.&lt;br /&gt;
|-&lt;br /&gt;
|Position ||PageControl1.Layout.Position = 3; //0:Left,1:Top,2:bottom,3:Right ||Displays the tabs at the left, top, right or bottom position. In the example, the tabs are set to appear on the right. &lt;br /&gt;
|-&lt;br /&gt;
|Multiline ||PageControl1.Layout.Multiline = 2;//0:None,1:Unabled,2:UnabledActiveTab ||Displays the tabs on multiple lines instead of a single scrollable line.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example 1&amp;lt;/h2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   Form1:TCLForm;&lt;br /&gt;
   clPageControl:TCLPageControl;&lt;br /&gt;
   clPageControlContainer:TClPageControlContainer;&lt;br /&gt;
 {&lt;br /&gt;
   Form1 = TCLForm.Create(Self);&lt;br /&gt;
   &lt;br /&gt;
   clPageControl = Form1.AddNewPageControl(Form1,'clPageControl');&lt;br /&gt;
   clPageControl.Align = alClient;&lt;br /&gt;
   &lt;br /&gt;
   clPageControlContainer = clPageControl.AddContainer; // Creates a new page using clPageControl.&lt;br /&gt;
   clPageControlContainer = clPageControl.AddContainer;&lt;br /&gt;
   clPageControlContainer = clPageControl.AddContainer;&lt;br /&gt;
   &lt;br /&gt;
   Form1.Run;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:TclPageControl.png|frameless|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example 2&amp;lt;/h2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   MyForm:TCLForm;&lt;br /&gt;
   clPageControl:TCLPageControl;&lt;br /&gt;
   clPageControlContainer:TClPageControlContainer;&lt;br /&gt;
   lblPage1,lblPage2,lblPage3,lblPage4 : TClProLabel;&lt;br /&gt;
 {&lt;br /&gt;
   MyForm = TCLForm.Create(Self);&lt;br /&gt;
   clPageControl = MyForm.AddNewPageControl(MyForm,'clPageControl');&lt;br /&gt;
   clPageControl.Align = alClient;&lt;br /&gt;
   clPageControl.Layout.Position = 1; &lt;br /&gt;
   &lt;br /&gt;
   clPageControlContainer = clPageControl.AddContainer;&lt;br /&gt;
   clPageControlContainer = clPageControl.AddContainer;&lt;br /&gt;
   clPageControlContainer = clPageControl.AddContainer;&lt;br /&gt;
   clPageControl.TabSize.Margins.Top = 2;&lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
   clPageControl.ActivePage.Text = 'ACTİVE PAGE';&lt;br /&gt;
   &lt;br /&gt;
   clPageControl.Pages[1].Text = 'Login Page';&lt;br /&gt;
   clPageControl.Pages[2].Text = 'Profile page';&lt;br /&gt;
   clPageControl.Pages[3].Text = 'Settings page';&lt;br /&gt;
   &lt;br /&gt;
   clPageControl.Tabsize.Mode = tsmAutoTabSize;&lt;br /&gt;
   clPageControl.Tabsize.spacing = 2;&lt;br /&gt;
   &lt;br /&gt;
   lblPage1 = MyForm.AddNewProLabel(clPageControl.PageContainers[0],'lblPage1','ACTİVE PAGE'); &lt;br /&gt;
   lblPage1.Align = alCenter;&lt;br /&gt;
   lblPage1.Height = 100;&lt;br /&gt;
   lblPage1.Width = 150;&lt;br /&gt;
   &lt;br /&gt;
   lblPage2 = MyForm.AddNewProLabel(clPageControl.PageContainers[1],'lblPage2','Login Page'); &lt;br /&gt;
   lblPage2.Align = alCenter;&lt;br /&gt;
   lblPage2.Height = 100;&lt;br /&gt;
   lblPage2.Width = 150;&lt;br /&gt;
   &lt;br /&gt;
   lblPage3 = MyForm.AddNewProLabel(clPageControl.PageContainers[2],'lblPage3','Profile page'); &lt;br /&gt;
   lblPage3.Align = alCenter;&lt;br /&gt;
   lblPage3.Height = 100;&lt;br /&gt;
   lblPage3.Width = 150;&lt;br /&gt;
   &lt;br /&gt;
   lblPage4 = MyForm.AddNewProLabel(clPageControl.PageContainers[3],'lblPage4','Settings page'); &lt;br /&gt;
   lblPage4.Align = alCenter;&lt;br /&gt;
   lblPage4.Height = 100;&lt;br /&gt;
   lblPage4.Width = 150;&lt;br /&gt;
   &lt;br /&gt;
   MyForm.Run;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:TclPageControlExampleScreen.png|frameless|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclPageControl in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Explore TclPageControl in Clomosy to create multi-page dialog boxes with customizable tabs, layouts, and advanced features for user-friendly navigation.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclImage&amp;diff=3814</id>
		<title>TclImage</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclImage&amp;diff=3814"/>
		<updated>2024-12-24T15:10:53Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewImage(AComponent: TCLComponent; xName: string): TclImage;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined image should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TclImage is used to add an image to a form. Adding visuals to an application makes it more attractive and user-friendly. For example, it can be used to display an application's logo or an explanatory graphic.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclImage || Image1 : TclImage; || A variable belonging to the TclImage class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewImage ||Image1 = Form1.AddNewImage(Form1,'Image1'); || A new Image is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|setImage ||Form1.setImage(Image1,'https://clomosy.com/demos/bg.png'); ||It is used if you want to add an image to the Image object.&lt;br /&gt;
|-&lt;br /&gt;
|Clear ||Image1.MultiResBitmap.Clear; ||The Clear method clears images at all resolution levels within a MultiResBitmap property. So, when this method is called, all the images in the MultiResBitmap are deleted and rendered to an empty state.&lt;br /&gt;
|-&lt;br /&gt;
|Width || Image1.Width = 150; ||Allows adjusting the width of the image.&lt;br /&gt;
|-&lt;br /&gt;
|Height || Image1.Height = 50; ||Allows adjusting the height of the image.&lt;br /&gt;
|-&lt;br /&gt;
|Align  ||Image1.Align = alTop; ||With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the [[Object_Properties#Align | page]] to learn about these features.&lt;br /&gt;
|-&lt;br /&gt;
|Margins ||Image1.Margins.Left = 50; // Right, Top, Bottom ||With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.&amp;lt;br&amp;gt;[[File:TclImageMargins.png|frameless|200px]]&lt;br /&gt;
|-&lt;br /&gt;
| LoadFromFile ||Image1.Bitmap.LoadFromFile('C:\Users\Administrator\Desktop\logo.png') || The LoadFromFile method in Clomosy is used to load an image file and transfer it to a bitmap object. In the example, the expression Image1.Bitmap.LoadFromFile loads an image from a file path into the Bitmap property of a component named Image1.&lt;br /&gt;
|-&lt;br /&gt;
|SaveToStream || Image1.Bitmap.SaveToStream(FileStream); //FileStream:TCLFileStream;  || Bitmap image (TclImage) transfer to TCLFileStream. See the [[TclFileStream | page]] to learn about these features.&lt;br /&gt;
|-&lt;br /&gt;
|LoadFromStream || Image1.Bitmap.LoadFromStream(FileStream); //FileStream:TCLFileStream; || Transferring TCLFileStream data to bitmap image (TclImage). See the [[TclFileStream | page]] to learn about these features.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example 1 &amp;lt;/h2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
 MyForm:TclForm;&lt;br /&gt;
 testImg : TclImage;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
 MyForm = TclForm.Create(Self);&lt;br /&gt;
 testImg= MyForm.AddNewImage(MyForm,'testImg');&lt;br /&gt;
 testImg.Align = alCenter;&lt;br /&gt;
 testImg.Height = 250;&lt;br /&gt;
 testImg.Width = 300;&lt;br /&gt;
&lt;br /&gt;
 MyForm.setImage(testImg,'https://clomosy.com/demos/bg.png');&lt;br /&gt;
 MyForm.AddNewEvent(testImg,tbeOnClick,'ShowMessage(''Picture clicked.'');');&lt;br /&gt;
 MyForm.Run;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Image.png|frameless|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example 2 (LoadFromFile):&amp;lt;/h2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the example, a TclForm form is created and an image is downloaded from the internet to display on this form. First, a new TclForm instance named Form1 is created. The Form1.AddAssetFromUrl method is used to download an image from the specified URL to the project’s file directory. Then, a new TclImage instance is added to the form and configured to cover the entire form. The path of the downloaded image file is obtained using Clomosy.AppFilesPath and the Image1.Bitmap.LoadFromFile method is used to load the image.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  Form1: TclForm;&lt;br /&gt;
  Image1: TclImage;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  Form1 = TclForm.Create(self);&lt;br /&gt;
  Form1.AddAssetFromUrl('https://clomosy.com/educa/bg2.png');&lt;br /&gt;
  try&lt;br /&gt;
    Image1 = Form1.AddNewImage(Form1,'Image1');&lt;br /&gt;
    Image1.Align = alClient;&lt;br /&gt;
    Image1.Bitmap.LoadFromFile(Clomosy.AppFilesPath+'bg2.png'); // Load image from file&lt;br /&gt;
    Form1.Run;&lt;br /&gt;
  except&lt;br /&gt;
    ShowMessage('An error was encountered while uploading the file.');&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example 3 (Save image to file):&amp;lt;/h2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The example creates a form (TclForm) and an image component (TclImage) and implements a function to load an image from a specific URL and save it to a file. First, Form1 and Image1 objects are created, and the image component is added to the form. The Image1 component is updated with a background image from the specified URL (https://clomosy.com/educa/bg2.png). The SaveFile procedure uses TCLMemoryStream to save the bitmap of Image1 to a memory stream and writes this data to a file (newImgBG.png) in Base64 format. The SaveFile procedure is linked to the click event of Image1, so when the form is run and the user clicks the image, the image is saved to the file. If any errors occur, an error message is displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  Form1: TclForm;&lt;br /&gt;
  Image1: TclImage;&lt;br /&gt;
  MemStream: TCLMemoryStream;&lt;br /&gt;
&lt;br /&gt;
void SaveFile;&lt;br /&gt;
{&lt;br /&gt;
  try&lt;br /&gt;
    MemStream = TCLMemoryStream.Create;&lt;br /&gt;
    Image1.Bitmap.SaveToStream(MemStream);&lt;br /&gt;
    // Save image to file&lt;br /&gt;
    Clomosy.Base64ToFile(clPathCombine('newImgBG.png',Clomosy.AppFilesPath),MemStream.AsBase64);&lt;br /&gt;
  except&lt;br /&gt;
    ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
{&lt;br /&gt;
  Form1 = TclForm.Create(self);&lt;br /&gt;
  &lt;br /&gt;
  Image1 = Form1.AddNewImage(Form1,'Image1');&lt;br /&gt;
  Image1.Align = alClient;&lt;br /&gt;
  Form1.SetImage(Image1,'https://clomosy.com/educa/bg2.png');&lt;br /&gt;
  Form1.AddNewEvent(Image1,tbeOnClick,'SaveFile');&lt;br /&gt;
  &lt;br /&gt;
  Form1.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclImage Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use TclImage in Clomosy to add and manage images with features like alignment, margins, loading, and saving, enhancing application visuals.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Div&amp;diff=3813</id>
		<title>Div</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Div&amp;diff=3813"/>
		<updated>2024-12-24T15:10:28Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
keyword Div&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Div keyword gives the whole number result of dividing the Dividend by the Divisor. Any remainder is discarded.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
   intValue : Integer;&lt;br /&gt;
 &lt;br /&gt;
{&lt;br /&gt;
   // Divide a primary integer by 2 - it discards the remainder&lt;br /&gt;
   intValue = 27 Div 2;&lt;br /&gt;
 &lt;br /&gt;
   ShowMessage('27 div 2 = '+IntToStr(intValue));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
27 div 2 = 13&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
&lt;br /&gt;
{{#seo:|title=Div Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the Div keyword in Clomosy to perform integer division, discarding remainders for precise whole-number results.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Ln&amp;diff=3812</id>
		<title>Ln</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Ln&amp;diff=3812"/>
		<updated>2024-12-24T15:10:02Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Ln(const X: Extended): Extended;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Ln function takes an integer or floating point Number and gives the natural logarithm of that number. This is only used for mathematical processing.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ln has the opposite effect to Exp - the exponent of a number.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
    float,number : float;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
   number = 2.14;&lt;br /&gt;
   float = Ln(number);&lt;br /&gt;
   ShowMessage('Ln('+FloatToStr(number)+') = '+FloatToStr(float));&lt;br /&gt;
 &lt;br /&gt;
   float = Exp(float);&lt;br /&gt;
   ShowMessage('Exp(Ln('+FloatToStr(float)+')) = '+FloatToStr(float));&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Ln(2,14) = 0,76080582903376&amp;lt;br&amp;gt;&lt;br /&gt;
Exp(Ln(2,14)) = 2,14&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
{{#seo:|title=Ln Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the Ln function in Clomosy for calculating the natural logarithm of a number, essential for advanced mathematical processing.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=QuotedStr&amp;diff=3811</id>
		<title>QuotedStr</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=QuotedStr&amp;diff=3811"/>
		<updated>2024-12-24T15:09:39Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function QuotedStr(const S: string): string;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
It encloses a string in single quotes (') and escapes any existing single quotes within the string by doubling them. This is particularly useful when a string is to be used as a constant in an SQL query or another language, ensuring that the string is safely quoted.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* QuotedStr takes a string and surrounds it with single quotes.&lt;br /&gt;
* If the string already contains single quotes, they are doubled, making it a valid constant in languages like SQL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  originalStr, quotedStr: string;&lt;br /&gt;
{&lt;br /&gt;
  originalStr = 'O''Reilly';  // O'Reilly is a common example with an apostrophe&lt;br /&gt;
  quotedStr = QuotedStr(originalStr);&lt;br /&gt;
  ShowMessage(quotedStr); // Output: 'O''Reilly'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;'O''Reilly'&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; Usage in SQL Structure &amp;lt;/h2&amp;gt;&lt;br /&gt;
It is also used in cases where string expressions need to be added while writing sql code blocks in Clomosy application. An example code snippet is shown below.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LocalQ = Clomosy.DBSQLServerQueryWith(' SELECT '+ QuotedStr('Product Name: ') +'+productName  AS MAINVIEW_TEXT ,'+ QuotedStr('Product Price: ') +'+ CAST(CAST(productPrice AS int)AS varchar(10)) AS MAINVİEW_CENTERTEXT FROM Products ');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#String_Functions | String Functions]]&lt;br /&gt;
{{#seo:|title=QuotedStr Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the QuotedStr function in Clomosy to securely format strings for SQL queries and other applications.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=AppPlatform&amp;diff=3810</id>
		<title>AppPlatform</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=AppPlatform&amp;diff=3810"/>
		<updated>2024-12-24T15:09:10Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Clomosy.AppPlatform :Integer;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The platform on which the project is opened is returned. A return value of 0 indicates Windows, 1 indicates MacOS, 2 indicates iOS, 3 indicates Android, 4 indicates WinRT, and 5 indicates Linux.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  platformStatus : Integer;&lt;br /&gt;
{&lt;br /&gt;
  platformStatus = Clomosy.AppPlatform;&lt;br /&gt;
  case platformStatus of&lt;br /&gt;
  {&lt;br /&gt;
    0 : ShowMessage('Windows');&lt;br /&gt;
    1 : ShowMessage('MacOS');&lt;br /&gt;
    2 : ShowMessage('IOS');&lt;br /&gt;
    3 : ShowMessage('Android');&lt;br /&gt;
    4 : ShowMessage('WinRT');&lt;br /&gt;
    5 : ShowMessage('Linux');&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Clomosy_Class#System_Function | System Functions]]&lt;br /&gt;
{{#seo:|title=AppPlatform in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn to use the Clomosy.AppPlatform function to identify the platform your project runs on, with predefined values for different operating systems.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=RunUnit&amp;diff=3809</id>
		<title>RunUnit</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=RunUnit&amp;diff=3809"/>
		<updated>2024-12-24T15:08:46Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
Clomosy.RunUnit(unitName: String);&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is a method used to run or redirect to a specific unit. This allows for the dynamic loading and utilization of units.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its purpose is to activate the functionality of a specific unit and to interact with that unit. By running the unit, the code, functions, and procedures within it become accessible.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is typically called in response to user interactions or specific events to open or execute units. For example, a unit can be run when a user clicks a button.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-warning&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
If you are new to using the RunUnit feature, try the application shown in Example 1.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example 1&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-danger&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
In this example, it is necessary to create a new unit when using the RunUnit feature. Before using the example code, a unit named &amp;quot;uLogin&amp;quot; should be created in your application. Otherwise, an error will occur.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Main Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Clomosy.RunUnit('uLogin');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uLogin:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ShowMessage('Hello, you have been redirected from the main code to the uLogin unit.');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example 2&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the example above, the &amp;quot;uLogin&amp;quot; unit was created. In this example, components have been added to both the &amp;quot;Main Code&amp;quot; and &amp;quot;uLogin&amp;quot; pages. Here, when a button in the &amp;quot;Main Code&amp;quot; is pressed, it navigates to the &amp;quot;uLogin&amp;quot; unit, and when the page within this unit is clicked, it returns to the &amp;quot;Main Code&amp;quot; page.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Main Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  Form1:TCLForm;&lt;br /&gt;
  buton1 : TclButton;&lt;br /&gt;
void goToLogin;&lt;br /&gt;
{&lt;br /&gt;
  Clomosy.RunUnit('uLogin');&lt;br /&gt;
}&lt;br /&gt;
{&lt;br /&gt;
  Form1 = TCLForm.Create(Self);&lt;br /&gt;
  &lt;br /&gt;
  buton1 = Form1.AddNewButton(Form1,'buton1','Go to uLogin');&lt;br /&gt;
  buton1.Width = 150;&lt;br /&gt;
  Form1.AddNewEvent(buton1,tbeOnClick,'goToLogin');&lt;br /&gt;
  &lt;br /&gt;
  Form1.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uLogin:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  formLogin:TCLForm;&lt;br /&gt;
  btnLogin : TclButton;&lt;br /&gt;
void goToMainCode;&lt;br /&gt;
{&lt;br /&gt;
  formLogin.clHide;&lt;br /&gt;
}&lt;br /&gt;
{&lt;br /&gt;
  formLogin = TCLForm.Create(Self);&lt;br /&gt;
  &lt;br /&gt;
  btnLogin = formLogin.AddNewButton(formLogin,'btnLogin','Go to Main Code');&lt;br /&gt;
  btnLogin.Width = 150;&lt;br /&gt;
  formLogin.AddNewEvent(btnLogin,tbeOnClick,'goToMainCode');&lt;br /&gt;
  &lt;br /&gt;
  formLogin.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Units | Units ]]&lt;br /&gt;
* [[TclUnit | TclUnit]]&lt;br /&gt;
{{#seo:|title=RunUnit in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the Clomosy.Run Unit method to dynamically load and execute specific units in your application, enabling seamles navigation.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=ClSenderKey&amp;diff=3808</id>
		<title>ClSenderKey</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=ClSenderKey&amp;diff=3808"/>
		<updated>2024-12-24T15:08:20Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
Form1.clSenderKey: Integer;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clSenderKey feature captures the codes of keys on the keyboard that have special functions, excluding standard character keys (a-z, 0-9, etc.), and performs specific actions based on them.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These types of keys are generally referred to as &amp;quot;control keys&amp;quot; or &amp;quot;special keys.&amp;quot; These control keys on the keyboard include arrow keys, function keys (F1-F12), Ctrl, Alt, Shift, Escape, Enter, Backspace, and other similar keys.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To detect these keys, the tbeOnKeyDown or tbeOnKeyUp events are used, as these events use virtual key codes and can capture keys that do not represent characters. For example, they can be used to move an image (TclImage) on the screen using the arrow keys.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below is a table of control keys.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Key Code !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Key &lt;br /&gt;
|-&lt;br /&gt;
|8 || Backspace&lt;br /&gt;
|-&lt;br /&gt;
|9 || Tab&lt;br /&gt;
|-&lt;br /&gt;
|13 || Enter&lt;br /&gt;
|-&lt;br /&gt;
|16 || Shift&lt;br /&gt;
|-&lt;br /&gt;
|17 || Ctrl&lt;br /&gt;
|-&lt;br /&gt;
|18 || Alt&lt;br /&gt;
|-&lt;br /&gt;
|19 || Pause&lt;br /&gt;
|-&lt;br /&gt;
|20 || CapsLock&lt;br /&gt;
|-&lt;br /&gt;
|27 || Escape&lt;br /&gt;
|-&lt;br /&gt;
|33 || PageUp&lt;br /&gt;
|-&lt;br /&gt;
|34 || PageDown&lt;br /&gt;
|-&lt;br /&gt;
|35 || End&lt;br /&gt;
|-&lt;br /&gt;
|36 || Home&lt;br /&gt;
|-&lt;br /&gt;
|37 || ArrowLeft&lt;br /&gt;
|-&lt;br /&gt;
|38 || ArrowUp&lt;br /&gt;
|-&lt;br /&gt;
|39 || ArrowRight&lt;br /&gt;
|-&lt;br /&gt;
|40 || ArrowDown&lt;br /&gt;
|-&lt;br /&gt;
|45 || Insert&lt;br /&gt;
|-&lt;br /&gt;
|46 || Delete&lt;br /&gt;
|-&lt;br /&gt;
|91 || Windows Key&lt;br /&gt;
|-&lt;br /&gt;
|93 || ContextMenu/ Windows Menu&lt;br /&gt;
|-&lt;br /&gt;
|112 || F1&lt;br /&gt;
|-&lt;br /&gt;
|113 || F2&lt;br /&gt;
|-&lt;br /&gt;
|114 || F3&lt;br /&gt;
|-&lt;br /&gt;
|115 || F4&lt;br /&gt;
|-&lt;br /&gt;
|116 || F5&lt;br /&gt;
|-&lt;br /&gt;
|117 || F6&lt;br /&gt;
|-&lt;br /&gt;
|118 || F7&lt;br /&gt;
|-&lt;br /&gt;
|119 || F8&lt;br /&gt;
|-&lt;br /&gt;
|120 || F9&lt;br /&gt;
|-&lt;br /&gt;
|121 || F10&lt;br /&gt;
|-&lt;br /&gt;
|122 || F11&lt;br /&gt;
|-&lt;br /&gt;
|123 || F12&lt;br /&gt;
|-&lt;br /&gt;
|144 || NumLock&lt;br /&gt;
|-&lt;br /&gt;
|145 || ScrollLock&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-danger&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; You should run and test Example 1 on Windows.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example 1&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the following example, a form is created with an image that can be moved around the screen using the arrow keys. The SetMotion procedure checks the key code captured by clSenderKey. When the left arrow key (37) is pressed, the image rotates 180 degrees and moves left by 5 units unless it has reached the left edge of the form. When the right arrow key (39) is pressed, the image rotates back to 0 degrees and moves right by 5 units unless it has reached the right edge. When the up arrow key (38) is pressed, the image rotates 270 degrees and moves up by 5 units unless it has reached the top edge. When the down arrow key (40) is pressed, the image rotates 90 degrees and moves down by 5 units unless it has reached the bottom edge. If any other keys are pressed, a message prompts the user to use only the arrow keys. The form is created, an image is added and centered, and an event handler is set up to call the SetMotion procedure on key down.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  Form1:TCLForm;&lt;br /&gt;
  Image1 : TclImage;&lt;br /&gt;
  &lt;br /&gt;
void SetMotion;&lt;br /&gt;
{&lt;br /&gt;
  if(Form1.clSenderKey == 37) //LEFT ok tuşu 37&lt;br /&gt;
  {&lt;br /&gt;
    Image1.RotationAngle = 180;&lt;br /&gt;
    if(Image1.Position.X &amp;lt;= 0)&lt;br /&gt;
      ShowMessage('Can''t Go Any Further Left');&lt;br /&gt;
    else &lt;br /&gt;
      Image1.Position.X = Image1.Position.X - 5;&lt;br /&gt;
  }&lt;br /&gt;
  else if(Form1.clSenderKey == 39) //RIGHT ok tuşu 39&lt;br /&gt;
  {&lt;br /&gt;
    Image1.RotationAngle = 0;&lt;br /&gt;
    if(Image1.Position.X &amp;gt;= Form1.clWidth)&lt;br /&gt;
      ShowMessage('Can''t Go Any Further Right');&lt;br /&gt;
    else &lt;br /&gt;
      Image1.Position.X = Image1.Position.X + 5;&lt;br /&gt;
  }&lt;br /&gt;
  else if(Form1.clSenderKey == 38) //yukarı ok tuşu 38&lt;br /&gt;
  {&lt;br /&gt;
    Image1.RotationAngle = 270;&lt;br /&gt;
    if(Image1.Position.Y &amp;lt;= 0)&lt;br /&gt;
      ShowMessage('Can''t Go Any Further Higher');&lt;br /&gt;
    else &lt;br /&gt;
      Image1.Position.Y = Image1.Position.Y - 5;&lt;br /&gt;
  }&lt;br /&gt;
  else if(Form1.clSenderKey == 40) //aşağı ok tuşu 40&lt;br /&gt;
  {&lt;br /&gt;
    Image1.RotationAngle = 90;&lt;br /&gt;
    if(Image1.Position.Y &amp;gt;= Form1.clHeight)&lt;br /&gt;
      ShowMessage('Can''t Go Any Further Lower');&lt;br /&gt;
    else &lt;br /&gt;
      Image1.Position.Y = Image1.Position.Y + 5;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    ShowMessage('Please use only directional arrow keys..');&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  Form1 = TCLForm.Create(Self);&lt;br /&gt;
  Image1 = Form1.AddNewImage(Form1,'Image1');&lt;br /&gt;
  Image1.Align = AlNone;&lt;br /&gt;
  Image1.Position.X = Form1.clWidth / 2;&lt;br /&gt;
  Image1.Position.Y = Form1.clHeight / 2;&lt;br /&gt;
  Image1.Width = 100;&lt;br /&gt;
  Image1.Height = 100;&lt;br /&gt;
  Form1.setImage(Image1,'https://clomosy.com/demos/circled-right.png');&lt;br /&gt;
  &lt;br /&gt;
  Form1.AddNewEvent(Form1,tbeOnKeyDown,'SetMotion');&lt;br /&gt;
  Form1.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example 2&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The example contains a series of procedures for controlling and altering a character's size and position. For instance, the SetZoomIn procedure is used to enlarge the character, but it includes various checks to ensure that the enlargement does not exceed the movement area boundaries. The SetZoomOut procedure reduces the character's size, similarly checking for boundary limits. Additionally, procedures such as SetGoUp, SetGoDown, SetGoLeft, and SetGoRight are used to move the character up, down, left, and right, respectively. These movement and size adjustment operations are carried out with animations to provide visual feedback to the user.&amp;lt;br&amp;gt;&lt;br /&gt;
The initial setup of the form and button placement is designed to differ for mobile and desktop platforms. For mobile platforms, buttons are added to provide access to movement and size adjustment functions, while desktop platforms use keyboard shortcuts. This approach ensures that the user interface is designed to support user interaction across different platforms.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  Form1: TclForm;&lt;br /&gt;
  pnlMotionConsole, motionPanel: TCLPanel;&lt;br /&gt;
  ImgCharacter: TCLImage;&lt;br /&gt;
  btnUp,btnDown,btnRight,btnLeft,btnZoomIn,btnZoomOut: TClButton;&lt;br /&gt;
  incomingValue, BottomPosX,x,intermediateValue: Integer&lt;br /&gt;
  lbltopBar : TclProLabel;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void SetZoomIn&lt;br /&gt;
var&lt;br /&gt;
  rightPosX,BottomPosX,aradeger:Integer&lt;br /&gt;
{&lt;br /&gt;
rightPosX=ImgCharacter.Position.X+ImgCharacter.Width&lt;br /&gt;
BottomPosX=ImgCharacter.Position.Y+ImgCharacter.Height&lt;br /&gt;
  if(((incomingValue&amp;gt;200-ImgCharacter.Height) &amp;amp;&amp;amp; (200-ImgCharacter.Height&amp;gt;0)) || ((incomingValue&amp;gt;200-ImgCharacter.Width) &amp;amp;&amp;amp; (200-ImgCharacter.Width&amp;gt;0)) ) &lt;br /&gt;
  {&lt;br /&gt;
   x=200-ImgCharacter.Height;&lt;br /&gt;
   intermediateValue=200-ImgCharacter.Width;&lt;br /&gt;
   clAnimateFloat(ImgCharacter,'Height',200,1,1,0);&lt;br /&gt;
   clAnimateFloat(ImgCharacter,'Width',200,1,1,0); &lt;br /&gt;
   clAnimateFloat(ImgCharacter,'Position.X',ImgCharacter.Position.X - intermediateValue / 2,1,1,0);&lt;br /&gt;
   clAnimateFloat(ImgCharacter,'Position.Y',ImgCharacter.Position.y - x / 2,1,1,0);&lt;br /&gt;
  }&lt;br /&gt;
  else if((ImgCharacter.Height+incomingValue&amp;gt;200) || (ImgCharacter.Width+incomingValue&amp;gt;200))&lt;br /&gt;
  {&lt;br /&gt;
    ShowMessage('You Have Reached Your Magnification Limit!');&lt;br /&gt;
  }&lt;br /&gt;
  else if((ImgCharacter.Position.X&amp;lt;incomingValue) || (rightPosX+20&amp;gt;motionPanel.Width))&lt;br /&gt;
  {&lt;br /&gt;
    ShowMessage('You Can''t Exceed the Limits!');&lt;br /&gt;
  }&lt;br /&gt;
  else if((ImgCharacter.Position.Y&amp;lt;incomingValue) || (BottomPosX+20&amp;gt;motionPanel.Height))&lt;br /&gt;
  {&lt;br /&gt;
    ShowMessage('You Can''t Exceed the Limits!');&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Height',ImgCharacter.Height+incomingValue,1,1,0);&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Width',ImgCharacter.Width+incomingValue,1,1,0);&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Position.X',ImgCharacter.Position.X - incomingValue / 2,1,1,0);&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Position.Y',ImgCharacter.Position.Y - incomingValue / 2,1,1,0);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
void SetZoomOut&lt;br /&gt;
var&lt;br /&gt;
  rightPosX,BottomPosX:Integer&lt;br /&gt;
{&lt;br /&gt;
rightPosX=ImgCharacter.Position.X+ImgCharacter.Width&lt;br /&gt;
BottomPosX=ImgCharacter.Position.Y+ImgCharacter.Height&lt;br /&gt;
  if((ImgCharacter.Width&amp;lt;=20) || (ImgCharacter.Height&amp;lt;=20))&lt;br /&gt;
  {&lt;br /&gt;
    ShowMessage('You Can''t Shrink Any More!');&lt;br /&gt;
  }&lt;br /&gt;
  else if(((incomingValue&amp;gt;ImgCharacter.Height-20)&amp;amp;&amp;amp;(ImgCharacter.Height-20&amp;gt;0)) || ((incomingValue&amp;gt;ImgCharacter.Width-20)&amp;amp;&amp;amp;(ImgCharacter.Width-20&amp;gt;0)))&lt;br /&gt;
  {&lt;br /&gt;
    x=ImgCharacter.Height-20&lt;br /&gt;
    intermediateValue=ImgCharacter.Width-20&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Width',20,1,1,0);&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Height',20,1,1,0);&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Position.X',ImgCharacter.Position.X + incomingValue / 2,1,1,0)&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Position.Y',ImgCharacter.Position.Y + incomingValue / 2,1,1,0)&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Width',ImgCharacter.Width-incomingValue,1,1,0);&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Height',ImgCharacter.Height-incomingValue,1,1,0);&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Position.X',ImgCharacter.Position.X + incomingValue / 2,1,1,0)&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Position.Y',ImgCharacter.Position.Y + incomingValue / 2,1,1,0)&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void SetGoUp&lt;br /&gt;
{&lt;br /&gt;
  if(ImgCharacter.Position.Y&amp;lt;=0)&lt;br /&gt;
  {&lt;br /&gt;
    ShowMessage('You Can''t Go Any Higher!');&lt;br /&gt;
  }&lt;br /&gt;
  else if(ImgCharacter.Position.Y&amp;lt;incomingValue)&lt;br /&gt;
  {&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Position.Y',0,1,1,0)&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Position.Y',ImgCharacter.Position.Y-incomingValue,1,1,0)&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void SetGoDown&lt;br /&gt;
var&lt;br /&gt;
  BottomPosX: Integer&lt;br /&gt;
{&lt;br /&gt;
BottomPosX=ImgCharacter.Position.Y+ImgCharacter.Height&lt;br /&gt;
   if(BottomPosX&amp;gt;=motionPanel.Height)&lt;br /&gt;
   {&lt;br /&gt;
    ShowMessage('You Can''t Go Any Lower!'); &lt;br /&gt;
   }&lt;br /&gt;
   else if(motionPanel.Height-BottomPosX&amp;lt;incomingValue)&lt;br /&gt;
   {&lt;br /&gt;
     clAnimateFloat(ImgCharacter,'Position.Y',motionPanel.Height - ImgCharacter.Height,1,1,0)&lt;br /&gt;
   }&lt;br /&gt;
   else &lt;br /&gt;
   {&lt;br /&gt;
     clAnimateFloat(ImgCharacter,'Position.Y',ImgCharacter.Position.Y + incomingValue,1,1,0)&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void SetGoLeft&lt;br /&gt;
{&lt;br /&gt;
  if(ImgCharacter.Position.X&amp;lt;=0)&lt;br /&gt;
  {&lt;br /&gt;
    ShowMessage('You Can''t Go Any Left!');&lt;br /&gt;
  }&lt;br /&gt;
  else if(ImgCharacter.Position.X &amp;lt; incomingValue)&lt;br /&gt;
  {&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Position.X',0,1,1,0)&lt;br /&gt;
  }&lt;br /&gt;
  else &lt;br /&gt;
  {&lt;br /&gt;
    clAnimateFloat(ImgCharacter,'Position.X',ImgCharacter.Position.X - incomingValue,1,1,0)&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void SetGoRight&lt;br /&gt;
var&lt;br /&gt;
  rightPosX: Integer&lt;br /&gt;
{&lt;br /&gt;
rightPosX=ImgCharacter.Position.X+ImgCharacter.Width&lt;br /&gt;
  if(rightPosX&amp;gt;=motionPanel.Width)&lt;br /&gt;
  {&lt;br /&gt;
    ShowMessage('You can''t go any further to the right');&lt;br /&gt;
  }&lt;br /&gt;
  else if(motionPanel.Width-rightPosX&amp;lt;incomingValue)&lt;br /&gt;
  {&lt;br /&gt;
  clAnimateFloat(ImgCharacter,'Position.X',motionPanel.Width - ImgCharacter.Width,1,1,0)&lt;br /&gt;
  }&lt;br /&gt;
  else &lt;br /&gt;
  {&lt;br /&gt;
  clAnimateFloat(ImgCharacter,'Position.X',ImgCharacter.Position.X + incomingValue,1,1,0)&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
void SetMotion&lt;br /&gt;
{&lt;br /&gt;
  if(Form1.clSenderKey == 37) &lt;br /&gt;
   {&lt;br /&gt;
     SetGoLeft;&lt;br /&gt;
   }&lt;br /&gt;
   else if(Form1.clSenderKey == 39) &lt;br /&gt;
   {&lt;br /&gt;
     SetGoRight;&lt;br /&gt;
   }&lt;br /&gt;
   else if(Form1.clSenderKey == 38) &lt;br /&gt;
   {&lt;br /&gt;
     SetGoUp;&lt;br /&gt;
   }&lt;br /&gt;
   else if(Form1.clSenderKey == 40) &lt;br /&gt;
   {&lt;br /&gt;
     SetGoDown;&lt;br /&gt;
   }&lt;br /&gt;
   else if((Form1.clSenderKeyChar == 43) || (Form1.clSenderKeyChar == 98) || (Form1.clSenderKeyChar == 66))&lt;br /&gt;
   {&lt;br /&gt;
     SetZoomIn;&lt;br /&gt;
   }&lt;br /&gt;
   else if((Form1.clSenderKeyChar == 45) || (Form1.clSenderKeyChar == 107) || (Form1.clSenderKeyChar == 75))&lt;br /&gt;
   {&lt;br /&gt;
     SetZoomOut;&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
     ShowMessage('Please Use the Buttons Below'#13'To Move: Arrow Keys'#13'To Enlarge: B or + (numpad)'#13'To Reduce : K or - (numpad)');&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  incomingValue=20&lt;br /&gt;
  Form1= TclForm.Create(Self);&lt;br /&gt;
  Form1.SetFormColor('#f3afaf', '', clGNone);&lt;br /&gt;
  TclButton(Form1.clFindComponent('BtnFormMenu')).Visible = False;&lt;br /&gt;
  TclButton(Form1.clFindComponent('BtnGoBack')).Visible = False;&lt;br /&gt;
  &lt;br /&gt;
  lbltopBar= Form1.AddNewProLabel(Form1,'lbltopBar','Move with the arrow keys. ''+'' and ''-'''#13'You can make the character smaller with the buttons..');&lt;br /&gt;
  lbltopBar.Align=alTop;&lt;br /&gt;
  lbltopBar.Height= Form1.clHeight / 9;&lt;br /&gt;
  lbltopBar.clProSettings.FontColor = clAlphaColor.clHexToColor('#030303');&lt;br /&gt;
  lbltopBar.clProSettings.FontSize = 14;&lt;br /&gt;
  lbltopBar.clProSettings.FontVertAlign = palcenter;&lt;br /&gt;
  lbltopBar.clProSettings.FontHorzAlign = palcenter;&lt;br /&gt;
  lbltopBar.clProSettings.TextSettings.Font.Style = [fsBold,fsItalic];&lt;br /&gt;
  lbltopBar.clProSettings.BorderColor = clAlphaColor.clHexToColor('#d55353');&lt;br /&gt;
  lbltopBar.clProSettings.BorderWidth = 5;&lt;br /&gt;
  lbltopBar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#d17a7a');&lt;br /&gt;
  lbltopBar.clProSettings.IsRound = True;&lt;br /&gt;
  lbltopBar.clProSettings.RoundHeight = 20;&lt;br /&gt;
  lbltopBar.clProSettings.RoundWidth = 20;&lt;br /&gt;
  lbltopBar.SetclProSettings(lbltopBar.clProSettings);&lt;br /&gt;
  &lt;br /&gt;
  motionPanel= Form1.AddNewPanel(Form1,'motionPanel')&lt;br /&gt;
  motionPanel.Align=AlClient;&lt;br /&gt;
  motionPanel.Margins.Top = 10;&lt;br /&gt;
  motionPanel.Margins.Bottom = 10;&lt;br /&gt;
  motionPanel.Margins.Left = 10;&lt;br /&gt;
  motionPanel.Margins.Right = 10;&lt;br /&gt;
  &lt;br /&gt;
  ImgCharacter= Form1.AddNewImage(motionPanel,'ImgCharacter');&lt;br /&gt;
  Form1.SetImage(ImgCharacter,'https://clomosy.com/educa/ufo.png');&lt;br /&gt;
  ImgCharacter.Align=alNone;&lt;br /&gt;
  ImgCharacter.Position.X= Form1.clWidth / 2 - ImgCharacter.Width / 2;&lt;br /&gt;
  ImgCharacter.Position.Y= motionPanel.Height / 2 - ImgCharacter.Height / 2;&lt;br /&gt;
  ImgCharacter.Height= 50;&lt;br /&gt;
  ImgCharacter.Width= 50;&lt;br /&gt;
  &lt;br /&gt;
  Form1.Run;&lt;br /&gt;
  &lt;br /&gt;
  if(Clomosy.PlatformIsMobile)&lt;br /&gt;
  {&lt;br /&gt;
    pnlMotionConsole= Form1.AddNewPanel(Form1,'pnlMotionConsole');&lt;br /&gt;
    pnlMotionConsole.Align= AlBottom;&lt;br /&gt;
    pnlMotionConsole.Margins.Bottom=20;&lt;br /&gt;
    pnlMotionConsole.Height=200;&lt;br /&gt;
    &lt;br /&gt;
    btnLeft= Form1.AddNewButton(pnlMotionConsole, 'btnLeft', 'LEFT');&lt;br /&gt;
    btnLeft.Align=alLeft;&lt;br /&gt;
    btnLeft.Width=100;&lt;br /&gt;
    btnLeft.Margins.Top=20;&lt;br /&gt;
    btnLeft.Margins.Bottom=20;&lt;br /&gt;
    Form1.AddNewEvent(btnLeft,tbeOnClick,'SetGoLeft');&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    btnRight= Form1.AddNewButton(pnlMotionConsole, 'btnRight', 'RIGHT');&lt;br /&gt;
    btnRight.Align=alRight;&lt;br /&gt;
    btnRight.Width=100;&lt;br /&gt;
    btnRight.Margins.Top=20;&lt;br /&gt;
    btnRight.Margins.Bottom=20;&lt;br /&gt;
    Form1.AddNewEvent(btnRight,tbeOnClick,'SetGoRight')&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    btnUp= Form1.AddNewButton(pnlMotionConsole, 'btnUp', 'UP');&lt;br /&gt;
    btnUp.Align=alTop;&lt;br /&gt;
    btnUp.Width=100;&lt;br /&gt;
    btnUp.Margins.Top=10;&lt;br /&gt;
    btnUp.Height=40;&lt;br /&gt;
    Form1.AddNewEvent(btnUp,tbeOnClick,'SetGoUp');&lt;br /&gt;
    &lt;br /&gt;
    btnDown= Form1.AddNewButton(pnlMotionConsole, 'btnDown', 'DOWN');&lt;br /&gt;
    btnDown.Align=alBottom;&lt;br /&gt;
    btnDown.Width=100;&lt;br /&gt;
    btnDown.Margins.Bottom=10; &lt;br /&gt;
    btnDown.Height=40;&lt;br /&gt;
    Form1.AddNewEvent(btnDown,tbeOnClick,'SetGoDown');&lt;br /&gt;
    &lt;br /&gt;
    btnZoomIn= Form1.AddNewButton(pnlMotionConsole, 'btnZoomIn', '+')&lt;br /&gt;
    btnZoomIn.Align=alLeft;&lt;br /&gt;
    btnZoomIn.Margins.Top=20;&lt;br /&gt;
    btnZoomIn.Margins.Bottom=20;&lt;br /&gt;
    btnZoomIn.Margins.Left=5;&lt;br /&gt;
    Form1.AddNewEvent(btnZoomIn,tbeOnClick,'SetZoomIn');&lt;br /&gt;
    &lt;br /&gt;
    btnZoomOut= Form1.AddNewButton(pnlMotionConsole, 'btnZoomOut', '-')&lt;br /&gt;
    btnZoomOut.Align=alRight;&lt;br /&gt;
    btnZoomOut.Margins.Top=20;&lt;br /&gt;
    btnZoomOut.Margins.Bottom=20;&lt;br /&gt;
    btnZoomOut.Margins.Right=5;&lt;br /&gt;
    Form1.AddNewEvent(btnZoomOut,tbeOnClick,'SetZoomOut');&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
    Form1.AddNewEvent(Form1,tbeOnKeyDown,'SetMotion');&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Cl_Utilities_Functions | Cl Utilities Functions]]&lt;br /&gt;
{{#seo:|title=ClSenderKey in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn to use the clSenderKey property in Clomosy to detect special keyboard keys and control custom actions like moving images.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Frac&amp;diff=3807</id>
		<title>Frac</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Frac&amp;diff=3807"/>
		<updated>2024-12-24T15:06:22Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Frac(const X: Extended): Extended;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Frac function returns the fractional part of a floating point number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
   numberValue : Integer;&lt;br /&gt;
 &lt;br /&gt;
{&lt;br /&gt;
   numberValue = 12.75;&lt;br /&gt;
   ShowMessage(' Frac(12.75) = '+FloatToStr(Frac(numberValue)));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Frac(12.75) = 0,75&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
{{#seo:|title=Frac in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the Frac function in Clomosy to extract the fractional part of a floating-point number for precise calculations.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=DateToStr&amp;diff=3806</id>
		<title>DateToStr</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=DateToStr&amp;diff=3806"/>
		<updated>2024-12-24T15:05:55Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function DateToStr(const DateTime: TclDateTime):string;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Converts a TclDateTime value into a string.&amp;lt;br&amp;gt;&lt;br /&gt;
Use DateToStr to obtain a string representation of a date value that can be used for display purposes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  myDate : TclDateTime;&lt;br /&gt;
{&lt;br /&gt;
  myDate = StrToDate('27.02.2023');&lt;br /&gt;
  ShowMessage('myDate = '+DateToStr(myDate));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
myDate = 27.02.2023&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Type_Conversion_Functions | Type Conversion Functions]]&lt;br /&gt;
{{#seo:|title=DateToStr Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the DateToStr function in Clomosy to convert TclDateTime values into easily readable date strings for display.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclRectangle&amp;diff=3805</id>
		<title>TclRectangle</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclRectangle&amp;diff=3805"/>
		<updated>2024-12-24T15:05:30Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewRectangle(AComponent: TCLComponent; xName: string): TclRectangle;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; :  Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined component should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The TclRectangle component represents a rectangle and is commonly used in interface designs as a background or region. Additionally, its appearance and properties can be customized using style properties.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclRectangle|| Rectangle1 : TclRectangle; || A variable belonging to the TclCircle class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewRectangle || Rectangle1 = Form1.AddNewRectangle(Form1,'Rectangle1');  || A new TclRectangle is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|Fill.Kind || Rectangle1.Fill.Kind = fbkSolid; || It is used to fill the inside of the object. This property determines how the interior fill of the object is applied. The following options can be used:&amp;lt;br&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;fbkNone&amp;lt;/b&amp;gt;: Does not fill the inside.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbkSolid&amp;lt;/b&amp;gt;: Fills the inside with a single color.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbkGradient&amp;lt;/b&amp;gt;: Fills the inside with a color gradient.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbkBitmap&amp;lt;/b&amp;gt;: Fills the inside with a bitmap image.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbkResource&amp;lt;/b&amp;gt;: Fills with a resource file (usually includes image files, text files, database connections, or similar things).&lt;br /&gt;
|-&lt;br /&gt;
|Fill.Bitmap.WrapMode || Rectangle1.Fill.Bitmap.WrapMode = fbwmTileOriginal; || It is used to specify a bitmap when filling the inside of the component and to control how this bitmap will be tiled. It determines how the bitmap will be placed and overlapped on a specific area. The following options can be used:&amp;lt;br&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;fbwmTile&amp;lt;/b&amp;gt;: The bitmap is tiled to completely fit the area to be filled.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbwmTileOriginal&amp;lt;/b&amp;gt;: The bitmap is tiled according to its original size, and if it exceeds the boundaries of the area to be filled, it repeats the pattern.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbwmTileStretch&amp;lt;/b&amp;gt;: The bitmap is stretched to fit the area to be filled and is placed fully within the area.&lt;br /&gt;
|-&lt;br /&gt;
|Stroke.Thickness || Rectangle1.Stroke.Thickness = 3; || It is used to set the thickness of the object's border. A value of 0 disables the border.&lt;br /&gt;
|-&lt;br /&gt;
|Sides ||Rectangle1.Sides = SetOf([sdLeft, sdTop, sdRight, sdBottom]); || The Sides property is used to customize the width adjustments for each side of the object. By using SetOf, the dimensions of all four sides are defined. As shown above, the parameters are provided sequentially for the left, top, right, and bottom sides. For sides where no frame is desired, the corresponding parameter is removed.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  anaForm:TclGameForm;&lt;br /&gt;
  Rectangle1: TclRectangle;&lt;br /&gt;
{&lt;br /&gt;
  anaForm = TclGameForm.Create(Self);&lt;br /&gt;
  &lt;br /&gt;
  Rectangle1 = anaForm.AddNewRectangle(anaForm, 'Rectangle1');&lt;br /&gt;
  Rectangle1.Fill.Kind = fbkBitmap; &lt;br /&gt;
  Rectangle1.Fill.Bitmap.WrapMode = fbwmTile;&lt;br /&gt;
  Rectangle1.Width = 200; &lt;br /&gt;
  Rectangle1.Height = 200;&lt;br /&gt;
  Rectangle1.Stroke.Thickness = 3;&lt;br /&gt;
  Rectangle1.Sides = SetOf([sdLeft, sdTop, sdBottom]);&lt;br /&gt;
  anaForm.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclRectangle Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn to use TclRectangle in Clomosy for customizable rectangles, ideal for backgrounds or regions, with flexible styling options.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclBlobField&amp;diff=3804</id>
		<title>TclBlobField</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclBlobField&amp;diff=3804"/>
		<updated>2024-12-24T15:05:09Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TclBlobField represents a field that holds a reference to a binary large object (BLOB - Binary Large Object) in the dataset.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TclBlobField encapsulates the basic behavior common to binary large object (BLOB - Binary Large Object) fields. BLOB fields are database fields that contain raw binary data of arbitrary length. BLOB fields can represent different, optionally large data types. These data types are distinguished in the header of the binary data.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BLOB fields allow for the storage of large binary data such as text, images, audio, or video.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclBlobField|| BlobField : TclBlobField;  || A variable belonging to the TclBlobField class is created.&lt;br /&gt;
|-&lt;br /&gt;
|Assigning to object || BlobField = qry.FieldByName('DOCUMENT_FILE') as TclBlobField; || Assigning to a TclBlobField object&lt;br /&gt;
|-&lt;br /&gt;
|SaveToStream ||BlobField.SaveToStream(BlobStream); || Saves BLOB data to a TclMemoryStream or TclFileStream object.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This code connects to a SQL Server database, executes a query on a table, and loads image data from a BLOB (Binary Large Object) field. It saves the loaded image data into a stream (TclMemoryStream), then loads this data into a visual component (TclImage) and displays it. Additionally, it copies the image data in Base64 format to the clipboard (setClipBoard).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   Server, User, Password,DB: String;&lt;br /&gt;
   Port: Integer;&lt;br /&gt;
   Form1:TCLForm;&lt;br /&gt;
   qry : TClSqlQuery;&lt;br /&gt;
   BlobStream: TclMemoryStream;&lt;br /&gt;
   BlobField: TclBlobField;&lt;br /&gt;
   Img1 : TclImage;&lt;br /&gt;
   Base64String: string;&lt;br /&gt;
 &lt;br /&gt;
 void MainForm; &lt;br /&gt;
 {&lt;br /&gt;
   Form1 = TCLForm.Create(Self);&lt;br /&gt;
   Img1 = Form1.AddNewImage(Form1,'Img1');&lt;br /&gt;
   Img1.Align = alClient;&lt;br /&gt;
   &lt;br /&gt;
   qry = TClSqlQuery.Create(Nil);&lt;br /&gt;
   try&lt;br /&gt;
     try &lt;br /&gt;
       qry.Connection = Clomosy.DBSQLServerConnection;&lt;br /&gt;
       qry.Sql.Text = 'SELECT TOP(1) DOC_FILE FROM ATBLDOCS';&lt;br /&gt;
       qry.Open;&lt;br /&gt;
       if (qry.Found)&lt;br /&gt;
       {&lt;br /&gt;
         BlobField = qry.FieldByName('DOC_FILE') as TclBlobField;&lt;br /&gt;
         BlobStream = TclMemoryStream.Create;&lt;br /&gt;
         BlobField.SaveToStream(BlobStream); // Load BLOB data into the stream&lt;br /&gt;
         BlobStream.Position = 0;&lt;br /&gt;
         Base64String = Clomosy.StreamToBase64(BlobStream);&lt;br /&gt;
         Clomosy.setClipBoard(Base64String);//FOR TEST PURPOSE COPIES BASE64&lt;br /&gt;
         &lt;br /&gt;
         Img1.Bitmap.LoadFromStream(BlobStream); // Load the image from the stream&lt;br /&gt;
         BlobStream.Free;&lt;br /&gt;
       }&lt;br /&gt;
     except&lt;br /&gt;
       ShowMessage('[019] Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);&lt;br /&gt;
     }&lt;br /&gt;
   finally&lt;br /&gt;
     qry.Free;&lt;br /&gt;
   }&lt;br /&gt;
   Form1.Run;&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 {&lt;br /&gt;
   try&lt;br /&gt;
     Server = '192.168.5.13';&lt;br /&gt;
     User = 'sa';&lt;br /&gt;
     Password = 'aaaa';&lt;br /&gt;
     DB = 'ATK23';&lt;br /&gt;
     Port = 1433;&lt;br /&gt;
     Clomosy.EventLog = True;&lt;br /&gt;
     if not (Clomosy.DBSQLServerConnect('SQL Server', Server, User, Password, DB, Port))&lt;br /&gt;
     {&lt;br /&gt;
       ShowMessage('DATABASE CONNECT ERROR');&lt;br /&gt;
       Exit;&lt;br /&gt;
     }&lt;br /&gt;
     MainForm;&lt;br /&gt;
   except&lt;br /&gt;
     ShowMessage('Connection Error '+'Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[TclFileStream]]&lt;br /&gt;
* [[TclMemoryStream]]&lt;br /&gt;
* [[StreamToBase64]]&lt;br /&gt;
* [[FileToStream]]&lt;br /&gt;
* [[FileToBase64]]&lt;br /&gt;
* [[Base64ToFile]]&lt;br /&gt;
* [[Base64ToStream]]&lt;br /&gt;
{{#seo:|title=TclBlobField Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use TclBlobField in Clomosy to handle and manage BLOB data like images, audio, and video from a database, with practical examples.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Keywords&amp;diff=3803</id>
		<title>Keywords</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Keywords&amp;diff=3803"/>
		<updated>2024-12-24T15:04:45Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains commonly used keywords and directives in the programming language. Keywords form the fundamental building blocks of a programming language and are used to perform specific tasks. Acting as commands, these words manage the control flow, data structures, and other essential operations within a program. The correct use of keywords during programming is crucial for building error-free and efficient code.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below is a list of the main keywords used in the programming language. Understanding these keywords will help you grasp the structure of the language and use the correct syntax when developing software.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-warning&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: A keyword should not be used as a variable name.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;var&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The var keyword is used for defining variables. To create a variable, var is used to specify the name and type of the variable. This keyword allocates memory in the program to store a specific data type.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Var&lt;br /&gt;
  appName   : String;&lt;br /&gt;
  year : Integer;&lt;br /&gt;
{&lt;br /&gt;
  appName = 'Clomosy';&lt;br /&gt;
  year = 2023; &lt;br /&gt;
&lt;br /&gt;
  ShowMessage('appName = '+appName  );&lt;br /&gt;
  ShowMessage('Year = '+IntToStr(year));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Xor&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
As a logical operator, xor combines two or more conditions and checks whether only one of them is true. If only one of the conditions combined with xor is true, the result will be true; however, if both conditions are true or both are false, the result will be false. This operator is useful for expressing the logic of &amp;quot;either one or the other&amp;quot; between conditions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  num1, num2, num3 : Integer;&lt;br /&gt;
  letter           : Char;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  num1   = $25;    &lt;br /&gt;
  num2   = $10;    &lt;br /&gt;
  letter = 'G';&lt;br /&gt;
&lt;br /&gt;
  if ((num1 &amp;gt; 0) Xor (letter == 'G'))&lt;br /&gt;
    ShowMessage('Both values are true')&lt;br /&gt;
  else ShowMessage('None or only one true value');&lt;br /&gt;
&lt;br /&gt;
  num3 = num1 Xor num2;&lt;br /&gt;
&lt;br /&gt;
  ShowMessage('25 And 32 = '+ IntToStr(num3));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Not&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
It is used as a logical operator to negate a condition; that is, the not operator evaluates a condition as false if it is true, and as true if it is false. This way, it is useful for altering the logical states of conditions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  num1, num2 : Word;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  num1   = $2C;    // Binary value : 0000 0000 0010 1100&lt;br /&gt;
                   // Not'ed value : 1111 1111 1101 0011 = $FFD3&lt;br /&gt;
&lt;br /&gt;
  // And used to return a Boolean value&lt;br /&gt;
  if Not (num1 &amp;gt; 0)&lt;br /&gt;
    ShowMessage('num1 &amp;lt;= 0')&lt;br /&gt;
  else ShowMessage('num1 &amp;gt; 0');&lt;br /&gt;
&lt;br /&gt;
  // And used to perform a mathematical NOT operation&lt;br /&gt;
  num2 = Not num1;&lt;br /&gt;
&lt;br /&gt;
  // Display the result&lt;br /&gt;
  ShowMessage('Not $2C = $'+IntToHex(num2,2));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Array&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The Array provides single and multi dimensional arrays (indexable sequences) of data. Dynamic arrays have no preallocated storage. When defined, only a pointer is created. For detailed information, visit the [[Arrays | page]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;As&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The as keyword is used for type casting. It is particularly useful in object-oriented programming when a object needs to be converted from one type to another. This operation should only be performed between compatible types; otherwise, an error will occur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Case&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The Case keyword provides a structured equivalent to a sequence of if statements on the same variable. The case statement is more elegant, more efficient, and easier to maintain than multiple if nestings.The brief definition is as follows. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  day: Integer;&lt;br /&gt;
  dayName: String;&lt;br /&gt;
{&lt;br /&gt;
  day = 3; // Example day number&lt;br /&gt;
&lt;br /&gt;
  case day of&lt;br /&gt;
  {&lt;br /&gt;
    1: dayName = 'Monday';&lt;br /&gt;
    2: dayName = 'Tuesday';&lt;br /&gt;
    3: dayName = 'Wednesday';&lt;br /&gt;
    4: dayName = 'Thursday';&lt;br /&gt;
    5: dayName = 'Friday';&lt;br /&gt;
    6: dayName = 'Saturday';&lt;br /&gt;
    7: dayName = 'Sunday';&lt;br /&gt;
  else&lt;br /&gt;
    dayName = 'Invalid day'; // If the given day number is not between 1-7&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  ShowMessage('Day: ' + dayName);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Const&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The const keyword is used to define constant values. Constants are values that remain unchanged during the execution of the program. A constant defined with const takes a value of a specific type, and this value cannot be altered after its declaration. This feature enhances the reliability and readability of the code.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const&lt;br /&gt;
    pi = 3.14;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Div&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The Div keyword gives the whole number result of dividing the Dividend by the Divisor. Any remainder is discarded.&lt;br /&gt;
 Dividend div divisor&lt;br /&gt;
&lt;br /&gt;
For detailed information, see the [[Div |page]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;downto&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is used to indicate that the count in a loop should be done in decreasing order. The loop variable progresses from a specified starting value to an end value by decreasing.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  i: Integer;&lt;br /&gt;
{&lt;br /&gt;
  // Counting down from 5 to 1&lt;br /&gt;
  for (i = 5 downto 1)&lt;br /&gt;
  {&lt;br /&gt;
    ShowMessage('i = ' + IntToStr(i));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Else&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Else keyword is part of the If and Case statements. It is used to start the section of code executed when earlier conditions are not satisfied.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; If for; &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  score: Integer;&lt;br /&gt;
{&lt;br /&gt;
  score = 75;&lt;br /&gt;
  &lt;br /&gt;
  if (score &amp;gt;= 50)&lt;br /&gt;
    ShowMessage('Passed')&lt;br /&gt;
  else&lt;br /&gt;
    ShowMessage('Failed');  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Case for; &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  choice: Integer;&lt;br /&gt;
{&lt;br /&gt;
  choice = 1;&lt;br /&gt;
&lt;br /&gt;
  case choice of&lt;br /&gt;
  {&lt;br /&gt;
    0: ShowMessage('Choice 0');&lt;br /&gt;
  else&lt;br /&gt;
    ShowMessage('Invalid choice');&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Try&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
It is used for error handling and management. The try block ensures the safe execution of a specific piece of code. If an error occurs within the try block, the error can be caught and handled by the &amp;lt;b&amp;gt;except or finally&amp;lt;/b&amp;gt; blocks.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  number, zero : Integer;&lt;br /&gt;
{&lt;br /&gt;
  number = -1;&lt;br /&gt;
  Try&lt;br /&gt;
    zero   = 0;&lt;br /&gt;
    number = 1 div zero;&lt;br /&gt;
    ShowMessage('number / zero = '+IntToStr(number));&lt;br /&gt;
  finally&lt;br /&gt;
      ShowMessage('Number was not assigned a value - using default');&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Except&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Except keyword is used to mark the start of a block of statements that handle an exception in a Try clause. If the Except block can handle the exception, then the program is not terminated.&amp;lt;br&amp;gt;&lt;br /&gt;
For more detailed information, see the [[Error Trapping| page]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Finally&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
Regardless of whether an error occurs in the try block, the code in the finally block always executes. This is useful to ensure that important tasks, such as resource deallocation or cleanup operations, are always carried out.&amp;lt;br&amp;gt;&lt;br /&gt;
For more detailed information, see the [[Error Trapping| page]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Repeat&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The repeat keyword allows a block of code to be repeated until a specific condition is met. It is used in conjunction with the until keyword to check the loop condition. This structure ensures that the code within the loop is executed at least once.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Until&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The until keyword is used in conjunction with the repeat statement to define the condition that terminates the loop. The loop continues to execute until the specified condition evaluates to true. This means that the block of code will keep running until the condition becomes true, making it useful for scenarios where you want the code to execute at least once before checking the condition.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  counter: Integer;&lt;br /&gt;
{&lt;br /&gt;
  counter = 1;&lt;br /&gt;
  repeat&lt;br /&gt;
    ShowMessage('Counter: ' + IntToStr(counter));&lt;br /&gt;
    counter = counter + 1;&lt;br /&gt;
  until counter &amp;gt; 5;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;For&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The for structure is a control structure used to create a loop under a specific condition. It is ideal for performing a certain number of repetitions or iterating over an array. A for loop typically starts with a variable at a beginning value and progresses to an end value, with a specific increment or decrement on each iteration.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  i : Integer;&lt;br /&gt;
{&lt;br /&gt;
  For (i = 1 to 6)&lt;br /&gt;
    ShowMessage('i = '+IntToStr(i));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;While&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The while keyword is a control structure used to repeatedly execute a block of code as long as a specific condition is met. This loop continues to run as long as the condition evaluates to true. Due to the fact that the condition is evaluated before entering the loop, it guarantees that the code within the loop may not execute at all if the condition is not satisfied. This is useful for avoiding infinite loops and ensuring a specific state is achieved.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  count: Integer;&lt;br /&gt;
{&lt;br /&gt;
  count = 0;&lt;br /&gt;
  while (count &amp;lt; 5)&lt;br /&gt;
  {&lt;br /&gt;
    ShowMessage('Count: ' + IntToStr(count));&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;With&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The With keyword is a convenience provided by Clomosy for referencing elements of a complex variable, such as a record or object.&lt;br /&gt;
 &lt;br /&gt;
It simplifies the code by removing the need to prefix each referenced element with the complex variable name.&lt;br /&gt;
See the [[TRObject_Language#With_Statements | With]] keyword for full details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Function keyword is used to define a function that performs a specific operation and returns a value in a programming language. Functions allow code to be modular, providing the ability to reuse the same operation in different places. See [[TRObject_Language#Function_Declarations | page]] for detailed information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Void&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
It is used to define a procedure in a programming language that performs a specific task and does not return a value. See the [[TRObject_Language#Procedures]] tutorial for details on using void.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;If&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The If keyword is used to control the flow of code depending on the logical result of the given condition. See [[TRObject_Language#If_Statements | page]] for detailed information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; &amp;lt;b&amp;gt;Mod&amp;lt;/b&amp;gt; &amp;lt;/h2&amp;gt;&lt;br /&gt;
The Mod keyword gives the remainder from dividing the Dividend by the Divisor. The whole number result of the division is ignored.&lt;br /&gt;
See [[Mod | page]] for detailed information.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
For more detailed information, please refer to the [[TRObject Language | TRObject Language]] page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#seo:|title=Keywords Found in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Explore essential keywords in Clomosy to manage control flow, data structures, and operations, ensuring efficient and error-free application development.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=FormatDateTime&amp;diff=3802</id>
		<title>FormatDateTime</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=FormatDateTime&amp;diff=3802"/>
		<updated>2024-12-24T15:04:10Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function FormatDateTime(const Format: string; DateTime: TclDateTime):string;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The FormatDateTime function provides rich formatting of a TclDateTime value DateTime into a string. Formatting is defined by the Format string. The Format string can comprise a mix of ordinary characters (that are passed unchanged to the result string), and data formatting characters. This formatting is best explained by the example code.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The following (non-Asian) formatting character strings can be used in the Formatting string:&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
:&amp;lt;b&amp;gt;y&amp;lt;/b&amp;gt; 	= Year last 2 digits&lt;br /&gt;
:&amp;lt;b&amp;gt;yy&amp;lt;/b&amp;gt; 	= Year last 2 digits&lt;br /&gt;
:&amp;lt;b&amp;gt;yyyy&amp;lt;/b&amp;gt; 	= Year as 4 digits&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;b&amp;gt;m&amp;lt;/b&amp;gt; 	= Month number no-leading 0&lt;br /&gt;
:&amp;lt;b&amp;gt;mm&amp;lt;/b&amp;gt; 	= Month number as 2 digits&lt;br /&gt;
:&amp;lt;b&amp;gt;mmm&amp;lt;/b&amp;gt; 	= Month using ShortDayNames (Jan)&lt;br /&gt;
:&amp;lt;b&amp;gt;mmmm&amp;lt;/b&amp;gt; 	= Month using LongDayNames (January)&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;b&amp;gt;d&amp;lt;/b&amp;gt; 	= Day number no-leading 0&lt;br /&gt;
:&amp;lt;b&amp;gt;dd&amp;lt;/b&amp;gt; 	= Day number as 2 digits&lt;br /&gt;
:&amp;lt;b&amp;gt;ddd&amp;lt;/b&amp;gt; 	= Day using ShortDayNames (Sun)&lt;br /&gt;
:&amp;lt;b&amp;gt;dddd&amp;lt;/b&amp;gt; 	= Day using LongDayNames  (Sunday)&lt;br /&gt;
:&amp;lt;b&amp;gt;ddddd&amp;lt;/b&amp;gt; 	= Day in ShortDateFormat&lt;br /&gt;
:&amp;lt;b&amp;gt;dddddd&amp;lt;/b&amp;gt; 	= Day in LongDateFormat&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;b&amp;gt;c&amp;lt;/b&amp;gt; 	= Use ShortDateFormat + LongTimeFormat&lt;br /&gt;
:&amp;lt;b&amp;gt;h&amp;lt;/b&amp;gt; 	= Hour number no-leading 0&lt;br /&gt;
:&amp;lt;b&amp;gt;hh&amp;lt;/b&amp;gt; 	= Hour number as 2 digits&lt;br /&gt;
:&amp;lt;b&amp;gt;n&amp;lt;/b&amp;gt;	= Minute number no-leading 0&lt;br /&gt;
:&amp;lt;b&amp;gt;nn&amp;lt;/b&amp;gt; 	= Minute number as 2 digits&lt;br /&gt;
:&amp;lt;b&amp;gt;s&amp;lt;/b&amp;gt; 	= Second number no-leading 0&lt;br /&gt;
:&amp;lt;b&amp;gt;ss&amp;lt;/b&amp;gt; 	= Second number as 2 digits&lt;br /&gt;
:&amp;lt;b&amp;gt;z&amp;lt;/b&amp;gt;	= Milli-sec number no-leading 0s&lt;br /&gt;
:&amp;lt;b&amp;gt;zzz&amp;lt;/b&amp;gt; = Milli-sec number as 3 digits&lt;br /&gt;
:&amp;lt;b&amp;gt;t&amp;lt;/b&amp;gt; 	= Use ShortTimeFormat&lt;br /&gt;
:&amp;lt;b&amp;gt;tt&amp;lt;/b&amp;gt; 	= Use LongTimeFormat&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;b&amp;gt;am/pm&amp;lt;/b&amp;gt; 	= Use after h : gives 12 hours + am/pm&lt;br /&gt;
:&amp;lt;b&amp;gt;a/p&amp;lt;/b&amp;gt; 	= Use after h : gives 12 hours + a/p&lt;br /&gt;
:&amp;lt;b&amp;gt;ampm&amp;lt;/b&amp;gt; 	= As a/p but TimeAMString,TimePMString&lt;br /&gt;
:&amp;lt;b&amp;gt;/&amp;lt;/b&amp;gt; 	= Substituted by DateSeparator value&lt;br /&gt;
:&amp;lt;b&amp;gt;:&amp;lt;/b&amp;gt;	= Substituted by TimeSeparator value&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
    myDate : TDateTime;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
    myDate = '20.02.2023 12:24:26';&lt;br /&gt;
 &lt;br /&gt;
    ShowMessage('d.m.y = '+FormatDateTime('d.m.y', myDate));&lt;br /&gt;
    ShowMessage('dd.mm.yy = '+FormatDateTime('dd.mm.yy', myDate));&lt;br /&gt;
    // Use short names for the day, month, and add freeform text ('of')&lt;br /&gt;
    ShowMessage('ddd d of mmm yyyy = '+FormatDateTime('ddd d of mmm yyyy', myDate));&lt;br /&gt;
 &lt;br /&gt;
    // Use long names for the day and month&lt;br /&gt;
    ShowMessage('dddd d of mmmm yyyy = '+FormatDateTime('dddd d of mmmm yyyy', myDate));&lt;br /&gt;
 &lt;br /&gt;
    // Use the ShortDateFormat settings only&lt;br /&gt;
    ShowMessage('ddddd = '+FormatDateTime('ddddd', myDate));&lt;br /&gt;
 &lt;br /&gt;
    // Use the LongDateFormat settings only&lt;br /&gt;
    ShowMessage('dddddd = '+FormatDateTime('dddddd', myDate));&lt;br /&gt;
 &lt;br /&gt;
    ShowMessage('c = '+FormatDateTime('c', myDate));&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
d.m.y = 20.2.23&amp;lt;br&amp;gt;&lt;br /&gt;
dd.mm.yy = 20.02.23&amp;lt;br&amp;gt;&lt;br /&gt;
ddd d of mmm yyyy = Mon 20 of Feb 2023&amp;lt;br&amp;gt;&lt;br /&gt;
dddd d of mmmm yyyy = Monday 20 of February 2023&amp;lt;br&amp;gt;&lt;br /&gt;
ddddd = 20.02.2023&amp;lt;br&amp;gt;&lt;br /&gt;
dddddd =  20 February 2023 Monday&amp;lt;br&amp;gt;&lt;br /&gt;
c = 20.02.2023 12:24:26&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Date_and_Time_Functions | Date and Time Functions]]&lt;br /&gt;
{{#seo:|title=FormatDateTime Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the FormatDateTime function in Clomosy to format TclDateTime values into customized date and time strings for display or processing.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Inc&amp;diff=3801</id>
		<title>Inc</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Inc&amp;diff=3801"/>
		<updated>2024-12-24T15:03:09Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
procedure Inc(var X: Integer); overload;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Inc procedure increments the ordinal variable parameter passed to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   Number    : Integer;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   Number = 23;&lt;br /&gt;
   ShowMessage('Number : '+IntToStr(Number));&lt;br /&gt;
   Inc(Number);&lt;br /&gt;
   ShowMessage('Number+1 : '+IntToStr(Number));&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Number : 23&amp;lt;br&amp;gt;&lt;br /&gt;
Number+1 : 24&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
{{#seo:|title=Using Inc in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Use the Inc procedure in Clomosy to increment an integer variable by one.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclCircle&amp;diff=3800</id>
		<title>TclCircle</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclCircle&amp;diff=3800"/>
		<updated>2024-12-24T15:02:46Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewCircle(AComponent: TCLComponent; xName: string): TclCircle;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; :  Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined component should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TclCircle represents a graphic element in the shape of a circle or ellipse. It can be used in applications to add various visual effects and features in user interface design.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclCircle|| Circle1 : TclCircle; || A variable belonging to the TclCircle class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewCircle|| Circle1 = Form1.AddNewCircle(Form1,'Circle1');  || A new TclCircle is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|Fill.Kind || Circle1.Fill.Kind = fbkSolid; || It is used to fill the inside of the object. This property determines how the interior fill of the object is applied. The following options can be used:&amp;lt;br&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;fbkNone&amp;lt;/b&amp;gt;: Does not fill the inside.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbkSolid&amp;lt;/b&amp;gt;: Fills the inside with a single color.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbkGradient&amp;lt;/b&amp;gt;: Fills the inside with a color gradient.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbkBitmap&amp;lt;/b&amp;gt;: Fills the inside with a bitmap image.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbkResource&amp;lt;/b&amp;gt;: Fills with a resource file (usually includes image files, text files, database connections, or similar things).&lt;br /&gt;
|-&lt;br /&gt;
|Fill.Bitmap.WrapMode || Circle1.Fill.Bitmap.WrapMode = fbwmTileOriginal; || It is used to specify a bitmap when filling the inside of the component and to control how this bitmap will be tiled. It determines how the bitmap will be placed and overlapped on a specific area. The following options can be used:&amp;lt;br&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;fbwmTile&amp;lt;/b&amp;gt;: The bitmap is tiled to completely fit the area to be filled.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbwmTileOriginal&amp;lt;/b&amp;gt;: The bitmap is tiled according to its original size, and if it exceeds the boundaries of the area to be filled, it repeats the pattern.&lt;br /&gt;
*&amp;lt;b&amp;gt;fbwmTileStretch&amp;lt;/b&amp;gt;: The bitmap is stretched to fit the area to be filled and is placed fully within the area.&lt;br /&gt;
|-&lt;br /&gt;
|Stroke.Thickness || Circle1.Stroke.Thickness = 3; || It is used to set the thickness of the object's border. A value of 0 disables the border.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
 Form1:TclGameForm;&lt;br /&gt;
 Circle1: TclCircle;&lt;br /&gt;
{&lt;br /&gt;
 Form1 = TCLGameForm.Create(Self);&lt;br /&gt;
 &lt;br /&gt;
 Circle1 = Form1.AddNewCircle(Form1, 'Circle1');&lt;br /&gt;
 Circle1.Fill.Kind = fbkBitmap; &lt;br /&gt;
 Circle1.Fill.Bitmap.WrapMode = fbwmTileOriginal;&lt;br /&gt;
 Circle1.Width = 200;&lt;br /&gt;
 Circle1.Height = 200;&lt;br /&gt;
 Circle1.Stroke.Thickness = 3;&lt;br /&gt;
 &lt;br /&gt;
 Form1.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclCircle in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the TclCircle component in Clomosy to create customizable circular or elliptical graphics for enhancing user interface designs.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=LowerCase&amp;diff=3799</id>
		<title>LowerCase</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=LowerCase&amp;diff=3799"/>
		<updated>2024-12-24T15:02:21Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function LowerCase(const S: string):string;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a copy of string with all letters converted to lower case.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
   SimpleString : String;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   SimpleString = LowerCase('I am learning CLOMOSY.');&lt;br /&gt;
   ShowMessage(SimpleString);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
i am learning clomosy.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#String_Functions | String Functions]]&lt;br /&gt;
{{#seo:|title=LowerCase Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Use the LowerCase function in Clomosy to convert all letters in a string to lowercase, ensuring uniform text formatting.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=ClMath&amp;diff=3798</id>
		<title>ClMath</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=ClMath&amp;diff=3798"/>
		<updated>2024-12-24T15:01:58Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Performs a specific mathematical or numerical operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;|Definition &lt;br /&gt;
|-&lt;br /&gt;
|GenerateRandom ||clMath.GenerateRandom(0,500) || It is used to generate random numbers in a specified range. In the example, it generates random numbers between 0 and 500. See [[GenerateRandom | page]] for details.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Cl_Utilities_Functions | Cl Utilities Functions]]&lt;br /&gt;
{{#seo:|title=ClMath in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Discover ClMath in Clomosy, designed to perform precise mathematical and numerical operations effortlessly.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Dec&amp;diff=3797</id>
		<title>Dec</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Dec&amp;diff=3797"/>
		<updated>2024-12-24T15:01:33Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
procedure Dec(var X: Integer); overload;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Dec procedure decrements the ordinal Variable parameter passed to it.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
   Number    : Integer;&lt;br /&gt;
 &lt;br /&gt;
{&lt;br /&gt;
   Number = 23;&lt;br /&gt;
   ShowMessage('Number : '+IntToStr(Number));&lt;br /&gt;
   Dec(Number);&lt;br /&gt;
   ShowMessage('Number-1 : '+IntToStr(Number));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Number : 23&amp;lt;br&amp;gt;&lt;br /&gt;
Number-1 : 22&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
{{#seo:|title=Dec Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Discover the Dec procedure in Clomosy, which decrements the ordinal variable parameter passed to it by one for efficient decrement operations.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Copy&amp;diff=3796</id>
		<title>Copy</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Copy&amp;diff=3796"/>
		<updated>2024-12-24T15:01:10Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Copy(S: String; Index: Integer; Count: Integer): string;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns a substring of a string or a segment of a dynamic array.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;b&amp;gt;S:&amp;lt;/b&amp;gt; An expression of a string or dynamic-array type.&lt;br /&gt;
:&amp;lt;b&amp;gt;Index and Count:&amp;lt;/b&amp;gt; Integer-type expressions.&lt;br /&gt;
Copy returns a substring or subarray containing Count characters or elements starting at S[Index]. The substring or subarray is a unique copy (that is, it does not share memory with S; if the elements of the array are pointers or objects, these are not copied). If Index is larger than the length of S, Copy returns an empty string or array.&amp;lt;br&amp;gt;&lt;br /&gt;
If Count specifies more characters or array elements than are available, only the characters or elements from S[Index] to the end of S are returned.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-warning&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; Copy uses one-based array indexing even on platforms where strings are zero-based. When S is a dynamic array, you can omit the Index and Count parameters, and Copy copies the entire array.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  Source, Target : string;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  Source = '12345678';&lt;br /&gt;
  Target = Copy(Source, 3, 4);&lt;br /&gt;
  ShowMessage('Target : '+Target);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Target : 3456&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#String_Functions | String Functions]]&lt;br /&gt;
{{#seo:|title=Copy in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the Copy function in Clomosy to extract a substring or segment of a dynamic array, starting at a specific index with a defined count.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Send_Email&amp;diff=3795</id>
		<title>Send Email</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Send_Email&amp;diff=3795"/>
		<updated>2024-12-24T15:00:45Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-danger&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Only premium accounts can use this.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function SendMailNoReplay(TitleStr, BodyStr, UserGUID :String):Boolean;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SendMailNoReply is used to send an email to the desired email address. When sending the email, the &amp;quot;TitleStr&amp;quot; parameter is used to specify the subject of the email, the &amp;quot;BodyStr&amp;quot; parameter is for the email content, and the final parameter is the recipient's email address.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  bodyStr, titleStr,email:string;&lt;br /&gt;
{&lt;br /&gt;
  titleStr = 'Clomosy Information';&lt;br /&gt;
  bodyStr ='Hello, a personalized email has been sent to you via the Clomosy application.';&lt;br /&gt;
  email = 'xx@gmail.com';&lt;br /&gt;
  if Clomosy.SendMailNoReplay(titleStr,bodyStr,email)&lt;br /&gt;
    ShowMessage('Mail sent.')&lt;br /&gt;
  else&lt;br /&gt;
    ShowMessage('Mail could not be sent.');&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:SendMailOutputV1.0.png|frameless|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Clomosy_Class#Notification_&amp;amp;_Messaging_System | Notification &amp;amp; Messaging System]]&lt;br /&gt;
{{#seo:|title=Send Email in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Use the SendMailNoReplay function in Clomosy to send emails, specifying the subject, content, and recipient email address (available for premium accounts).}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=InputQuery&amp;diff=3794</id>
		<title>InputQuery</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=InputQuery&amp;diff=3794"/>
		<updated>2024-12-24T15:00:16Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function InputQuery(const Caption, Prompt: string; var UserValue: string):Boolean;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The InputQuery function displays a simple dialog with the Caption and Prompt message provided. Prompts the user to enter data in a text box in the dialog. If the user presses OK, the entered data is stored in the UserValue variable and the return value is True. If the user cancels the dialog, the return value is False and all entered data is lost.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Use to prompt the user for simple data such as name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-danger&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
It is used on Windows and iOS operating systems.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
 valueName : string;&lt;br /&gt;
{&lt;br /&gt;
 repeat&lt;br /&gt;
   if not InputQuery('Project', 'Please type your name', valueName)&lt;br /&gt;
    ShowMessage('User cancelled the dialog'); &lt;br /&gt;
 until valueName &amp;lt;&amp;gt; '';&lt;br /&gt;
&lt;br /&gt;
 ShowMessage('Hello '+valueName);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:InputQueryExample.png|frameless|400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Input-Output_Functions | Input Output Functions]]&lt;br /&gt;
{{#seo:|title=Sqr Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Learn how to use the InputQuery function in Clomosy to display a dialog box for user input, storing the response in a variable for simple data collection.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Sqr&amp;diff=3793</id>
		<title>Sqr</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Sqr&amp;diff=3793"/>
		<updated>2024-12-24T14:59:36Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Sqr (Number   Integer):Integer;&amp;lt;br&amp;gt;&lt;br /&gt;
function Sqr (Number     Int64):Int64;&amp;lt;br&amp;gt;&lt;br /&gt;
function Sqr (Number Extended):Extended;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The sqr function returns the square of a number. The number may be an integer or floating point type.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In practice, a float variable is squared.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
  I,sqrI : float;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
  I = 4.5;&lt;br /&gt;
  sqrI= Sqr(I);&lt;br /&gt;
  ShowMessage('Sqr ('+FloatToStr(I)+'):'+FloatToStr(sqrI));&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Sqr(4,5):20,25&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
{{#seo:|title=Sqr Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Use the Sqr function in Clomosy to calculate the square of a number, whether it's an integer, Int64, or a floating-point value.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=ClTagInt&amp;diff=3792</id>
		<title>ClTagInt</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=ClTagInt&amp;diff=3792"/>
		<updated>2024-12-24T14:59:08Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
TCLComponent.ClTagInt :Integer;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ClTagInt property is used to store an integer value for any object. It is typically used to carry additional information or identification details specific to the object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Var  &lt;br /&gt;
 MyForm:TclForm;&lt;br /&gt;
 testPanel : TclProPanel;&lt;br /&gt;
 testBtn : TClProButton;&lt;br /&gt;
 i : Integer;&lt;br /&gt;
&lt;br /&gt;
void BtnOnClick; &lt;br /&gt;
{&lt;br /&gt;
 ShowMessage(TClProButton(Myform.Clsender).clTagInt); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
 MyForm=TclForm.Create(self);&lt;br /&gt;
 testPanel=MyForm.AddNewProPanel(MyForm,'testPanel');&lt;br /&gt;
 testPanel.Align = AlCenter;&lt;br /&gt;
 testPanel.Width = 200;&lt;br /&gt;
 testPanel.Height = 300;&lt;br /&gt;
 testPanel.clProSettings.IsRound = True;&lt;br /&gt;
 testPanel.clProSettings.RoundHeight = 10;&lt;br /&gt;
 testPanel.clProSettings.RoundWidth = 10;&lt;br /&gt;
 testPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a32a8');&lt;br /&gt;
 testPanel.clProSettings.BorderWidth = 2;&lt;br /&gt;
 testPanel.SetclProSettings(testPanel.clProSettings);&lt;br /&gt;
 &lt;br /&gt;
 for (i = 0 to 4)&lt;br /&gt;
 {&lt;br /&gt;
   testBtn = MyForm.AddNewProButton(testPanel,'testBtn'+IntToStr(i+1),'');&lt;br /&gt;
   testBtn.Align = AlTop;&lt;br /&gt;
   testBtn.caption = 'testBtn'+IntToStr(i+1);&lt;br /&gt;
   testBtn.Margins.Right = 5;&lt;br /&gt;
   testBtn.Margins.Left = 5;&lt;br /&gt;
   testBtn.Margins.Top = 5;&lt;br /&gt;
   testBtn.Height = 50;&lt;br /&gt;
   MyForm.SetImage(testBtn,'https://clomosy.com/demos/foodInformationBox.png'); &lt;br /&gt;
  &lt;br /&gt;
   testBtn.clTagInt = i+1;&lt;br /&gt;
   MyForm.AddNewEvent(testBtn,tbeOnClick,'BtnOnClick');&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 MyForm.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Cl_Utilities_Functions | Cl Utilities Functions]]&lt;br /&gt;
{{#seo:|title=ClTagInt Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Use ClTagInt in Clomosy to store integer values for object identification or extra data.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=ClomosyID&amp;diff=3791</id>
		<title>ClomosyID</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=ClomosyID&amp;diff=3791"/>
		<updated>2024-12-24T14:58:17Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Clomosy.ClomosyID :Integer;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are two different mobile applications for Clomosy: Clomosy CRM and Clomosy Learn. This feature is used to determine which application you are using. A return value of 0 means that the project was accessed through Clomosy CRM, while a value of 1 indicates that the project was accessed through Clomosy LEARN.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  appState : Integer;&lt;br /&gt;
{&lt;br /&gt;
  appState = Clomosy.ClomosyID;&lt;br /&gt;
  case appState of&lt;br /&gt;
  {&lt;br /&gt;
    0 : ShowMessage('Clomosy CRM');&lt;br /&gt;
    1 : ShowMessage('Clomosy Learn');&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Clomosy_Class#System_Function | System Functions]]&lt;br /&gt;
{{#seo:|title=ClomosyID in Clomosy - Clomosy Docs }}&lt;br /&gt;
{{#seo:|description=Use ClomosyID in Clomosy to identify whether the project is accessed via Clomosy CRM or Clomosy Learn.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclExpander&amp;diff=3790</id>
		<title>TclExpander</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclExpander&amp;diff=3790"/>
		<updated>2024-12-24T14:57:39Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewExpander(AComponent: TCLComponent; xName, xCaption: string): TclExpander;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined component should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xCaption&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : You can add a title.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Included in Clomosy's library, TclExpander is an extensible panel component. TclExpander offers a panel that can hide or open its contents with the click of a title bar by the user. It is also referred to as the accordion content structure.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclExpander || Expander1 :TclExpander; || A variable belonging to the TclExpander class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewExpander || Expander1 = Form1.AddNewExpander(Form1,'Expander1','Test');  || A new TclExpander is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|Width || Expander1.Width = 150; ||Allows adjusting the width of the expander.&lt;br /&gt;
|-&lt;br /&gt;
|Height || Expander1.Height = 50; ||Allows adjusting the height of the expander.&lt;br /&gt;
|-&lt;br /&gt;
|Align  || Expander1.Align = alTop; ||With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the [[Object_Properties#Align | page]] to learn about these features.&lt;br /&gt;
|-&lt;br /&gt;
|IsExpanded ||Expander1.IsExpanded = True; || If the application is to be displayed as a drop-down menu when it is run, the IsExpanded property is set to true as follows.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   MyForm:TclStyleForm;&lt;br /&gt;
   BtnSample:TclButton;&lt;br /&gt;
   MyVertBox:TClVertScrollBox;&lt;br /&gt;
   MyExpander1,MyExpander2:TclExpander;&lt;br /&gt;
   MyLayout1, MyLayout2:TclLayout;&lt;br /&gt;
   MyLabel1, MyLabel2:TclLabel;&lt;br /&gt;
 &lt;br /&gt;
   void BtnSampleClick;&lt;br /&gt;
   {&lt;br /&gt;
     MyExpander1.IsExpanded = Not MyExpander1.IsExpanded;&lt;br /&gt;
     MyExpander2.IsExpanded = Not MyExpander2.IsExpanded;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
   void MyExpanderClick;&lt;br /&gt;
   var&lt;br /&gt;
     senderExpander:TclExpander;&lt;br /&gt;
   {&lt;br /&gt;
     senderExpander = TclExpander(MyForm.clSender);&lt;br /&gt;
     ShowMessage(senderExpander.Text);&lt;br /&gt;
     senderExpander.IsExpanded = Not senderExpander.IsExpanded;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
 { &lt;br /&gt;
   MyForm = TclStyleForm.Create(Self);&lt;br /&gt;
   MyForm.clSetStyle(MyForm.LightSB);&lt;br /&gt;
   BtnSample= MyForm.AddNewButton(MyForm,'BtnSample','Add');&lt;br /&gt;
   BtnSample.Align = alTop;&lt;br /&gt;
   MyForm.AddNewEvent(BtnSample,tbeOnClick,'BtnSampleClick');&lt;br /&gt;
   &lt;br /&gt;
   MyVertBox= MyForm.AddNewVertScrollBox(MyForm,'MyVertBox');&lt;br /&gt;
   MyVertBox.Align = alClient;&lt;br /&gt;
 &lt;br /&gt;
   MyExpander1= MyForm.AddNewExpander(MyVertBox,'MyExpander1','');&lt;br /&gt;
   MyExpander1.Align = alTop;&lt;br /&gt;
   MyExpander1.Height = 100;&lt;br /&gt;
   MyForm.AddNewEvent(MyExpander1,tbeOnClick,'MyExpanderClick'); &lt;br /&gt;
  &lt;br /&gt;
   MyLayout1= MyForm.AddNewLayout(MyExpander1,'MyLayout1');&lt;br /&gt;
   MyLayout1.Align = alClient;&lt;br /&gt;
  &lt;br /&gt;
   MyLabel1= MyForm.AddNewLabel(MyLayout1,'MyLabel1','My Expander Label Caption');&lt;br /&gt;
   MyLabel1.Align = alTop;&lt;br /&gt;
 &lt;br /&gt;
   MyExpander2= MyForm.AddNewExpander(MyVertBox,'MyExpander2','');&lt;br /&gt;
   MyExpander2.Align = alTop;&lt;br /&gt;
   MyExpander2.Height = 100;&lt;br /&gt;
   MyForm.AddNewEvent(MyExpander2,tbeOnClick,'MyExpanderClick');&lt;br /&gt;
   &lt;br /&gt;
   MyLayout2= MyForm.AddNewLayout(MyExpander2,'MyLayout2');&lt;br /&gt;
   MyLayout2.Align = alClient;&lt;br /&gt;
   &lt;br /&gt;
   MyLabel2= MyForm.AddNewLabel(MyLayout2,'MyLabel2','My Expander Label Caption 2');&lt;br /&gt;
   MyLabel2.Align = alTop;&lt;br /&gt;
 &lt;br /&gt;
   MyForm.Run;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:TclExpanderScreen.png|frameless|350px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclExpander Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Discover TclExpander in Clomosy, a collapsible panel component for creating toggleable content, perfect for accordion-style interfaces.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclWebBrowser&amp;diff=3789</id>
		<title>TclWebBrowser</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclWebBrowser&amp;diff=3789"/>
		<updated>2024-12-24T14:56:53Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewWebBrowser(AComponent: TCLComponent; xName: string): TclWebBrowser;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; :  Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined component should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To integrate a web browser using Clomosy, you can use the TclWebBrowser component.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use it, you should create a form and create a Web Browser inside it.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 WebBrowser1 = Form1.AddNewWebBrowser(Form1,'WebBrowser1');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The 'Navigate' method is used to navigate the browser to the specified URL. This method is used when you want to load a specific web page.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 WebBrowser1.Navigate('www.google.com');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The URL property is used to determine which URL the browser is navigating to. This property returns the URL of the currently loaded page in the browser as a string value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UrlStr = WebBrowser1.URL //UrlStr : String;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using the &amp;quot;goForward&amp;quot; function refers to going to a page in a web browser's history. That means returning to the previous page from an undone step in the browser.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 WebBrowser1.goForward;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is used to go back from one page. Example: You searched on Google and want to return to the home page.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 WebBrowser1.goBack;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The CanGoBack feature specifies the browser's ability to go backwards. This property returns True if it is possible to go back one page; otherwise it returns False.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 WebBrowser1.CanGoBack;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Var&lt;br /&gt;
  MyForm:TclForm;&lt;br /&gt;
  xWeb:TclWebBrowser;&lt;br /&gt;
  xBtn,xBtn2 : TCLButton;&lt;br /&gt;
  xLyt : TclLayout;&lt;br /&gt;
 &lt;br /&gt;
  void goForwardClick;&lt;br /&gt;
  {&lt;br /&gt;
    xWeb.goForward;  &lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  void goBackClick;&lt;br /&gt;
  {&lt;br /&gt;
    if (xWeb.CanGoBack)&lt;br /&gt;
      ShowMessage('You can return to the page.')&lt;br /&gt;
    else&lt;br /&gt;
      ShowMessage('There is no page to go back to.');&lt;br /&gt;
    xWeb.goBack;  &lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
  MyForm = TclForm.Create(Self);&lt;br /&gt;
 &lt;br /&gt;
  xLyt  = MyForm.AddNewLayout(MyForm,'xLyt');&lt;br /&gt;
  xLyt.Align = alTop;&lt;br /&gt;
  xLyt.Height = 45;&lt;br /&gt;
 &lt;br /&gt;
  xBtn2 = MyForm.AddNewButton(xLyt,'xBtn2','goBack');&lt;br /&gt;
  xBtn2.Align = alLeft;&lt;br /&gt;
  xBtn2.Width = 70;&lt;br /&gt;
  MyForm.AddNewEvent(xBtn2,tbeOnClick,'goBackClick');&lt;br /&gt;
 &lt;br /&gt;
  xBtn = MyForm.AddNewButton(xLyt,'xBtn','goForward');&lt;br /&gt;
  xBtn.Align = alLeft;&lt;br /&gt;
  xBtn.Width = 70;&lt;br /&gt;
  MyForm.AddNewEvent(xBtn,tbeOnClick,'goForwardClick');&lt;br /&gt;
 &lt;br /&gt;
  xWeb= MyForm.AddNewWebBrowser(MyForm,'xWeb');  &lt;br /&gt;
  xWeb.Align = alClient;&lt;br /&gt;
  xWeb.Navigate('www.google.com');&lt;br /&gt;
 &lt;br /&gt;
  MyForm.Run;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclWebBrowser Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Use TclWebBrowser in Clomosy to integrate a web browser into your app, enabling navigation, forward/backward history, and dynamic URL loading.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclCheckBox&amp;diff=3788</id>
		<title>TclCheckBox</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclCheckBox&amp;diff=3788"/>
		<updated>2024-12-24T14:48:53Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewCheckBox(AComponent: TCLComponent; xName, xCaption: string): TclCheckBox;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined chechbox should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xCaption&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : You can add a title.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CheckBox represents a TclCheckBox style checkbox that can be open (selected) or closed (cleared). The CheckBox component gives you a choice. Select the box to turn the option on or clear the box to turn the option off.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclCheckBox || CheckBox1 : TclCheckBox; || A variable belonging to the TclCheckBox class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewCheckBox || CheckBox1 = Form1.AddNewCheckBox(Form1,'CheckBox1','Test CheckBox Caption'); || A new TclCheckBox is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|Width || CheckBox1.Width = 150; ||Allows adjusting the width of the checkbox.&lt;br /&gt;
|-&lt;br /&gt;
|Height || CheckBox1.Height = 50; ||Allows adjusting the height of the checkbox.&lt;br /&gt;
|-&lt;br /&gt;
|Align  || CheckBox1.Align = alTop; ||With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the [[Object_Properties#Align | page]] to learn about these features.&lt;br /&gt;
|-&lt;br /&gt;
|Margins || CheckBox1.Margins.Left = 50; // Right, Top, Bottom ||With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.&amp;lt;br&amp;gt;[[File:TclCheckBoxMargins.png|frameless|200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|TextSettings || CheckBox1.StyledSettings = ssFamily;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;CheckBox1.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c');&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;CheckBox1.TextSettings.Font.Size = 20;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;CheckBox1.TextSettings.Font.Style = [fsItalic]; //[fsItalic,fsUnderline] || Text formatting is performed in the component. To see the usage, see [https://www.docs.clomosy.com/index.php/Object_Properties#Text_Settings page].&lt;br /&gt;
|-&lt;br /&gt;
|Text ||CheckBox1.Text = 'CheckBox''s Text'; || It represents the text within the component. The text entered by the user or set by the program is managed through this property.&lt;br /&gt;
|-&lt;br /&gt;
|isChecked ||CheckBox1.isChecked = True; || Assign the value True or False to the Checked property to change the checkBox's visual state. As soon as it is correct, it will come selected.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example 1&amp;lt;/h2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   MyForm:TclForm;&lt;br /&gt;
   testButton : TclButton;&lt;br /&gt;
   testLabel : TclLabel;&lt;br /&gt;
   testCheckBox,testCheckBox2 : TClCheckBox;&lt;br /&gt;
 &lt;br /&gt;
 void ButtonClicked;&lt;br /&gt;
 {&lt;br /&gt;
   testCheckBox.isChecked = not testCheckBox.isChecked;&lt;br /&gt;
   testCheckBox2.isChecked = not testCheckBox2.isChecked;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   MyForm = TclForm.Create(Self);&lt;br /&gt;
   testButton= MyForm.AddNewButton(MyForm,'testButton','Click');&lt;br /&gt;
   testButton.TextSettings.Font.Size=50;&lt;br /&gt;
   testButton.Align = alCenter;&lt;br /&gt;
   testButton.Height = 50;&lt;br /&gt;
   testButton.Width = 100;&lt;br /&gt;
   &lt;br /&gt;
   testLabel = MyForm.AddNewLabel(MyForm,'testLabel','Your hobbies?');&lt;br /&gt;
   testLabel.StyledSettings = ssFamily;&lt;br /&gt;
   testLabel.TextSettings.Font.Size=25;&lt;br /&gt;
   testLabel.TextSettings.FontColor = clAlphaColor.clHexToColor('#4a08ff');&lt;br /&gt;
   testLabel.Align = alMostTop;&lt;br /&gt;
   testLabel.Height = 30;&lt;br /&gt;
   &lt;br /&gt;
   testCheckBox = MyForm.AddNewCheckBox(MyForm,'testCheckBox','Reading book');&lt;br /&gt;
   testCheckBox.StyledSettings = ssFamily;&lt;br /&gt;
   testCheckBox.TextSettings.Font.Size=15;&lt;br /&gt;
   testCheckBox.TextSettings.FontColor = clAlphaColor.clHexToColor('#272643');&lt;br /&gt;
   testCheckBox.Align = alTop;&lt;br /&gt;
   testCheckBox.Height = 30;&lt;br /&gt;
   &lt;br /&gt;
   testCheckBox2 = MyForm.AddNewCheckBox(MyForm,'testCheckBox2','Watching movie');&lt;br /&gt;
   testCheckBox2.StyledSettings = ssFamily;&lt;br /&gt;
   testCheckBox2.TextSettings.Font.Size=15;&lt;br /&gt;
   testCheckBox2.TextSettings.FontColor = clAlphaColor.clHexToColor('#272643');&lt;br /&gt;
   testCheckBox2.Align = alTop;&lt;br /&gt;
   testCheckBox2.Height = 30;&lt;br /&gt;
   &lt;br /&gt;
   MyForm.AddNewEvent(testButton,tbeOnClick,'ButtonClicked');&lt;br /&gt;
   &lt;br /&gt;
   MyForm.Run;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:CheckBox.png|frameless|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example 2&amp;lt;/h2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here is an example similar to the first one. It only involves the clicking of a checkbox component.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   Form1:TclForm;&lt;br /&gt;
   Label1 : TclLabel;&lt;br /&gt;
   CheckBox1,CheckBox2 : TClCheckBox;&lt;br /&gt;
 &lt;br /&gt;
 void CheckBoxClicked;&lt;br /&gt;
 var&lt;br /&gt;
   senderCheckBox:TClCheckBox;&lt;br /&gt;
 {&lt;br /&gt;
   senderCheckBox = TClCheckBox(Form1.Clsender);&lt;br /&gt;
   if senderCheckBox.clTagInt == 1 //CheckBox1 kontrol&lt;br /&gt;
     CheckBox2.isChecked =  senderCheckBox.isChecked &lt;br /&gt;
   else if senderCheckBox.clTagInt == 2 //CheckBox1 kontrol&lt;br /&gt;
     CheckBox1.isChecked = senderCheckBox.isChecked&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   Form1 = TclForm.Create(Self);&lt;br /&gt;
   &lt;br /&gt;
   Label1 = Form1.AddNewLabel(Form1,'Label1','Your hobbies?');&lt;br /&gt;
   Label1.StyledSettings = ssFamily;&lt;br /&gt;
   Label1.TextSettings.Font.Size=25;&lt;br /&gt;
   Label1.TextSettings.FontColor = clAlphaColor.clHexToColor('#4a08ff');&lt;br /&gt;
   Label1.Align = alMostTop;&lt;br /&gt;
   Label1.Height = 30;&lt;br /&gt;
   &lt;br /&gt;
   CheckBox1 = Form1.AddNewCheckBox(Form1,'CheckBox1','Reading book');&lt;br /&gt;
   CheckBox1.StyledSettings = ssFamily;&lt;br /&gt;
   CheckBox1.TextSettings.Font.Size=15;&lt;br /&gt;
   CheckBox1.TextSettings.FontColor = clAlphaColor.clHexToColor('#272643');&lt;br /&gt;
   CheckBox1.Align = alTop;&lt;br /&gt;
   CheckBox1.Height = 30;&lt;br /&gt;
   CheckBox1.clTagInt = 1;&lt;br /&gt;
   &lt;br /&gt;
   CheckBox2 = Form1.AddNewCheckBox(Form1,'CheckBox2','Watching movie');&lt;br /&gt;
   CheckBox2.StyledSettings = ssFamily;&lt;br /&gt;
   CheckBox2.TextSettings.Font.Size=15;&lt;br /&gt;
   CheckBox2.TextSettings.FontColor = clAlphaColor.clHexToColor('#272643');&lt;br /&gt;
   CheckBox2.Align = alTop;&lt;br /&gt;
   CheckBox2.Height = 30;&lt;br /&gt;
   CheckBox2.clTagInt = 2;&lt;br /&gt;
   Form1.AddNewEvent(CheckBox2,tbeOnClick,'CheckBoxClicked');&lt;br /&gt;
   Form1.AddNewEvent(CheckBox1,tbeOnClick,'CheckBoxClicked');&lt;br /&gt;
   &lt;br /&gt;
   Form1.Run;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclCheckBox Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Discover TclCheckBox in Clomosy, a customizable checkbox component allowing selection or deselection, ideal for user choices in forms and interfaces.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclProImage&amp;diff=3787</id>
		<title>TclProImage</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclProImage&amp;diff=3787"/>
		<updated>2024-12-24T14:46:40Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewProImage(AComponent: TCLComponent; xName: string): TClProImage;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined image should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TclProImage is used to add an image to a form. Adding visuals to an application makes it more attractive and user-friendly.&amp;lt;br&amp;gt;&lt;br /&gt;
All of the TclImage features are available. Apart from this, border color, rounding borders, image stretching and fitting features are available. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-info&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Refer to the [[TclImage]] page for standard image usage.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclProImage || ProImage1 : TclProImage; || A variable belonging to the TclProImage class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewProImage || ProImage1  = Form1.AddNewProImage(Form1,'ProImage1'); || A new image is added to the form.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to the features of a standard image, TclProImage offers new and advanced features, which we will explain in detail below.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;col-lg-6&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;div  class=&amp;quot;card d-flex flex-column justify-content-start gap-1 mb-3 h-100&amp;quot; style=&amp;quot;padding: 3;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div style=&amp;quot;font-size: 16px;font-weight: bold;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
				  clProSettings Properties&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div style=&amp;quot;font-size: 14px;font-weight: normal;text-align:justify; max-width: 350px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BorderColor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BorderWidth&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BackgroundColor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IsTransparent&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IsFill&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IsRound&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RoundHeight&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RoundWidth&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;PictureAutoFit&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;PictureStretch&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;PictureSource&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;col-lg-6&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div  class=&amp;quot;card d-flex flex-column justify-content-start gap-1 mb-3 h-100&amp;quot; style=&amp;quot;padding: 3;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-size: 16px;font-weight: bold;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
		SetupComponent Properties&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-size: 14px;font-weight: normal;text-align:justify; max-width: 350px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Width&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Height&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;PositionX&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;PositionY&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Align&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BackgroundColor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MarginTop&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MarginBottom&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MarginRight&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MarginLeft&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RoundHeight&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RoundWidth&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BorderColor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BorderWidth&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;ImgFit&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;ImgStretch&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;ImgUrl&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-warning&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
To learn the purpose and usage of the &amp;lt;b&amp;gt;SetupComponent&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;clProSettings&amp;lt;/b&amp;gt; properties, please refer to [[Pro Object Properties| the page]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For clProSettings:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Var   &lt;br /&gt;
  Form1:TclForm;&lt;br /&gt;
  ProImg1: TClProImage;&lt;br /&gt;
&lt;br /&gt;
void SetImage;&lt;br /&gt;
{&lt;br /&gt;
  ProImg1 = Form1.AddNewProImage(Form1,'ProImg1');&lt;br /&gt;
  ProImg1.Align = alCenter;&lt;br /&gt;
  ProImg1.Width = 150;&lt;br /&gt;
  ProImg1.Height = 150;&lt;br /&gt;
  ProImg1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#fabd2');&lt;br /&gt;
  ProImg1.clProSettings.RoundHeight = 10;&lt;br /&gt;
  ProImg1.clProSettings.RoundWidth = 10;&lt;br /&gt;
  ProImg1.clProSettings.BorderWidth = 2;&lt;br /&gt;
  ProImg1.clProSettings.IsFill = True; &lt;br /&gt;
  ProImg1.clProSettings.IsRound = True;&lt;br /&gt;
  ProImg1.clProSettings.PictureSource = 'https://clomosy.com/demos/computerNetwork.png';&lt;br /&gt;
  ProImg1.clProSettings.PictureAutoFit = True;&lt;br /&gt;
  ProImg1.SetclProSettings(ProImg1.clProSettings);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  Form1 = TclForm.Create(Self);&lt;br /&gt;
  SetImage;&lt;br /&gt;
  Form1.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For SetupComponent:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Var   &lt;br /&gt;
  Form1:TclForm;&lt;br /&gt;
  ProImg1: TClProImage;&lt;br /&gt;
&lt;br /&gt;
void SetImage;&lt;br /&gt;
{&lt;br /&gt;
  ProImg1 = Form1.AddNewProImage(Form1,'ProImg1');&lt;br /&gt;
  clComponent.SetupComponent(ProImg1,'{&lt;br /&gt;
  &amp;quot;Align&amp;quot; : &amp;quot;Center&amp;quot;,&lt;br /&gt;
  &amp;quot;Width&amp;quot;:150,&lt;br /&gt;
  &amp;quot;Height&amp;quot;:150,&lt;br /&gt;
  &amp;quot;BorderColor&amp;quot;:&amp;quot;#fabd2&amp;quot;,&lt;br /&gt;
  &amp;quot;BorderWidth&amp;quot;:2,&lt;br /&gt;
  &amp;quot;RoundHeight&amp;quot;:10,&lt;br /&gt;
  &amp;quot;RoundWidth&amp;quot;:10,		&lt;br /&gt;
  &amp;quot;ImgUrl&amp;quot;:&amp;quot;https://clomosy.com/demos/computerNetwork.png&amp;quot;,&lt;br /&gt;
  &amp;quot;ImgFit&amp;quot;:&amp;quot;yes&amp;quot;&lt;br /&gt;
}');&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  Form1 = TclForm.Create(Self);&lt;br /&gt;
  SetImage;&lt;br /&gt;
  Form1.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ProImage.png|frameless|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Pro Object Properties]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
{{#seo:|title=TclProImage Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Discover TclProImage in Clomosy, a versatile image component with advanced features like border customization, rounded edges, and image fitting options.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Random&amp;diff=3786</id>
		<title>Random</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Random&amp;diff=3786"/>
		<updated>2024-12-24T14:45:39Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Random: Extended;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The random function generates random numbers. These can be floating-point numbers in the following range:&amp;lt;br&amp;gt;&lt;br /&gt;
0 &amp;lt;= Number &amp;lt; 1.0 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can be used by calling as follows. This call will generate a decimal random number value between 0 and 1.&amp;lt;br&amp;gt;&lt;br /&gt;
 x = Random();&lt;br /&gt;
&lt;br /&gt;
If you want to get an integer value, define it as follows. Here it will return a random value between 0 and 100. After that, you can get values ​​as you want.&amp;lt;br&amp;gt;&lt;br /&gt;
 x = Random() * 100;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  randomNumber,randomNumber2 : Integer;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  randomNumber = Random();&lt;br /&gt;
  randomNumber2 = Random() * 100;&lt;br /&gt;
  ShowMessage(randomNumber);&lt;br /&gt;
  ShowMessage(randomNumber2);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-danger&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
It assigns a different value with each execution. The output will not be the same.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-warning&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
To generate a random number where you can specify the start and end values, visit the [[GenerateRandom|GenerateRandom]] page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
0,197623564163223&amp;lt;br&amp;gt;&lt;br /&gt;
52,8056032489985&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
{{#seo:|title=Random Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Use the Random function in Clomosy to generate floating-point random numbers between 0 and 1, or scale it for custom ranges like integers.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclMemo&amp;diff=3785</id>
		<title>TclMemo</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclMemo&amp;diff=3785"/>
		<updated>2024-12-24T14:44:43Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewMemo(AComponent: TCLComponent; xName,xCaption: string): TclMemo;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined TclMemo should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xCaption&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : A hint or message to be displayed when the Text property is empty.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TclMemo is a multiline text editing control, providing text scrolling. Use TclMemo to place a standard multiline edit control on a form. Multiline edit boxes allow the user to enter more than one line of text. They are appropriate for representing large amounts of text. The text in the memo control can be edited as a whole or line by line.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclMemo || Memo1 : TclMemo; || A variable belonging to the TclMemo class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewMemo || Memo1 = Form1.AddNewMemo(Form1,'Memo1','Test Memo Message'); || A new TclMemo is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|Width || Memo1.Width = 150; ||Allows adjusting the width of the memo.&lt;br /&gt;
|-&lt;br /&gt;
|Height || Memo1.Height = 50; ||Allows adjusting the height of the memo.&lt;br /&gt;
|-&lt;br /&gt;
|Align  || Memo1.Align = alTop; ||With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the [[Object_Properties#Align | page]] to learn about these features.&lt;br /&gt;
|-&lt;br /&gt;
|Margins || Memo1.Margins.Left = 50; // Right, Top, Bottom ||With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.&amp;lt;br&amp;gt;[[File:TclEditMargins.png|frameless|200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|TextSettings || Memo1.StyledSettings = ssFamily;&amp;lt;br&amp;gt;Memo1.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c');&amp;lt;br&amp;gt;Memo1.TextSettings.Font.Size = 20;&amp;lt;br&amp;gt;Memo1.TextSettings.Font.Style = [fsItalic]; //[fsItalic,fsUnderline] || Text formatting is performed in the component. To see the usage, see [https://www.docs.clomosy.com/index.php/Object_Properties#Text_Settings page].&lt;br /&gt;
|-&lt;br /&gt;
|Text  || Memo1.Text = 'TclMemo is a multiline text editing control, providing text scrolling. Use TclMemo to place a standard multiline edit control on a form. Multiline edit boxes allow the user to enter more than one line of text. They are appropriate for representing large amounts of text. The text in the memo control can be edited as a whole or line by line.'; || It is used to enter single line text in TclMemo.&lt;br /&gt;
|-&lt;br /&gt;
|ReadOnly ||Memo1.ReadOnly = True; || If the value of the component is set to true, it makes the component read-only.&lt;br /&gt;
|-&lt;br /&gt;
|Add ||Memo1.Lines.Add('New row'); || 'Add' is used to add data to new row in TclMemo.&lt;br /&gt;
|-&lt;br /&gt;
|Count ||integerValue = Memo1.Lines.Count; || 'Count' is used to get the number of rows in TclMemo.&lt;br /&gt;
|-&lt;br /&gt;
|Delete ||Memo1.Lines.Delete(i); //i : number of rows to be deleted || Used to delete a line in TclMemo. You must specify the number of rows as a parameter in the delete command.&lt;br /&gt;
|-&lt;br /&gt;
|WordWrap  || Memo1.TextSettings.WordWrap = True; || When a very long text is typed in TclMemo, the line scrolls sideways. It is used to prevent this, that is, to move to the bottom row when the end of the row is reached.&lt;br /&gt;
|-&lt;br /&gt;
|SelStart ||Memo1.SelStart = Length(Memo1.Text); || It positions the cursor at the end of the text by setting the length of the text within the TclMemo.&lt;br /&gt;
|-&lt;br /&gt;
| LoadFromFile ||Memo1.lines.LoadFromFile(MyFileStr,0); //MyFileStr: specifies the file path  || Using the Lines property of the TclMemo component in Clomosy, text can be loaded from a file. The LoadFromFile method loads the text from the specified file path into the TclMemo component, and this text is then displayed within the component.&lt;br /&gt;
|-&lt;br /&gt;
|SavetoFile ||Memo1.Lines.SavetoFile(MyFileStr,0); || Using the Lines property of the TclMemo component in Clomosy, text can be saved to a file. The SaveToFile method writes the lines of text from the TclMemo component to the specified file path. Passing 0 as the second parameter indicates that the operation will be performed with default options.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example 1&amp;lt;/h2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the example, a text is entered into a TclProEdit. This text is added to TclMemo via the button. We have implemented a simple application for the use of TclMemo. You can improve this application.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  MyForm:TclForm;&lt;br /&gt;
  topLyt, btnLyt, bottomLyt : TclLayout;&lt;br /&gt;
  noteEdt : TclProEdit;&lt;br /&gt;
  addBtn : TclProButton;&lt;br /&gt;
  noteAddLbl, notesLbl :TclProLabel;&lt;br /&gt;
  mainPanel : TclProPanel;&lt;br /&gt;
  noteMemo : TclMemo;&lt;br /&gt;
 &lt;br /&gt;
void BtnOnClick;&lt;br /&gt;
{&lt;br /&gt;
  noteMemo.Lines.Add('* '+noteEdt.Text);&lt;br /&gt;
  noteEdt.Text = '';&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
{&lt;br /&gt;
  MyForm = TclForm.Create(Self);&lt;br /&gt;
   &lt;br /&gt;
  mainPanel=MyForm.AddNewProPanel(MyForm,'mainPanel');&lt;br /&gt;
  mainPanel.Align = AlClient;&lt;br /&gt;
  mainPanel.Margins.Right = 5;&lt;br /&gt;
  mainPanel.Margins.Left = 5;&lt;br /&gt;
  mainPanel.Margins.Bottom = 5;&lt;br /&gt;
  mainPanel.Margins.Top = 5;&lt;br /&gt;
  mainPanel.clProSettings.IsRound = True;&lt;br /&gt;
  mainPanel.clProSettings.RoundHeight = 60;&lt;br /&gt;
  mainPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3bf5c0');&lt;br /&gt;
  mainPanel.clProSettings.BorderWidth = 1;&lt;br /&gt;
  mainPanel.SetclProSettings(mainPanel.clProSettings);&lt;br /&gt;
   &lt;br /&gt;
  topLyt = MyForm.AddNewLayout(mainPanel,'topLyt');&lt;br /&gt;
  topLyt.Align=ALMostTop;&lt;br /&gt;
  topLyt.Height = 150;&lt;br /&gt;
   &lt;br /&gt;
  noteAddLbl = MyForm.AddNewProLabel(topLyt,'noteAddLbl','Add Note');&lt;br /&gt;
  noteAddLbl.Align = AlMostTop;&lt;br /&gt;
  noteAddLbl.Width = 150;&lt;br /&gt;
  noteAddLbl.Height = 20;&lt;br /&gt;
  noteAddLbl.Margins.Left = 10;&lt;br /&gt;
  noteAddLbl.Margins.Top = 20;&lt;br /&gt;
  noteAddLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#030303');&lt;br /&gt;
  noteAddLbl.clProSettings.FontSize = 15;&lt;br /&gt;
  noteAddLbl.clProSettings.FontVertAlign = palcenter;&lt;br /&gt;
  noteAddLbl.clProSettings.FontHorzAlign = palLeading;&lt;br /&gt;
  noteAddLbl.clProSettings.TextSettings.Font.Style = [fsBold];&lt;br /&gt;
  noteAddLbl.SetclProSettings(noteAddLbl.clProSettings);&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
  noteEdt = MyForm.AddNewProEdit(topLyt,'noteEdt','Enter your note...');&lt;br /&gt;
  noteEdt.Align = AlTop;&lt;br /&gt;
  noteEdt.Height = 45;&lt;br /&gt;
  noteEdt.Margins.Right = 10;&lt;br /&gt;
  noteEdt.Margins.Left = 10;&lt;br /&gt;
  noteEdt.Margins.Top = 10;&lt;br /&gt;
  noteEdt.clProSettings.IsRound = True;&lt;br /&gt;
  noteEdt.clProSettings.RoundHeight = 10;&lt;br /&gt;
  noteEdt.clProSettings.RoundWidth = 10; &lt;br /&gt;
  noteEdt.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3bf5c0');&lt;br /&gt;
  noteEdt.clProSettings.BorderWidth = 1;&lt;br /&gt;
  noteEdt.SetclProSettings(noteEdt.clProSettings); &lt;br /&gt;
  &lt;br /&gt;
  btnLyt = MyForm.AddNewLayout(topLyt,'btnLyt');&lt;br /&gt;
  btnLyt.Align=ALBottom;&lt;br /&gt;
  btnLyt.Height = 50;&lt;br /&gt;
  &lt;br /&gt;
  addBtn = MyForm.AddNewProButton(btnLyt,'addBtn','');&lt;br /&gt;
  addBtn.Align = AlRight;&lt;br /&gt;
  addBtn.Width = 70;&lt;br /&gt;
  addBtn.Margins.Right = 10;&lt;br /&gt;
  addBtn.clProSettings.PictureSource = 'https://clomosy.com/demos/add-list.png';&lt;br /&gt;
  addBtn.SetclProSettings(addBtn.clProSettings);&lt;br /&gt;
  MyForm.AddNewEvent(addBtn,tbeOnClick,'BtnOnClick');&lt;br /&gt;
  &lt;br /&gt;
  bottomLyt = MyForm.AddNewLayout(mainPanel,'bottomLyt');&lt;br /&gt;
  bottomLyt.Align=ALTop;&lt;br /&gt;
  bottomLyt.Height = 100;&lt;br /&gt;
  bottomLyt.Margins.Top = 20;&lt;br /&gt;
  &lt;br /&gt;
  notesLbl = MyForm.AddNewProLabel(bottomLyt,'notesLbl','My Notes');&lt;br /&gt;
  notesLbl.Align = AlMostTop;&lt;br /&gt;
  notesLbl.Width = 150;&lt;br /&gt;
  notesLbl.Height = 20;&lt;br /&gt;
  notesLbl.Margins.Left = 10;&lt;br /&gt;
  notesLbl.Margins.Top = 20;&lt;br /&gt;
  notesLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#030303');&lt;br /&gt;
  notesLbl.clProSettings.FontSize = 15;&lt;br /&gt;
  notesLbl.clProSettings.FontVertAlign = palcenter;&lt;br /&gt;
  notesLbl.clProSettings.FontHorzAlign = palLeading;&lt;br /&gt;
  notesLbl.clProSettings.TextSettings.Font.Style = [fsBold];&lt;br /&gt;
  notesLbl.SetclProSettings(notesLbl.clProSettings);&lt;br /&gt;
  &lt;br /&gt;
  noteMemo = MyForm.AddNewMemo(bottomLyt,'noteMemo','');&lt;br /&gt;
  noteMemo.Align = alTop;&lt;br /&gt;
  noteMemo.Height = 200;&lt;br /&gt;
  noteMemo.Width = 150;&lt;br /&gt;
  noteMemo.Margins.Left= 10;&lt;br /&gt;
  noteMemo.Margins.Right= 10; &lt;br /&gt;
  noteMemo.Margins.Top= 10;&lt;br /&gt;
  noteMemo.ReadOnly = True;&lt;br /&gt;
  noteMemo.TextSettings.WordWrap = True;&lt;br /&gt;
  &lt;br /&gt;
  MyForm.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:TclMemoExampleScreen.png|frameless|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example 2 (LoadFromFile):&amp;lt;/h2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The example creates a form (TclForm) and a memo component (TclMemo), and adds data to a text file at a specified file path, then loads this data into the memo component. First, the Form1 and Memo1 objects are created, and the memo component is added to the form. The SaveFileAndAddData procedure opens or rewrites the file.txt file at the specified file path, adds two lines of text, and then closes the file. In the main program block, if the file.txt file does not exist, the SaveFileAndAddData procedure is called to create the file. Then, the contents of the file.txt file are loaded into the Memo1 component using LoadFromFile.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  Form1 : TclForm;&lt;br /&gt;
  Memo1: TclMemo;&lt;br /&gt;
  MyFileStr: string;&lt;br /&gt;
&lt;br /&gt;
void SaveFileAndAddData;&lt;br /&gt;
var&lt;br /&gt;
  myFile : TextFile;&lt;br /&gt;
{&lt;br /&gt;
  AssignFile(myFile, Clomosy.AppFilesPath+'file.txt');&lt;br /&gt;
  ReWrite(myFile);&lt;br /&gt;
  WriteLn(myFile, 'Task 1');&lt;br /&gt;
  WriteLn(myFile, 'Task 2');&lt;br /&gt;
  ShowMessage('Lines have been added to the file.'); &lt;br /&gt;
  CloseFile(myFile);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
{&lt;br /&gt;
  Form1 = TclForm.Create(self);&lt;br /&gt;
  Memo1 = Form1.AddNewMemo(Form1,'Memo1', '--');&lt;br /&gt;
  Memo1.Align = alCenter;&lt;br /&gt;
  Memo1.Height = Form1.clHeight/2;&lt;br /&gt;
  Memo1.Width = 300;&lt;br /&gt;
  try&lt;br /&gt;
    If not (clFileExists('file.txt',Clomosy.AppFilesPath)) &lt;br /&gt;
      SaveFileAndAddData;&lt;br /&gt;
    &lt;br /&gt;
    MyFileStr = Clomosy.AppFilesPath+'file.txt';&lt;br /&gt;
    &lt;br /&gt;
    // Upload file to Memo1&lt;br /&gt;
    Memo1.Lines.LoadFromFile(MyFileStr, 0);&lt;br /&gt;
    &lt;br /&gt;
  except&lt;br /&gt;
    ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Form1.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example 3 (SaveToFile):&amp;lt;/h2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The example creates a form (TclForm) and a memo component (TclMemo), and writes text to a file at a specified path, then saves this text to the memo component. First, the Form1 and Memo1 objects are created, and the memo component is added to the form. The MyFileStr variable specifies the path to the text file. The program opens the file with AssignFile if it does not already exist, and adds three lines of text to the Memo1 component. Then, the SaveToFile method is used to save this text to the saveFile.txt file.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  Form1 : TclForm;&lt;br /&gt;
  Memo1: TclMemo;&lt;br /&gt;
  MyFileStr: string;&lt;br /&gt;
  myFile : TextFile;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  Form1 = TclForm.Create(self);&lt;br /&gt;
  Memo1 = Form1.AddNewMemo(Form1,'Memo1', '---');&lt;br /&gt;
  Memo1.Align = alCenter;&lt;br /&gt;
  Memo1.Height = Form1.clHeight/2;&lt;br /&gt;
  Memo1.Width = 300;&lt;br /&gt;
  &lt;br /&gt;
  MyFileStr = Clomosy.AppFilesPath+'saveFile.txt';&lt;br /&gt;
  try&lt;br /&gt;
    If not (clFileExists('saveFile.txt',Clomosy.AppFilesPath)) &lt;br /&gt;
      AssignFile(myFile, Clomosy.AppFilesPath+'saveFile.txt');&lt;br /&gt;
    &lt;br /&gt;
    Memo1.Lines.Add('Row 1');&lt;br /&gt;
    Memo1.Lines.Add('Row 2');&lt;br /&gt;
    Memo1.Lines.Add('Row 3');&lt;br /&gt;
    // Upload saveFile to Memo1&lt;br /&gt;
    Memo1.Lines.SaveToFile(MyFileStr, 0);&lt;br /&gt;
    &lt;br /&gt;
  except&lt;br /&gt;
    ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Form1.Run;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclMemo Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Explore TclMemo in Clomosy, a multiline text editor for large text, with features like formatting, word wrap, and file load/save capabilities.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclLayout&amp;diff=3784</id>
		<title>TclLayout</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclLayout&amp;diff=3784"/>
		<updated>2024-12-24T14:43:08Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewLayout(AComponent: TCLComponent; xName: string): TclLayout;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined layout should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is used to arrange other components on the form. Simply put, it is used to organize buttons, labels, and other visual elements in a specific layout on a form. This layout automatically adjusts the size and position of the components, making the form appear more organized and aesthetically pleasing. TclLayout is particularly useful when creating dynamic user interfaces and adapting to different screen sizes.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The features and usage are provided in the table below.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TclLayout || Layout1 : TclLayout; || A variable belonging to the TclLayout class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewLayout || Layout1 = Form1.AddNewLayout(Form1,'Layout1'); || A new TclLayout is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|Width || Layout1.Width = 150; ||Allows adjusting the width of the layout.&lt;br /&gt;
|-&lt;br /&gt;
|Height || Layout1.Height = 50; ||Allows adjusting the height of the layout.&lt;br /&gt;
|-&lt;br /&gt;
|Align  || Layout1.Align = alTop; ||With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the [[Object_Properties#Align | page]] to learn about these features.&lt;br /&gt;
|-&lt;br /&gt;
|Margins || Layout1.Margins.Left = 50; // Right, Top, Bottom ||With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.&amp;lt;br&amp;gt;[[File:PanelAppearance.png|frameless|200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Var   &lt;br /&gt;
   MyForm:TclForm;&lt;br /&gt;
   Panel1 : TclPanel;&lt;br /&gt;
   Layout1 : TclLayout;&lt;br /&gt;
   Edit1 : TclEdit;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
   MyForm=TclForm.Create(self);&lt;br /&gt;
    &lt;br /&gt;
   Panel1=MyForm.AddNewPanel(MyForm,'Panel1');&lt;br /&gt;
   Panel1.Align=ALTop;&lt;br /&gt;
   Panel1.Height=100;&lt;br /&gt;
    &lt;br /&gt;
   Layout1 = MyForm.AddNewLayout(Panel1,'Layout1');&lt;br /&gt;
   Layout1.Align=ALCenter;&lt;br /&gt;
   Layout1.Height = 50;&lt;br /&gt;
   &lt;br /&gt;
   Edit1 = MyForm.AddNewEdit(Layout1,'Edit1','Write something...');&lt;br /&gt;
   Edit1.Align=aLLeft;&lt;br /&gt;
   Edit1.Width = 150;&lt;br /&gt;
    &lt;br /&gt;
   MyForm.Run;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Layout.png|frameless|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclLayout Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Discover TclLayout in Clomosy, a component used to organize buttons, labels, and visuals, ensuring dynamic and responsive user interface design.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=StrToInt&amp;diff=3783</id>
		<title>StrToInt</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=StrToInt&amp;diff=3783"/>
		<updated>2024-12-24T14:36:04Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function StrToInt(const S: string):Integer;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The StrToInt, it converts a string data (S) to an integer value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
   firstNumber,secondNumber,result : Integer;&lt;br /&gt;
 &lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
   firstNumber = StrToInt('100');&lt;br /&gt;
   secondNumber = StrToInt('200');&lt;br /&gt;
   result = firstNumber + secondNumber;&lt;br /&gt;
 &lt;br /&gt;
   ShowMessage('Result : '+IntToStr(result));&lt;br /&gt;
 &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Result :  300&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Type_Conversion_Functions | Type Conversion Functions]]&lt;br /&gt;
{{#seo:|title=StrToInt Using in Clomsy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Use the StrToInt function in Clomosy to convert string data into an integer, enabling arithmetic operations with ease.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=Cos&amp;diff=3782</id>
		<title>Cos</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=Cos&amp;diff=3782"/>
		<updated>2024-12-24T14:34:25Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function Cos(const X: Extended): Extended;&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Calculates the cosine of an angle.&amp;lt;br&amp;gt;&lt;br /&gt;
In Clomosy code, Cos returns the cosine of the angle X.&amp;lt;br&amp;gt;&lt;br /&gt;
X is a real-type expression that represents an angle in radians.&amp;lt;br&amp;gt; &lt;br /&gt;
PI radians 	= 180 degrees&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
   floatValue : single;&lt;br /&gt;
 &lt;br /&gt;
 const&lt;br /&gt;
   PI = 3.14;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   // The Sine of 60 degrees = 0.5&lt;br /&gt;
   floatValue = Cos(PI/3);  // = 180/3 = 60 degrees&lt;br /&gt;
   ShowMessage('Cos(PI/3) = '+FloatToStr(floatValue));&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert alert-success&amp;quot; role=&amp;quot;alert&amp;quot; data-bs-theme=&amp;quot;light&amp;quot;&amp;gt;&lt;br /&gt;
Cos(PI/3) = 0,500459689008206&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[System_Library#Math_Functions | Math Functions]]&lt;br /&gt;
{{#seo:|title=Cos Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Use the Cos function in Clomosy to calculate the cosine of an angle in radians, essential for trigonometric operations.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
	<entry>
		<id>https://www.docs.clomosy.com/index.php?title=TclButton&amp;diff=3781</id>
		<title>TclButton</title>
		<link rel="alternate" type="text/html" href="https://www.docs.clomosy.com/index.php?title=TclButton&amp;diff=3781"/>
		<updated>2024-12-24T14:32:36Z</updated>

		<summary type="html">&lt;p&gt;ClomosyAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm&amp;quot; role=&amp;quot;alert&amp;quot;&amp;gt;&lt;br /&gt;
function AddNewButton(AComponent: TCLComponent; xName, xCaption: string): TclButton;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;AComponent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : Specifies the parent of the object to be defined.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xName&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : The name of the defined button should be written.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;xCaption&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; : You can add a title.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is a component used to perform a specific action in the user interface. When a button is placed on the form, it allows the user to trigger a particular function by clicking it. For example, a &amp;quot;Save&amp;quot; button can be added to allow data to be saved.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;table-responsive&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 2px solid #c3d7e0&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color: #c3d7e0&amp;quot;| Feature  !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Use of !!style=&amp;quot;background-color: #c3d7e0&amp;quot;| Definition &lt;br /&gt;
|-&lt;br /&gt;
|TClButton || Button1 : TclButton;  || A variable belonging to the TclButton class is created.&lt;br /&gt;
|-&lt;br /&gt;
|AddNewButton || Button1 = Form1.AddNewButton(Form1,'Button1','Test Button Caption'); || A new TclButton is added to the form.&lt;br /&gt;
|-&lt;br /&gt;
|Width || Button1.Width = 150; ||Allows adjusting the width of the button.&lt;br /&gt;
|-&lt;br /&gt;
|Height || Button1.Height = 50; ||Allows adjusting the height of the button.&lt;br /&gt;
|-&lt;br /&gt;
|Align  || Button1.Align = alTop; ||With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the [[Object_Properties#Align | page]] to learn about these features.&lt;br /&gt;
|-&lt;br /&gt;
|Margins || Button1.Margins.Left = 50; // Right, Top, Bottom ||With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.&amp;lt;br&amp;gt;[[File:TclButtonMargins.png|frameless|200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Caption || Button1.Caption = 'Button Caption'; || It represents the text displayed on the component. The Caption specifies the textual label that the component presents to the user. &lt;br /&gt;
|-&lt;br /&gt;
|Text || Button1.Text = 'Button's Text'; || It represents the text within the component. The text entered by the user or set by the program is managed through this property.&lt;br /&gt;
|-&lt;br /&gt;
|TextSettings || Button1.StyledSettings = ssFamily;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Button1.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c');&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Button1.TextSettings.Font.Size = 20;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Button1.TextSettings.Font.Style = [fsItalic]; //[fsItalic,fsUnderline] || Text formatting is performed in the component. To see the usage, see [https://www.docs.clomosy.com/index.php/Object_Properties#Text_Settings page].&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
   MyForm:TclForm;&lt;br /&gt;
   testButton : TclButton;&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   MyForm = TclForm.Create(Self);&lt;br /&gt;
   testButton= MyForm.AddNewButton(MyForm,'testButton','Click');&lt;br /&gt;
   testButton.TextSettings.Font.Size=50;&lt;br /&gt;
   testButton.Align = alCenter;&lt;br /&gt;
   testButton.Height = 50;&lt;br /&gt;
   testButton.Width = 100;&lt;br /&gt;
   &lt;br /&gt;
   MyForm.AddNewEvent(testButton,tbeOnClick,'ShowMessage(''Hello'');');&lt;br /&gt;
   &lt;br /&gt;
   MyForm.Run;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Output:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Button.png|frameless|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; See Also &amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Components]]&lt;br /&gt;
* [[Object Properties]]&lt;br /&gt;
* [[AddNewEvent]]&lt;br /&gt;
{{#seo:|title=TclButton Using in Clomosy - Clomosy Docs}}&lt;br /&gt;
{{#seo:|description=Discover TclButton in Clomosy, a versatile component for triggering actions in the UI, with customizable size, alignment, margins, and text formatting.}}&lt;/div&gt;</summary>
		<author><name>ClomosyAdmin</name></author>
	</entry>
</feed>