This is part of the HicEst documentation

Functions, Descriptions, Bookmarks, Optional Keywords


HicEst MatrixExplorer is an extension of the standard DLG function to display or edit numeric arrays or text strings or any file of known structure.


General
Graphics
Input_Output
Numerics
Programming
Strings
Download

General

HicEst Windows Programming. Powerfully Simple. Free.
Integrated development environment with graphical user interface designed for immediate results in the development of Windows applications
Abstract: Short Summary of HicEst Features
What does it? For whom is it? Why use it? Areas of its use
Bookmarks
areas_of_use
for_whom
hello_world
simply_start
what_it_does
why_use_it
Optional keywords
Newcomer to HicEst?
Read this if you are not sure about the uses of HicEst. To get answers move the mouse over the questions below
Examples: 1-liners that can be combined to a script
All example statements can be executed directly in HicEst. Just paste and copy to a script window. Try and change. Discover ease and power of operation
Bookmarks
barometric_formula
basic_examples
countdown_timer
more_examples
rename_photos
Optional keywords
Debugging: How to check for errors in your script
The error case is the normal case
FAQ: Frequently Asked Questions
There are always some open questions
HowToStart: First steps in HicEst
It probably will not take more than 5 minutes to get your first test running
Bookmarks
prefabricated_script
Optional keywords
BarometricFormula: Shows FUNCTION, AXIS, LINE, ALARM
Air pressure as a FUNCTION of height over sea level and temperature. AXIS plots (h,p) axes. LINE plots pressure vs height for different temperatures.
CountDown: Shows Window, Write, Subroutine, Messagebox
A dialog sets and starts a countdown. Title and taskbar show min:sec. When time is over or a key is pressed, a modal message overlaps all other windows
Meaningful JPG names: How to change the original names
JPG names mostly are a few letters and numbes. This script prefixes EXIF times to original names. Rename again in a spreadsheet table. Undo and Redo
Bookmarks
cluster_sorted_table
edited_and_2_fields_added
matrix_explorer_export
original_to_timestamp_serial_original
Optional keywords
HelpOnHelp: Get Help in HicEst
Context sensitive F1 explains keywords and functions, variables are shown and can be changed. Tooltips and auto-completion are omni-present. Menu help

Graphics

AXIS: Draw 2-Dimensional Axes of Coordinates
A call to the AXIS function can draw up to 8 systems of axes with settings for color, caption, linear/log, grid, time/date, automatic scroll, no axis
Bookmarks
axes_of_coordinates
diagrams
mouse_input
plot_to_script_window
scale_a_graph
scroll_visible_area
xy_system
Optional keywords
Axis
BaCkcolor
Bottom
ERror
FONt
FiXmax
FixmiN
ForeColor
Grid
Height
Left
LoG
MaX
MiN
MouSeAxis
MouSeButton
MouSeCall
MouSeX
MouSeY
PRint
PoinT
Scroll
TiMe
Title
WINdowhandle
Width
Xaxis
Yaxis
LINE: Draw Lines and/or Symbols, Contours, Histograms
Line will draw scatter diagrams, line charts, contour lines, histograms, topographic maps etc. to 1 or more coordinate systems generated by AXIS
Bookmarks
appearance_of_lines
bar_charts
decorate_area
draw_line
fill_area
function_plot
histograms
line_drawing_options
move_pen
pie_charts
plot_vector
poly-line
step_plot
text_draw
topographic_maps
Optional keywords
Axis
BaCkcolor
Color
DaSH
Draw
Line
NoLine
NoZero
OneWay
PRint
PenUp
Points
STeps
Symbol
SymbolDiameter
Text
X
Y
lineWidth
Panel: Easy-Update Screen: Numeric, Text, Graphics
PaNeL is an optional keyword of HicEst's WINDOW() function. It will exactly display the template defined in the APPENDIX section of the script
Bookmarks
background_colors
cubic_beziers
ellipses
flow_lines
foreground_colors
geometrical_shapes
graphics
history_graph
initialize
mark_selected_variable
open_panel
polygons
profile_graph
rectangles
scrolling_axes
size_of_panel
template_definition
update_panel
Optional keywords

Input_Output

