Break
Purpose:
Exits a loop (like _For
or _While
)
or terminates a _Select
or _Switch
control structure prematurely. It allows you to jump out of the
current code block based on a condition.
Example:
_For i = 0 to 10
If i = 5 Then
_Break ' Exit the loop if i reaches 5
End If
_Next i
Case
Purpose:
Forms part of a _Select
Case..._End Select
statement, which is similar to a switch
statement in other languages. It provides a way to execute different
code blocks depending on the value of an expression.
Example:
__Select score
__Case 90 to 100
grade = "A"
__Case 80 to 89
grade = "B"
__Case_Else
grade = "Fail"
__End Select
Case_Else
Purpose:
Used within a _Select
Case..._End Select
structure to define the code to be executed if none of the other
_Case
conditions are met. It's the "default" case.
Example (continued):
__Select month
__Case "January"
days = 31
__Case "February"
days = 28 ' Or 29 in a leap year
__Case_Else
days = -1 ' Invalid month
__End Select
CgiVars
Purpose: This seems to indicate a set of variables that hold information about the current web request. It's likely related to processing web forms or dynamic content using the Common Gateway Interface (CGI).
Typical Variables and Uses:
REQUEST_METHOD
:
HTTP method (e.g., GET, POST)
QUERY_STRING
:
Data passed in the URL (after the '?')
HTTP_USER_AGENT
:
The type of web browser the user is using
REMOTE_ADDR
:
IP address of the client making the request
ClearResult
Purpose: Likely serves to reset or clear a variable or data structure that holds the results of a previous calculation, script, or process. Without more context, its exact function is hard to determine.
Create_Stat_Cols_Rows_Graph(...)
Purpose: This command seems designed to generate sophisticated dynamic statistical graphs based on data provided in columns and rows. It's highly likely that it integrates with a graphing library like Google Charts.
Potential Parameters (refer to Google Charts documentation for detailed explanations)
GraphType
:
Type of graph to create (e.g., PieChart, BarChart, LineChart)
dx
,
dy
:
Displacement/position of the graph on the page.
Width
,
Height
:
Graph dimensions.
Cols_Information
,
Rows_Information
:
Data to be visualized.
Stat_Options
:
String containing customizations (colors, labels, etc.).
Base64 Encoding/Decoding
_Dec_base64(...)
Purpose: Decodes data encoded using the Base64 format. Base64 is commonly used to represent binary data (images, files, etc.) as text, often for transmission over the internet.
Syntax:
_Dec_base64(binary_data)
Example:
encoded_message = "VGhpcyBpcyBhIHRlc3Qu"
plain_text = _Dec_base64(encoded_message)
_Dec_base64_ASCII(...)
Purpose:
Similar to _Dec_base64
but specifically tailored for decoding ASCII text that has been
Base64 encoded.
Syntax:
_Dec_base64_ASCII(plain_text)
_Enc_base64(...)
Purpose: Encodes binary data into a Base64 representation.
Syntax:
_Enc_base64(binary_data)
_Enc_base64_ASCII(...)
Purpose: Encodes plain ASCII text into a Base64 representation.
Syntax:
_Enc_base64_ASCII(plain_text)
Output Control
_Disable_Write_Output()
Purpose:
Seems to change the output mode so that standard output commands
(perhaps something like Print
or Write
)
are unavailable or redirected. I'd need more context on the
language to be certain.
_Enable_Write_Output()
Purpose:
Likely restores normal output behavior after
_Disable_Write_Output()
has been called. It might involve enabling standard output to the
console or a log file.
Looping
_Do... _End_While
Purpose:
Implements a standard Do...While
loop structure. The code within the loop executes repeatedly as
long as the specified condition at the end remains true.
Syntax:
_Do
[code to be repeated]
_End_While <condition>
Example
_Let i = 0
_Do
_Let i = i + 1
_End_While i <= 10
Conditional Logic
_If..._Then..._Else..._End_If
Purpose: A standard conditional branching structure, allowing different code blocks to execute based on whether a condition is true or false.
Syntax:
_If <condition> _Then
[code to execute if true]
_Else
[code to execute if false]
_End_If
_Else_Goto
Purpose:
This seems like a non-standard addition. It likely works in
conjunction with a _THEN_GOTO
(not provided) to implement conditional jumps within the code. This
type of construct can lead to less readable 'spaghetti code'.
File Manipulation
_File
Purpose: Designates a file to be included during some deployment or packaging process. It's likely related to creating web applications or software installers.
Syntax:
_File "Source_File", "Target_File"
Parameters:
Source_File
:
The path to the file in your development resources.
Target_File
:
The desired path/filename on the server or in the deployed
package.
Important:
Requires
a _Website_Files
and _Website_Files_End
block (not in your examples) to define the context of the file
transfer.
The target server folder needs appropriate permissions.
Looping
_For...Next
Purpose: Implements a standard counted loop. Code within the loop repeats a specified number of times.
Syntax:
_For counter = start_value to end_value [Step increment]
[code to repeat]
_Next [counter]
Example:
_For i = 0 to 5 Step 0.5
'Code executed with i = 0, 0.5, 1, 1.5... up to 5
_Next
_End_While
Purpose:
Marks the end of a Do..._End_While
loop structure (the matching _Do
is missing from your examples).
Control Flow
_Full_Break
Purpose: Terminates the execution of the entire script (or script hierarchy if called from within another script). Use this cautiously!
_Goto
Purpose:
Implements an unconditional jump to a specified line label within
the code. While functional, excessive use of _Goto
often leads to spaghetti code that's hard to read and debug.
Syntax:
_Goto
<line_label>
_If..._Then_Goto..._Else_Goto
Purpose: Conditionally jumps to different line labels based on the evaluation of an expression. It's a non-standard way to implement conditional branching.
Syntax:
_If
<condition> _Then_Goto <line_label> _Else_Goto
<line_label>
_If..._Then..._Else..._End_If
Purpose: Classic conditional branching structure. Different code blocks execute depending on whether a condition evaluates to true or false.
Variable Manipulation
_Let
Purpose: The fundamental way to assign values to variables. Variables play a crucial role in storing data and intermediate results.
Syntax:
_Let
variable_name = value_or_expression
Control Flow
_Line_Label
Purpose:
Creates a marker within the code, often used as a target for _Goto
statements. While this works, its use is discouraged in modern
programming due to potential readability issues.
Syntax:
_Line_Label
<label_name>
_Next
Purpose:
Marks the end of a _For...Next
loop and signals that the loop should iterate to the next value.
_Repeat..._Until
Purpose: Implements a loop that continues executing code until a specified condition becomes true.
Syntax:
_Repeat
[code to repeat]
_Until <condition>
Output and Data Manipulation
_Operators
Purpose: Not a standalone command, but this section outlines the essential operators provided by the language:
Concatenation:
..
(used to join strings)
Math:
+
,
-
,
/
,
*
, ^
(exponentiation), ~
(modulo)
Logical:
||
(OR), &&
(AND), comparison operators (>
,
<
,
<=
,
>=
,
==
,
<>
)
_ReplaceResult
Purpose: Modifies the output that will be sent to the user's web browser before transmission. Useful for dynamic text replacements.
Syntax:
_ReplaceResult("Text_to_Find",
"Replacement_Text")
Script/Page Execution
_Page
Purpose: Defines a webpage within your system. It controls access permissions based on IP address.
Syntax:
_Page
"Page_Name", "Authorized_IPs"
Important:
Pages without extensions seem to be stored in a database.
IP authorization works differently for pages with extensions.
_Run
Purpose: Executes another page/script within the current one.
Syntax:
_Run("Page_to_Run")
Web/System Interaction
_Print_Console
Purpose: Stores a message in a console that can be retrieved from a special URL. Likely used for debugging or logging.
Syntax:
_Print_Console("code",
"message")
_Record_Operations..._End_Record_Operations
Purpose: Creates a code block that only executes when some record is present (the exact meaning of "record" depends on the language's database integration).
Conditional Logic
_Select...Case...End_Select
Purpose:
Implements a multi-way branching structure similar to a switch
statement in other languages. Makes decisions based on the value of
an expression.
Syntax:
_Select Variable_Or_Expression
_Case Value1
[code to execute if match]
_Case Value2
[code to execute if match]
...
_Case_Else
[default code]
_End_Select
_Then
Purpose:
Used within an _If...Then...Else...End_If
structure to mark the block of code to execute if the condition
evaluates to true.
_Then_Goto
Purpose:
Used within the non-standard IF..._Then_Goto..._Else_Goto
construction to conditionally jump to a specified _Line_Label
Hashing
_Sha256(...)
Purpose: Calculates the SHA-256 cryptographic hash of a given text input. Typically used for secure password storage or data integrity checks.
_Sha512(...)
Purpose: Calculates the SHA-512 cryptographic hash of the provided text. Offers a potentially higher level of security than _SHA256 for very sensitive applications.
System Interaction
_Shell(...)
Purpose: Executes an external program on the server where the script is running. This has security implications and likely requires special server configuration.
Important Note: Use with caution due to potential security risks if not configured properly!
Looping
_Step
Purpose:
Defines the increment or decrement value for the loop counter in a
_For...Next
loop.
_Until
Purpose:
Marks the end of a _Repeat..._Until
loop, which continues until a specified condition becomes true.
_While..._End_While
Purpose: Implements a standard while loop, executing code repeatedly as long as a condition holds true.
Timeout
_TimeOut(...)
Purpose: Sets a maximum execution time (in milliseconds) for the script or a code block. Helps prevent infinite loops or overly long-running processes.
Variable Manipulation and Metaprogramming
_Variable_Name(...)
Purpose: Retrieves the name of a variable given its index within the current variable collection. This is a metaprogramming feature (code that manipulates code).
_Variable_Value(...)
Purpose: Retrieves the value of a variable given its index within the current variable collection.
Web and File Management
_Website_Files..._Website_Files_End
Purpose: Defines a block for specifying files to be deployed from your development resources to a target web server environment.
Requires:
_File
entries within the block to describe source and destination
locations.
_Website_Pages..._Website_Pages_End
Purpose: Defines a block where you specify individual web pages, their access restrictions (by IP address), and the content of those pages.
Requires:
_Page
entries within the block.
Integration:
Can include both HTML and ASP code within the _Page
sections.
Output Commands
_Write(Data_to_Output)
Purpose: Sends the specified data directly to the output console or log. This is a fundamental way to display text results during script execution.
_Write_CRLF(Data_to_Output)
Purpose:
Outputs the data and appends a "Carriage Return, Line Feed"
(\r\n
in many systems). This creates a new line in the output.
_Write_LF(Data_to_Output)
Purpose:
Outputs the data and appends a "Line Feed" (\n
on Unix-like systems). Also creates a new line in the output.
Menu Creation
_SubMenu(Sub_Menu_Name, Sub_Menu_Options)
Purpose:
Seems to be designed for creating administrative submenus. It
likely has some visual display component and might interact with a
permission system based on the _Permisos
variable.
Parameters:
Sub_Menu_Name
:
The title of the submenu.
Sub_Menu_Options
:
A string containing menu options, likely in a specific format,
possibly using icons from a font library like Font Awesome ("fa
fa-files-o", etc.).