BEEP: System Speaker Beeps and Tunes
Generate simple beeps or compose tunes as a sequence of multi-frequency tones with varying loudness in mono or stereo. Save as WAV. Play WAV
Bookmarks
compose_tunes
generate_simple_tones
play_wav_file
write_wav_file
Optional keywords
Circle_of_Fifths: Example of a HicEst Script
Some HicEst features in a fun example that lets you play the major and minor scales: BEEP, DLG, EDIT, INIT, APPENDIX, WINDOW, SYSTEM, AXIS, WRITE, etc
COM: COM-Port Serial Communication to Receive and Send
Set physical COM-port parameters. Send data + checksum. Input: Receive data + checksum. Controls: screen echo, timeout, different waits, error, etc
Bookmarks
debug
initialize
read
write
Optional keywords
Bauds
CheckSum
ChecksumBits
ChecksumVal
Comport
DataBits
DouBLe
ERror
Echo
ExitOnInput
IgnoreInput
Lastchar
LastcharX
OnErroritem
Parity
Receive
Send
StopBits
Timeout
WaitBIts
Waitbyte
Colors: Color Attributes in HicEst
Set colors by the RGB function, or by the Backcolor and Forecolor keywords of WRITE, AXIS, LINE, WINDOW, DLG, or in the Decoration or Panel keywords
Bookmarks
color_definition
global_color_definition
Optional keywords
DeCoRation: Geometrical Shapes for Screen or Print
Decoration patterns are most useful in the WINDOW(Panel) function to separate numbers, texts, graphics
Bookmarks
background_color
bezier
clear_screen_to_a_specified_pattern
color_style_type
ellipse
foreground_color
output_margins
page_feeds
polygon
polyline
real_time_flowsheet_data
rectangle
suppress_page_scroll
what_you_see_is_what_you_get
Optional keywords
B
BC
BE
EL
FC
H
L
LI
NOUP
PO
R
RA
T
W
WYS
DLG: Interactive Screen Input and Output with HicEst
Commands like DLG(Button=my_button, Edit=my_variable, ListBox=my_words, ...) make the use of Windows common dialogs an easy thing
Bookmarks
alternate_syntax
an_example
bitmap_button
breakpoint
button_details
calling_a_subroutine
checkbox_details
combobox_details
dialog_management
draw_attention
dynamically_generate_dialogs
edit_details
font-size_and_font
force_button_return
full_screen_edit
hotkey
icon_buttons
label_jump
linewrap
listbox_details
mail_client
modal_dialog
modeless_dialog
no_caption_bar
numerical_modifiers
open_browser
position_individual_control
positional_modifiers
prefixed_dialog_item
print_dialog
radio-button_details
run_mode_button
sorting_a_dialog_list
step_mode
stop_program_execution
undo_in_edit_controls
visual_support
Optional keywords
Align
BLAck
BORder
BaCkcolor
BiTteXt
Button
CALLback
CHIld
CHanGed
CHeckbox
CenterAlign
ColS
ComBobox
DEFault
DNum
DefHeight
DefWidth
Edit
EnAble
FONt
FRAMe
FixedFont
FocuS
ForeColor
GRAY
Group
GroupEnd
Height
HelpFile
Jumpto
KiLl
LeftAlign
Line
ListBox
MAx
MIn
NameEdit
NoClose
Owner
PassWord
PoinT
ProgressBar
RADio
REct
ReadOnly
ReturnCode
RightAlign
SEParators
SHOW
SOrt
SPace
ScrollBar
SelIdx
SelTxt
SetMemory
TItle
Text
TrackBar
UPDAte
UpDown
Vertical
WHIte
WINdowhandle
WRap
Width
X
X0
XMemoryadd
Y
Y0
YMemoryadd
Fonts: Appearance of Strings on Screen or Print
A Windows font is a combination of typeface, point size and a few other characteristics. HicEst offers several ways to select a font
Bookmarks
font_attribute_examples
Optional keywords
BolD
FONt
ITalic
PoinT
UnderLine
Format: Structure Output Lists
Format is used in the READ and WRITE functions. For MatrixExplorer also in the DLG, OPEN, SORT functions to display or edit files, arrays or strings
Bookmarks
binary_formats
character_format
floating_point_formats
format_control_specifiers
formatting_of_column_headers
free_numeric_input_format
integer_formats
maximum_significance_for_given_width
output_format_width_as_needed
picture_output_format
right-adjust_strings
time_format
width_directed_output_format
Optional keywords
MatrixExplorer: Spreadsheet-like String, Array, File Dialog
HicEst MatrixExplorer is an extension of the standard DLG function to display or edit numeric arrays or text strings or any file of known structure
Bookmarks
append_row
callback_subroutine
change_column_order
column_headers
controls
default_numerical_format
delete_row
disk_file_and_internal_arrays
example
interactive
matrix_element_type_and_width
mixed_numerical_and_string_arrays
modify_calling_control
multi_column_controls
multi_matrices
numerical_columns
read_element
row_headers
sort_columns
string_columns
string_controls
write_element
Optional keywords
Button
CALLback
CHeckbox
COL
CoNtrols
ColSel
ColTitle
DNum
DefHeight
Edit
Format
Height
Line
MAx
MIn
ProgressBar
ROW
ReturnCode
RowSel
RowTitle
ScrollBar
TItle
Text
TrackBar
UPDAte
UpDown
WINdowhandle
Width
ZeroBlank
OPEN a File for Read, Write, Sort, or MatrixExplorer
To start standard file operations and the spreadsheet-like MatrixExplorer with direct access to ordered and to non standardized files (CSV etc.)
Bookmarks
existing_file
file-filter
file-matrix-io
file_manager
multi-line_records
no-break_pairs
read_edit_save
skip_top_file_lines
stream_io
Optional keywords
APPend
BINary
DIRect
DREAWRI
DenyREAd
DenyWRIte
ERror
FIle
FORmatteD
FiLTer
Format
GetRecL
IOStat
LENgth
NEW
OLD
RePLace
ReadOnly
RecL
SCRatch
SEQuential
UNFormatted
WriteOnly
POP: Create Popup Menu, Immediate or Mouse Activated
The POP function lets you pop up a menu. A callback subroutine is called in response to a mouse button click, or can also be called script controlled
Bookmarks
callback_subroutine
Optional keywords
Menu
MenuTypes
Owner
Poptype
SelTxt
X
Y
Print: Line Printer Output
PRint is an optional keyword to the AXIS, WRITE, or WINDOW functions. It has no stand-alone meaning
Bookmarks
dialog_box_print
print_under_program_control
printer_tool
printing_geometrical_shapes
Optional keywords
Quintenzirkel als Beispiel für ein HicEst Script
Zeigt am Beispiel des Aufbaus von Dur und Moll Tonarten einige HicEst Funktionen: BEEP, DLG, EDIT, INIT, APPENDIX, WINDOW, SYSTEM, AXIS, WRITE, etc.
READ: Input from Text Strings, Files, Clipboard, and Window
READ is the companion function to WRITE. Often the FOrmat keyword is needed to interpret the data correctly. Files require a preceding OPEN
Bookmarks
direct_read
formatted_sequential_read
get_file_length
inquire_operations
matrix_file_read
medium_to_read_from
next_occurence
numeric_search_matrix_file
paste_from_clipboard_to_string
read_n-th_file_line
record_n_of_direct_file
search_files_for_string
start_position_file_search
stream-io_read
string_search_matrix_file
unformatted_sequential_read
Optional keywords
CLoSe
ClipBoard
Column
DecimalPoint
ERror
FIle
Format
IOStat
ItemS
LENgth
Messagebox
Rec
Row
SEArch
Text
WINdowhandle
WINDOW: Create, Texts, Graphics, Files, Display-Panels
Optionally set title, dimension, position, display state, text, menus, toolbar. For texts, file display, graphics, mixed graphic/text life panels etc
Bookmarks
clear_window
display_existing_file
margin_space
menu-bar_options
paint_window
save_window
tool_bar_options
Optional keywords
BOld
BaCkcolor
BottomSpace
FONt
ForeColor
ForeGround
GraphicsFont
HIDE
Height
ITalic
Kill
Left
LeftSpace
LoaD
MAXimize
MINimize
Menu
MenuTypes
NORMal
Owner
PRint
PaNeL
PoinT
ROTate
RightSpace
SaveAs
SelTxt
TItle
ToolTypes
Toolbar
TopSpace
UPDAtepanel
UnderLine
Up
WINdowhandle
Width
X
Y
WRITE to String, File, Window, Messagebox, ClipBoard, StatusBar, TitleBar, TaskBar
How HicEst formats and outputs data, adds color, adds decoration or geometrical shapes, aligns data, selects fonts, renames, closes or deletes files
Bookmarks
append_formatted_list_to_string
comma_separated_variables
copy_list_to_clipboard
current_time
file_output_options
fill_a_format_template
formatting_output
matrix_file_output
maximum_numeric_output_digits
move_a_file
no_format_at_all_option
output_medium_selection
quote_list_items
standard_format
string_delimiters
transparent_write
window_output_options
write_multi_column_output
Optional keywords
APPend
Align
BaCkcolor
BolD
CLoSe
COLumnS
ClipBoard
Column
DELETE
DeCoRation
ERror
FIle
FLUsh
FONt
ForeColor
Format
IOStat
ITalic
ItemS
LENgth
Messagebox
PRint
PoinT
REName
ROTate
Rec
Row
StatusBar
Text
TitleBar
UnderLine
WINdowhandle

Numerics

Arrays: Vectors and Matrices
HicEst knows 1- or 2-dimensional rectangular arrays as vectors (1 row, n columns) or m x n matrices. Higher order array can be realized with ALIAS
ABS: Absolute Value of x
The absolute value or modulus of a real number x is the non-negative value of x disregarding its sign.
ACOS(x): Arccosine of x
ACOS(x) is the inverse trigonometric function of COS(x)
ASIN(x): Arcsine of x
ASIN(x) is the inverse trigonometric function of SIN(x)
ATAN(x): Arctangent of x
atan(x) is the inverse of tan(x). It is for example the solution of integral( 1/(x2 + 1) )
COS(x): Cosine of x
In a right triangle the cosine of an angle is the ratio of the length of the adjacent side to the length of the hypotenuse
COSH(x): Hyperbolic Cosine of x
cosh(x) occurs in the solutions of many linear differential equations like d2y/dx2 = y with c1*sinh(x) + c2*cosh(x) as solution
DIFFEQ: Solve (Systems of) Differential Equations
Numeric solution of ordinary (ODE) or parabolic (PDE) differential equations in a 1-line statement with an additional callback subroutine
Bookmarks
ordinary_differential_equations
parabolic_differential_equations
partial_differential_equations
reaction-diffusion_equations
Optional keywords
BCFdiff
CallBack
DT1
DY
ERror
Eddy
Go
NonZero
Rateatx
T
T0
TOLerance
Velocity
X
Y
YFeed
itrOK
EXP(x): Exponential Function
EXP(1) is 2.71828182845905. The inversion is x = LOG(2.71828182845905) with x = 1. Related are expressions like base**x with base = 10 for example
INTPOL: Linear, Cubic, Inverse, Derivatives, Integral
HicEst numeric linear or cubic Akima interpolation of xy data. Roots, Find, 1st and 2nd derivative, integration
Bookmarks
cubic_akima_interpolation
extrapolation
first_derivative
interpolated_roots
linear_interpolation
numeric_integration
second_derivative
y_interpolated
Optional keywords
D2ydx
DYdx
ERror
Find
Init
X2
XVector
Xi
YVector
LOG: Logarithm, Optional 2nd Argument is Base
LOG(x) computes the natural logarithm of x. LOG(x,b) computes the base b logarithm of x. The inverses are EXP(x) and b**x resp
Bookmarks
base_b_logarithm
natural_logarithm
Optional keywords
RAN: Random Number Generation
Generate Pseudorandom Numbers or an Array of such Numbers. Set a range of sucht numbers. Plant a seed
Bookmarks
array_of_random_numbers
generate_pseudorandom_numbers
random_number_seed
range_of_random_numbers
Optional keywords
ROOTS: Quadratic Equations and Cubic Equations
Roots provides algebraic solutions for quadratic and cubic equations
Bookmarks
cubic_equations
quadratic_equations
Optional keywords
SIN(X): Sine of x
In a right triangle sin is the ratio of the length of the side that is opposite that angle to the length of the longest side of the triangle
SINH(x): Hyperbolic Sine of x
sinh(x) occurs in the solutions of many linear differential equations like d2y/dx2 = y with c1*sinh(x) + c2*cosh(x) as solution
SOLVE: Linear and Nonlinear Equations and Data Fit
Find roots or minima of nonlinear algebraic equations or perform least-square-fit to data of an overdetermined system (Levenberg-Marquardt)
Bookmarks
callback_function
cubic_equations
function_minimum
inline_expression
inversed_matrix
linear_equations
quadratic_equations
quintic_equation
root_of_function
tolerance_weights
transpose_matrix
Optional keywords
Const
DATA
DataIdx
ERror
Iters
Limit
MaXIters
NUL
NumDiff
STDdev
Speed1
SpeedHigh
SpeedLow
SpeedStop
Unknown
UnknownIdx
SUM: Sum of an Array or String Argument
Sum of all elements in an entire array, or sum of the ASCII values of all characters in a string. More versatile is the inline-loop construct
TAN(x): Tangent of x
In a right triangle the tangent of an angle is the ratio of the length of the opposite side to the length of the adjacent side
TANH(x): Hyperbolic Tangent of x
tan(x) occurs in the solutions of many linear differential equations. For example it is one solution of dy/dx = 1 - y*y

Programming

Programming: The Elements of HicEst
Programming elements like structure, procedures, specifications, expressions, assignments, execution control, loops, jumps, errors, debugging
Bookmarks
and
appendix
array
break_on_change_dialog
character_strings
conditional_execution
debugging
execution_control
exponentiation
expressions_and_assignments
inline_loop
jump
label
logical
loop
main_program
on_error_jump
operator_precedence
or
procedures
program_structure
relational
scalar_numeric
specifications
substrings
unity_matrix
use
Optional keywords
Data Types
Default data type is 8-byte floating point
FromTo Op ":" Select Subarrays or Substrings
Operator ":" provides a sub-array, or a sub-string for use in (InlineLoop-) expressions or in MatrixExplorer for partial file matrices
>< HicEst SWAP operator
The swap operator swaps the values of the left-hand side and the right hand side
Bookmarks
file_sections
Optional keywords
$: Index to Facilitate Array and String Operations
When working with arrays or strings $ is the left-hand side linear array index for InlineLoop use
Bookmarks
block_array
factorial_n
matrix_to_vector
string_index_operations
unity_matrix
vector_elements
Optional keywords
$$: Menu, Toolbar, or Popup Button Number
The global variable returns the clicked menu, toolbar, or popup button number
$1: Loop Index of an Inline-loop-expression
$1 is the current inline-loop index used in 1 statement sums or other matrix operations, or string ops like palindrome check
Bookmarks
file_section_inline_loop
implicit_index
matrix_product
matrix_times_matrix
text_inline_loop
Optional keywords
$C: Column Index of left hand side Array
The global HicEst variable $C is the current column number of a left-hand side matrix and can be used in right-hand side inline-loop operations
$CMD_LINE: Retrieve the Command Line String
Global Variable $CMD_LINE has the command line string as reported by Windows when HicEst is started from a command line or from WINDOWS shell command
Bookmarks
set_variables_from_command_line
start_in_run_mode
Optional keywords
$R: Row Index of Left Hand Side Array
The global HicEst variable $R is the current row number of a left-hand side matrix and can be used in right-hand side inline-loop operations
Bookmarks
running_column_sum
Optional keywords
$SystemVariables: 10 Predefined Global Variables
Loop index $, menu item $$, $R, $C left side row, column, inline-loop index $1, carriage return $CR, linefeed $LF, CR+LF $CRLF, tab $TAB, $CMD_LINE
Bookmarks
carriage_return
line_feed
tabulator
Optional keywords
ALARM: Asynchronous Procedure Calls
F2-F9 can be programmed as delayed subroutine calls (script still running). For repetitive actions, reminders, data acquisition. Key also calls F2-F9
Bookmarks
clear_stack
delay_indefinitely
delayed_subroutine_call
quit_immediately
turn_off
turn_off_any_pending_alarms
wait__for_event
Optional keywords
ALIAS: Dynamically Redefine Arrays and Strings
Share memory for strings or arrays to allow named substrings or subarrays, mostly for readability and ease of programming, but also to save memory
Bookmarks
collect_scalars_to_a_vector
dynamically_rename_or_redefine_array_segments
rename_or_redefine_string_segments_dynamically
share_storage
Optional keywords
Base
Columns
ERror
Index
Length
Matrix
Number
Rows
String
TrailingSpace
Vector
ALLOCATE: Expand Array or String Dimensions
If memory runs short in running a script, the allocated array or string lengths can be expanded
Bookmarks
dynamically_increase_string_length
equivalence
increase_array_size
named_substrings
rename_part_of_an_array
reshape_matrix
Optional keywords
APPENDIX: Store Bulky Data Noncompiled at Script End
Arrays or strings can be stored in an appendix to the script to restore or alternate data at run time. Work off placeholders with the EDIT function
Bookmarks
appendix_chapters
dialogs_and_appendix
evaluate_appendix
panel_definition
read_appendix
script_appendix
Optional keywords
BITS: Handling BITS and BYTES in string and numeric arrays
Perform operations like set, flip, clear, copy, move, shift, rotate, translate, lows, highs, count bits in groups of rows, columns, boxes, and rings
Bookmarks
Optional keywords
AND
BOX
Base
BitCount
BoxDim
CLR
CoPy
EOR
ERROR
FLiP
GetVal
High0
High1
IFClr
IFEq
IFGt
IFLOC
IFLt
IFNeq
IFSet
JumpBase
LocGet
Low0
Low1
MoVe
OR
ORIGin
POOL
RING
ROTate
RowsColsBits
SHiFt
SetBit
SetVal
X
XLate
Y
CALL: Call a SUBROUTINE
Call transfers control to the 1st statement of a subroutine
CEILING(x) is the Smallest Integer ≥ x
Related functions are INT, NINT, FLOOR, ABS, MOD
CONTINUE: a No-Operation Statement
Continue with a label is used as the target of an ERROR-exit of any function, as target of a GOTO, instead ENDDO in a labeled DO, or as a place holder
DATA: Initialize Numeric Entities at Compile Time
A DATA statement assigns initial values to numeric variables before program execution. Related are the REAL and CHARACTER statements
DIMENSION: Define a Numeric Array
The HicEst DIMENSION and REAL statements define the number of numeric array elements
DLL: Run-Time Dynamic Linking
Call Windows APIs or own DLLs directly from a HicEst script
Bookmarks
get_memory_status
Optional keywords
CHar0P
CHarP
ERror
ErrIf
ErrIfNot
HINSTance
I1
I1P
I1U
I1UP
I2
I2P
I2U
I2UP
I4
I4P
I4U
I4UP
I8P
Module
Procedure
R4
R4P
R8P
STrucP
Unload
Wdw1
DO: First Statement of a standard Loop
Start index, end index and step size can be controlled by the loop parameters. This is in contrast to HicEst inline-loops or EDIT-loops
ELSE: Block of Statements Executed when IF/ELSEIF False
Part of an IF THEN ELSEIF ELSE ENDIF construct. Follows ELSEIF and precedes ENDIF
ELSEIF: Statements Executed when foregoing IF False
Part of an IF ELSEIF ELSE ENDIF construct. if needed follows an IF or other ELSEIF
END: Terminate the Current Script Procedure
Ends the main programm. END in a subroutine or a function returns control back to the calling procedure
ENDDO: Terminate a Loop
A standard DO loop needs to be terminated by a ENDDO or a labeled CONTINUE. However, inline-loops and EDIT-loops are exited on an error condition
ENDIF: Terminate an IF THEN ELSEIF ELSE ENDIF construct
ENDIF must be the last statement in the IF THEN ELSEIF ELSE ENDIF construct
FLOOR(x) is the Greatest Integer ≤ x
Related functions are INT, NINT, CEILING, ABS, MOD
FUNCTION is Invoked in Expression and Returns a Value
Functions can be called from anywhere in the script. They are locally encapsulated, or they can share some or all variables with other procedures
FUZ: Fuzzy Logic Fuzzification and Defuzzification
Fuzzy control or decisions based on empirical rules can be an interesting alternative when a mathematical model does not exist or is too complex
Bookmarks
defuzzification
fuzzification
fuzzy_expert_system
inferences
Optional keywords
GOTO: Jump to a Label
GOTO label transfers control to a labeled target statement. Note that the GOTO statement is frowned upon, but it can still sometimes be useful
IAND: Bitwise Logical AND
The AND function is used to set the result bit when both bits of its 2 arguments are set, otherwise the bit is zero
Bookmarks
clear_bit_n
logically_and_bits
test_bit_n
Optional keywords
IEOR: Bitwise Logical Exclusive OR
The exclusive IEOR function is used to set the result bit when the bits of its 2 arguments are different, otherwise the bit is zero
Bookmarks
bitwise_either-or
Optional keywords
IF: Start a Conditionally Executed Statement
Conditionally executes a group of statements, depending on the value of an expression
Bookmarks
conditional_execution
Optional keywords
INDEX of Text in String or File Column, Number in Array
Optionally with case, word, backward, scan, nearest, verify, regex, count, sorted, and scalar in a file-matrix column
Bookmarks
alphabetical_order
backward_search
comparison_tolerance
count_occurences
find_options
inverted_index
numeric_file_matrix_search
regex
regular_expression
scalar_in_vector_search
scan
search_substring_in_string
string_in_file_matrix_search
verify
Optional keywords
Inline-Loops for Efficient Array or String Operations
Left-hand indexes $, $R, $C and right hand inline-loop index $1 can additionally control file sections, binomials, matrix products, concatenations, etc
Bookmarks
binomial_coefficients
factorial
file_section_inline_loop
hilbert_matrix
matrix_product
n_choose_k
string_inline_loop
trace
Optional keywords
INIT: Dynamically Initialize Data from String
Initialize strings, variables, array elements, and arrays to free the script from lengthy initializations
Bookmarks
continuation_lines
Optional keywords
INT(x): Convert x to Next Integer Equal or Below
Related functions are NINT, FLOOR, CEILING, ABS, MOD
IOR: Bitwise Logical OR
The inclusive IOR function is used to set the result bit when either one bit of its 2 arguments is set
Bookmarks
set_bit
Optional keywords
KEY: Mouse Input, Shift Status, Scancode
HicEst function to asynchronously monitor keyboard or mouse activities to control the running script execution
Bookmarks
Optional keywords
ALt
Ascii
CApital
Control
Mouse
Numlock
SCRoll
SHift
Scan
LOCK Keyboard to Prevent Interference at Run-Time
The LOCK function locks the keyboard while the script is running. It unlocks when the locking key is hit on the keyboard. Useful in Process Control
MAX: Maximum of Scalar Arguments, or of an Array
The MAX function finds the maximum value of an array, while MAXLOC finds its position
Bookmarks
maximum_value
Optional keywords
MAXLOC: Location of Maximum Value in an Array
The MAXLOC function finds the linear maximum value element position of an array, while MAX finds the maximum value
Bookmarks
maximum_value_location
Optional keywords
MIN: Minimum Value of Scalar Arguments, or of an Array
The MIN function finds the minimum value of an array, while MINLOC finds its position
Bookmarks
minimum_value
Optional keywords
MINLOC: Location of Minimum Value in an Array
The MINLOC function finds the linear minimum value element position of an array, while MIN finds the minimum value
Bookmarks
minimum_value_location
Optional keywords
MOD(x,y): Remainder of x Divided by y
Related functions are INT, NINT, FLOOR, CEILING, ABS
Bookmarks
remainder
Optional keywords
NINT(x): Convert x to Nearest Integer
Related functions are INT, FLOOR, CEILING, ABS, MOD
NOT: Bitwise Logical Compliment
The NOT function is used to toggle the specified bits of its argument
Bookmarks
toggle_bits
Optional keywords
Optional Function Arguments (Keywords) in HicEst
The syntax of HicEst functions with optional arguments is described along with the argument data type used in this documentation
Bookmarks
improve_readability
Optional keywords
REAL: Define Symbolic Names to be of Real Data Type
REAL defines scalars and arrays and allows to initialize scalars. Related are the CHARACTER and DATA statements
RETURN: Exit Subroutine or Function prior to END
RETURN transfers control from a subprogram back to the calling program unit
RGB: Red Green Blue Composite Colors
RGB(red, green, blue) builds a color value from its primary components ranging between 0 and 255
Bookmarks
predefined_color
Optional keywords
SIGN(x,y): Absolute of x Times Sign of y
The result is ABS(x) if y ≥ 0 and -ABS(x) if y < 0
SORT Vectors, or Numeric-Text Mixed Matrix Files
How to index sort, rank sort, and cluster sort vectors or mixed numeric-text files. Also Standard and Cluster sorts in MatrixExplorer are described
Bookmarks
clustersort
co-sort
comma_separated_variables
file-columns
interactive_file_sort
mixed_text_numeric_files
options
script_controlled_file_sort
sort_file_along_index_vector
sort_strings
vectors
Optional keywords
CLUSter
Column
DELDouBLes
Descending
ERror
FIle
Groups
Index
Option
PhySsort
Rank
Sorted
Vector
STRUCT: Data structure mostly for use with DLLs
To define, set the order and data type of structure members, and to initialize a structure of integers, floating point numbers, and other structures.
Bookmarks
define_4_member_struct
define_struct_of_structs
display_structure
Optional keywords
Bytes
CHar
CHar0
CHar0P
CHarP
GetPage
I1
I1P
I1U
I1UP
I2
I2P
I2U
I2UP
I4
I4P
I4U
I4UP
I8
I8P
R4
R4P
R8
R8P
STruc
STrucP
SetPage
SUBROUTINE: Initial Statement of Subroutine subprogram
Subroutines can be called from anywhere in the script. They are locally encapsulated, or they can share some or all variables with other procedures
SYSTEM: Calls to the Windows Operating System
Many types of file listings. Directory commands. Copy, Delete. Wait. Window sizes. Fonts. Shell calls: browser, mail client, explorer, CMD, etc.
Bookmarks
autorun_mode
browser
command_interpreter
copy_delete
csv
directory_append
directory_commands
directory_create
directory_elements_read
directory_get
directory_list_edit
directory_set
e-mail
environment
error_handling
explorer
file-list
file_attributes
files_and_folders
font_commands
hard_disk_serial_number
program_start_wait
script_execution
start_programs
time_stamp
wait_msec
window_parameters
Optional keywords
APPend
BOld
CHain
COPY
COPYTO
CoMmanD
DELETE
DIR
FIle
FONt
FT
FoNtnr
GEteNV
HDNR
ITalic
Mode
PoinT
RUN
SETDIR
SHell
SORt
STYle
UnderLine
WAIT
WINdowhandle
getHeight
getWidth
getXPixels
getYPixels
setENV
TIME and Date: Set and Convert. Calendar Functions
Get current time, CPUtime, date, day of the week. Format can be Excel, Gregorian, sec, min, hour, day, month, year, century, YYYYMMDDHHmmSS.sss
Bookmarks
display_elapsed_cpu_times
measure_cpu_time
Optional keywords
Day
Excel
Gregorian
Hour
MInute
MOnth
MSec
Sec
TO
WeekDay
YYYYMMDD
Year
THEN: Terminates a Block IF or ELSEIF Statement Line
IF( expression1 ) THEN or ELSEIF( expression2 ) THEN are parts of an IF THEN ELSEIF ELSE ENDIF construct
USE Variables in Local Procedure from other Modules
USE gives a SUBROUTINE or FUNCTION accessibility to variables in another SUBROUTINE or FUNCTION or in the main section of the script
XEQ: Compile and Execute a Character String
This allows to execute an interactively built character string under script control. Currently available variables can be used and changed this way

Strings

Strings in HicEst
String operations like definition, assign, swap, indexing, substring, space controlled join, conversion, searching, editing, inline-loop, query
CHAR: Character from Position in ASCII Character Set
CHAR(i) is the character at the ASCII position i. CHAR also serves to divide a linear string in substrings of equal length in 1 or 2 dimensions
Bookmarks
array_of_substrings
null_character
Optional keywords
CHARACTER: Specify and Initialize Character Strings
A character string is a contiguous sequence of bytes in memory. It must be specified before it is used in the script
Bookmarks
defining_a_string
dynamically_change_string_length
rename_or_shrink_a_string
string_delimiters
substring_definitions
Optional keywords
EDIT: Lots of String Operations in one Single Statement
For strings as long as Shakespeares Complete Works do case changes, searches, replaces, counts, parses, extracts, sorts, lexicons, inverted indexes
Bookmarks
append_separator_and_string
copy_string
count_occurences
delete_substring
insert_string
lowercase_string
parse_string
remove_double_entries
replace_string
search_options
sorted_query_result
string_edit_error_control
tabify_string
uppercase_string
Optional keywords
APpendTo
Begin
CoPyTo
ContInueiF
Count
DO
Delete
ELSE
ENDIF
ERror
EXTRA
EXit
End
GetPosition
ID1
ID2
IDentification
IF
ITeM
Insert
InvertedIndex
LeXicon
Left
LowerCase
Mark1
Mark2
Marks
MatriX
OFfSet
Option
Parse
RaNge
RangEend
RangeBegin
RePLaceby
Right
ScaNnot
ScaNnotLeft
ScanFor
ScanForLeft
SePaRators
SetPosition
SorTColumn1
SorTSequence
SorTedtext
SorTtoIndex
SortDelDbls
SortFromIndex
TabiFyfont
Text
UpperCase
Word
WordEnd
ICHAR(c): Index of c in the ASCII Table
The result is the position of the 1-byte character c in the ASCII character set
InvertedIndex: EDIT Keyword to Map Words to Data Base
The EDIT-InvertedIndex keyword maps words or phrases of one or more text files to a common data base for multi-word searches. Alternatively see Lexicon
Bookmarks
add_and_update
document_identification
frame_part_document
individual_plays_shakespeare_example
invertedindex_keywords
multiple_clippings
once_only_shakespeare_example
preset_lexicon
sort_query_result
stopwords
testing_invidx
Optional keywords
DO
EXTRA
ID1
ID2
IDentification
InvertedIndex
Mark1
Mark2
OFfSet
Option
SorTSequence
Text
InvertedIndexQuery: Query an existing Inverted Index
A left hand side argument to HicEsts EDIT function with the keyword InvertedIndex=existing_index will be assigned the queried text or numeric result
Bookmarks
exclude_occurence
inverted_index_keywords
left_expand
near_query
query_direction
regular_expression_query
result_type
right_expand
sort_query_result
standard_query
Optional keywords
EXTRA
IDentification
InvertedIndex
Option
SorTSequence
Text
Details of the EDIT-function Inverted Index structure
How to extract data from the inverted index structure
Join: Space Controlled Catenate of 2 Strings
The ampersand operator serves to join 2 strings with a controllable number of spaces in between. The // operator simply concatenates 2 strings
Bookmarks
concatenation
join
mixed_type
Optional keywords
LEN: Length of a Character String or of an Array
The result of LEN(x) is the number of bytes in string x, or the number of elements in the array x
Bookmarks
length_of_a_string
number_of_array_elements
Optional keywords
LEN_TRIM: Trimmed Length of string or Array
It is the length of a string without counting trailing blanks or of an array without counting trailing zeros
Lexicon: an EDIT Keyword to Build a Lexical Data Base
As all HicEst functions EDIT(...Lexicon...) is a single line statement. It extracts, queries, and marks a lexical string from an arbitrary text
Bookmarks
num_query
query_lex_and_mark
regular_expression_lexical_queries
set_lexicon
text_query
vec_query
Optional keywords
LeXicon
Marks
TRIM: Strip a Character String of Trailing Blanks
Related functions are LEN and LEN_TRIM

Download

Impressum
Who and Where
Download HicEst
HicEst is free. It contains no ads and it does not spy on you. If you like it you are welcome to make a donation though
Donate to Support HicEst
Thank you very much for your help
HicEst Revision History
Hopefully all revisions made it to the documentation.



Support HicEst   ⇾ Impressum
©2000-2019 Georg Petrich, HicEst Instant Prototype Computing. All rights reserved.