Macros

From Sputnik Wiki
(Difference between revisions)
Jump to: navigation, search
(Strings)
 
(54 intermediate revisions by one user not shown)
Line 1: Line 1:
= Macros =
 
 
 
=== For Functions ===
 
=== For Functions ===
  
 
<pre>
 
<pre>
@ARGS // Stores all arguments passed to a function allowing for unlimited arguments.
+
@Args // Stores all arguments passed to a function allowing for unlimited arguments.
 +
      // This only works happens if you have [Args("true")] adove the function
 +
</pre>
 +
 
 +
=== For Variables===
 +
 
 +
Base type
 +
 
 +
<pre>
 +
[TYPE] [@MACRO]
 +
NULL @typeNULL
 +
BOOL @typeBOOL
 +
CHAR @typeCHAR
 +
BYTE @typeBYTE
 +
SBYTE @typeSBYTE
 +
INT16 @typeINT16
 +
INT32 @typeINT32
 +
INT64 @typeINT64
 +
UINT16 @typeUINT16
 +
UINT32 @typeUINT32
 +
UINT64 @typeUINT64
 +
FLOAT @typeFLOAT
 +
DOUBLE @typeDOUBLE
 +
STRING @typeSTRING
 +
BINARY @typeBINARY
 +
INTPTR @typeINTPTR
 +
UINTPTR @typeUINTPTR
 +
REFERENCE @typeREFERENCE
 +
ARRAY @typeARRAY
 +
OBJECT @typeOBJECT
 +
ERROR @typeERROR
 +
</pre>
 +
 
 +
Object Type
 +
 
 +
<pre>
 +
[TYPE] [@MACRO]
 +
CLASS @typeCLASS
 +
FILE @typeFILE
 +
MYSQL @typeMYSQL
 +
MYSQLDATA @typeMYSQLDATA
 +
DLLSTRUCT @typeDLLSTRUCT
 +
OBJECT @typeOBJ
 +
SERVER @typeSERVER
 +
CLIENT @typeCLIENT
 +
GUIObject @typeGUIObject
 +
SOCKET @typeSOCKET
 +
FUNCTION @typeFUNC
 +
LINQ @typeLINQ
 +
ERROR @typeERR
 +
</pre>
 +
 
 +
Variable Scope
 +
 
 +
<pre>
 +
[TYPE] [@MACRO]
 +
ANY @scopeANY
 +
GLOBAL @scopeGLOBAL
 +
LOCAL @scopeLOCAL
 +
</pre>
 +
 
 +
Scope
 +
 
 +
<pre>
 +
[TYPE] [@MACRO]
 +
NONE @scopeNONE
 +
INTERP_INIT @scopeINTERPINIT
 +
STACK_INIT @scopeSTACKINIT
 +
BLOCK @scopeBLOCK
 +
FUNCTION @scopeFUNCTION
 +
MAX @scopeMAX
 +
</pre>
 +
 
 +
=== Language Detection ===
 +
 
 +
<pre>
 +
@Lang // Return an array containing language information on the current OS
 +
// Example:
 +
// my List ($Name, $DisplayName, $EnglishName, $TwoLetterISO, $ThreeLetterISO, $LCID) = @Lang;
 
</pre>
 
</pre>
  
Line 10: Line 86:
  
 
<pre>
 
<pre>
@COMMONFILESDIR // Common Files folder
+
@CommonFilesDir // Common Files folder
@WINDIR // The directory of windows
+
@WinDir // The directory of windows
@SYSDIR // The directory of windows system directory
+
@SysDir // The directory of windows system directory
@CURDIR // The current working directory
+
@CurDir // The current working directory
@TEMPDIR // The current system's temporary folder
+
@TempDir // The current system's temporary folder
 +
@ExeDir // The directory of the Sputnik exe
 +
@ScriptDir // The directory where the current script is at runtime
 +
@FileCase // Returns TRUE if the file system is case insensitive
 +
@InvalidPathChars // String of characters that are not allowed in path names.
 +
@InvalidFilenameChars // String of characters that are not allowed in file names.
 +
@VolumeSeparatorChar // Provides a platform-specific volume separator character.
 +
@PathSeparator // A platform-specific separator character used to separate path strings in environment variables.
 +
@DirectorySeparatorChar // Provides a platform-specific character used to separate directory levels in a path string that reflects a hierarchical file system organization.
 +
@AltDirectorySeparatorChar // Provides a platform-specific alternate character used to separate directory levels in a path string that reflects a hierarchical file system organization.
 
</pre>
 
</pre>
  
Line 24: Line 109:
 
@CR // Carriage return, Chr(13); sometimes used for line breaks.
 
@CR // Carriage return, Chr(13); sometimes used for line breaks.
 
@LF // Line feed, Chr(10); typically used for line breaks.
 
@LF // Line feed, Chr(10); typically used for line breaks.
@TAB // Tab character, Chr(9).
 
 
@NL // The newline that the current windows likes best.
 
@NL // The newline that the current windows likes best.
 +
@N // The newline or <BR> depending if Sputnik is #cgi or not
 
@VT // Vertical Tab, Chr(11); This character is rarely used.
 
@VT // Vertical Tab, Chr(11); This character is rarely used.
 
@FF // Form Feed, Chr(12); This character is also known as "New Page".
 
@FF // Form Feed, Chr(12); This character is also known as "New Page".
 
@NBSP // No-Break Space, Chr(160)
 
@NBSP // No-Break Space, Chr(160)
@SPACE // Normal Space, Chr(32)
+
      // The No-Break Space character is used to represent a space where
// The No-Break Space character is used to represent a space where
+
      // a line break is not allowed. It is often used in source code for
// a line break is not allowed. It is often used in source code for
+
      // indentation.
// indentation.  
+
@Space // Normal Space, Chr(32)
 +
@Tab // Tab character, Chr(9).
 
</pre>
 
</pre>
  
 
=== Character Sets ===
 
=== Character Sets ===
@NUMBER // 0123456789
+
 
@DIGIT // 0123456789
+
These are returned as a string if you wish to get an array you will need to split the string into an array of each character.
@LETTER // abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
+
 
@LETTEREXT // This set includes all the letters which are part of the extended characters in the first 256 characters (ANSI)
+
<pre>
@ALPHANUMERIC // This set includes all the characters in @Letter and @Number
+
@Euro // The Euro Currency Sign; ChrW(8364)
@PRINTABLE // This set includes all standard characters that can be printed onscreen. This includes the characters from  Chr(32) to Chr(127) and  Chr(160) (No-Break Space). The No-Break Space character was included since it is often used in source code.
+
@Number // 0123456789
@PRINTABLEEXT // This set includes all the printable characters above Chr(127). Although rarely used in programming languages, they could be used, for instance, as valid characters in a string literal.
+
@Digit // 0123456789
@WHITESPACE // This set includes all characters that are normally considered whitespace and ignored by the parser. The set consists of the Space, Horizontal  Tab, Line Feed, Vertical Tab, Form Feed, Carriage Return and No-Break Space.  
+
@Letter // abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
@CONTROLS // This set includes the characters from Chr(1) to Chr(31) and from Chr(127) to Chr(159).
+
@LetterExt // This set includes all the letters which are part of the extended
@ANSIMAPPED // This set contains the characters between Chr(128) and Chr(159) that have different values in Unicode.
+
          // characters in the first 256 characters (ANSI)
@ANSIPRINTABLE // This set contains all printable characters available in ANSI. Essentially, this is a union of @Printable@, @PrintableExt and @ANSIMapped.
+
@AlphaNumeric // This set includes all the characters in @Letter and @Number
 +
@Printable // This set includes all standard characters that can be printed
 +
          // onscreen. This includes the characters from  Chr(32) to Chr(127)
 +
          // and  Chr(160) (No-Break Space). The No-Break Space character was
 +
          // included since it is often used in source code.
 +
@PrintableExt // This set includes all the printable characters above Chr(127).
 +
              // Although rarely used in programming languages, they could be
 +
              // used, for instance, as valid characters in a string literal.
 +
@Whitespace // This set includes all characters that are normally considered
 +
            // whitespace and ignored by the parser. The set consists of the
 +
            // Space, Horizontal  Tab, Line Feed, Vertical Tab, Form Feed,
 +
            // Carriage Return and No-Break Space.  
 +
@Controls // This set includes the characters from Chr(1) to Chr(31)
 +
          // and from Chr(127) to Chr(159).
 +
@AnsiMapped // This set contains the characters between Chr(128) and Chr(159)
 +
            // that have different values in Unicode.
 +
@AnsiPrintable // This set contains all printable characters available in ANSI.
 +
              // Essentially, this is a union of @Printable@, @PrintableExt
 +
              // and @ANSIMapped.
 +
@AllValid // The {All Valid} character set contains every valid character
 +
          // in the Basic Multilingual Plane of the Unicode Character Set.
 +
          // This includes the characters from ChrW(1) to ChrW(55295) and
 +
          // ChrW(56320) to ChrW(65519).
 +
</pre>
 +
 
 +
==== Language Sets ====
 +
 
 +
<pre>
 +
@LatinExt // Latin Extended; ChrW(256) to ChrW(687)
 +
@LatinExtAdd // Latin Extended Additional; ChrW(7680) to ChrW(7935)
 +
@Greek // ChrW(880) to ChrW(1023)
 +
@GreekExt // Greek Extended; ChrW(7936) to ChrW(8191)
 +
@Cyrillic // ChrW(1024) to ChrW(1279)
 +
@CyrillicSup // Cyrillic Supplementary; ChrW(1280) to ChrW(1327)
 +
@Armenian // ChrW(1328) to ChrW(1423)
 +
@Hebrew // ChrW(1424) to ChrW(1535)
 +
@Arabic // ChrW(1536) to ChrW(1791)
 +
@Syriac // ChrW(1792) to ChrW(1871)
 +
@Thaana // ChrW(1920) to ChrW(1983)
 +
@Devanagari // ChrW(2304) to ChrW(2431)
 +
@Bengali // ChrW(2432) to ChrW(2559)
 +
@Gurmukhi // ChrW(2560) to ChrW(2687)
 +
@Gujarati // ChrW(2688) to ChrW(2815)
 +
@Oriya // ChrW(2816) to ChrW(2943)
 +
@Tamil // ChrW(2944) to ChrW(3071)
 +
@Telugu // ChrW(3072) to ChrW(3199)
 +
@Kannada // ChrW(3200) to ChrW(3327)
 +
@Malayalam // ChrW(3328) to ChrW(3455)
 +
@Sinhala // ChrW(3456) to ChrW(3583)
 +
@Thai // ChrW(3584) to ChrW(3711)
 +
@Lao // ChrW(3712) to ChrW(3839)
 +
@Tibetan // ChrW(3840) to ChrW(4095)
 +
@Myanmar // ChrW(4096) to ChrW(4255)
 +
@Georgian // ChrW(4256) to ChrW(4351)
 +
@Hangul Jamo // ChrW(4352) to ChrW(4607)
 +
@Ethiopic // ChrW(4608) to ChrW(4991)
 +
@Cherokee // ChrW(5024) to ChrW(5119)
 +
@Ogham // ChrW(5760) to ChrW(5791)
 +
@Runic // ChrW(5792) to ChrW(5887)
 +
@Tagalog // ChrW(5888) to ChrW(5919)
 +
@Hanunoo // ChrW(5920) to ChrW(5951)
 +
@Buhid // ChrW(5952) to ChrW(5983)
 +
@Tagbanwa // ChrW(5984) to ChrW(6015)
 +
@Khmer // ChrW(6016) to ChrW(6143)
 +
@Mongolian // ChrW(6144) to ChrW(6319)
 +
@Kanbun // ChrW(12688) to ChrW(12703)
 +
@Bopomofo // ChrW(12544) to ChrW(12591)
 +
@BopomofoExt // Bopomofo Extended; ChrW(12704) to ChrW(12735)
 +
@JapPunct // Japanese-style punctuation; ChrW(12288) to ChrW(12351)
 +
@JapRomKat // Full-width Roman characters and half-width Katakana; ChrW(65280) to ChrW(65519)
 +
@Hiragana // ChrW(12352) to ChrW(12447)
 +
@Katakana // ChrW(12448) to ChrW(12543)
 +
@Kanji // CJK unifed ideographs - Common and uncommon Kanji; ChrW(19968) to ChrW(40879)
 +
</pre>
  
 
=== Math ===
 
=== Math ===
Line 52: Line 211:
 
<pre>
 
<pre>
 
@PI // Mathematical constant that is the ratio of any circle's circumference to its diameter
 
@PI // Mathematical constant that is the ratio of any circle's circumference to its diameter
 +
@TwoPI // A value specifying the approximation of 2π which is 360 degrees
 
@E // Represents the natural logarithmic base, specified by the constant, e.
 
@E // Represents the natural logarithmic base, specified by the constant, e.
 +
@LOG2E // Log(@E, 2) = 1.4426950408889634074
 +
@LOG10E // Log10(@E) = 0.43429448190325182765
 +
@LN2 // Log(2) = 0.69314718055994530942
 +
@LN10 // Log(10) = 2.30258509299404568402
 +
@PI2 // @PI/2 = 1.57079632679489661923
 +
@PI4 // @PI/4 = 0.78539816339744830962
 +
@1PI // 1/@PI = 0.31830988618379067154
 +
@2PI // 2/@PI = 0.63661977236758134308
 +
@SQRTPI // Sqrt(@PI) = 1.77245385090551602729
 +
@2SQRTPI // 2/Sqrt(@PI) = 1.12837916709551257390
 +
@SQRT2 // Sqrt(2) = 1.4142135623731
 +
@SQRT3 // Sqrt(3) = 1.73205080756887729352
 +
@1SQRT2 // 1/Sqrt(2) = 0.70710678118654752440
 +
@LNPI // Log(@PI) = 1.14472988584940017414
 +
@Euler // Euler constant = 0.57721566490153286061
 +
@ZeroTolerance // The value for which all absolute numbers smaller than are considered equal to zero
 
</pre>
 
</pre>
  
Line 58: Line 234:
  
 
<pre>
 
<pre>
@CHAR_MIN // Represents the smallest possible value of a unicode character
+
@CharMin // Represents the smallest possible value of a unicode character
@CHAR_MAX // Represents the largest possible value of a unicode character
+
@CharMax // Represents the largest possible value of a unicode character
@BYTE_MIN // Represents the smallest possible value of a unsigned 8-bit integer
+
@ByteMin // Represents the smallest possible value of a unsigned 8-bit integer
@BYTE_MAX // Represents the largest possible value of a unsigned 8-bit integer
+
@ByteMax // Represents the largest possible value of a unsigned 8-bit integer
@SBYTE_MIN // Represents the smallest possible value of a signed 8-bit integer
+
@SByteMin // Represents the smallest possible value of a signed 8-bit integer
@SBYTE_MAX // Represents the largest possible value of a signed 8-bit integer
+
@SByteMax // Represents the largest possible value of a signed 8-bit integer
@USHORT_MIN // Represents the smallest possible value of a unsigned 16-bit integer
+
@UshortMin // Represents the smallest possible value of a unsigned 16-bit integer
@USHORT_MAX // Represents the largest possible value of a unsigned 16-bit integer
+
@UshortMax // Represents the largest possible value of a unsigned 16-bit integer
@UINT16_MIN // Represents the smallest possible value of a unsigned 16-bit integer
+
@Uint16Min // Represents the smallest possible value of a unsigned 16-bit integer
@UINT16_MAX // Represents the largest possible value of a unsigned 16-bit integer
+
@Uint16Max // Represents the largest possible value of a unsigned 16-bit integer
@UINT_MIN // Represents the smallest possible value of a unsigned 32-bit integer
+
@UintMin // Represents the smallest possible value of a unsigned 32-bit integer
@UINT_MAX // Represents the largest possible value of a unsigned 32-bit integer
+
@UintMax // Represents the largest possible value of a unsigned 32-bit integer
@UINT32_MIN // Represents the smallest possible value of a unsigned 32-bit integer
+
@Uint32Min // Represents the smallest possible value of a unsigned 32-bit integer
@UINT32_MAX // Represents the largest possible value of a unsigned 32-bit integer
+
@Uint32Max // Represents the largest possible value of a unsigned 32-bit integer
@ULONG_MIN // Represents the smallest possible value of a unsigned 64-bit integer
+
@UlongMin // Represents the smallest possible value of a unsigned 64-bit integer
@ULONG_MAX // Represents the largest possible value of a unsigned 64-bit integer
+
@UlongMax // Represents the largest possible value of a unsigned 64-bit integer
@UINT64_MIN // Represents the smallest possible value of a unsigned 64-bit integer
+
@Uint64Min // Represents the smallest possible value of a unsigned 64-bit integer
@UINT64_MAX // Represents the largest possible value of a unsigned 64-bit integer
+
@Uint64Max // Represents the largest possible value of a unsigned 64-bit integer
@SHORT_MIN // Represents the smallest possible value of a signed 16-bit integer
+
@ShortMin // Represents the smallest possible value of a signed 16-bit integer
@SHORT_MAX // Represents the largest possible value of a signed 16-bit integer
+
@ShortMax // Represents the largest possible value of a signed 16-bit integer
@INT16_MIN // Represents the smallest possible value of a signed 16-bit integer
+
@Int16Min // Represents the smallest possible value of a signed 16-bit integer
@INT16_MAX // Represents the largest possible value of a signed 16-bit integer
+
@Int16Max // Represents the largest possible value of a signed 16-bit integer
@INT_MIN // Represents the smallest possible value of a signed 32-bit integer
+
@IntMin // Represents the smallest possible value of a signed 32-bit integer
@INT_MAX // Represents the largest possible value of a signed 32-bit integer
+
@IntMax // Represents the largest possible value of a signed 32-bit integer
@INT32_MIN // Represents the smallest possible value of a signed 32-bit integer
+
@Int32Min // Represents the smallest possible value of a signed 32-bit integer
@INT32_MAX // Represents the largest possible value of a signed 32-bit integer
+
@Int32Max // Represents the largest possible value of a signed 32-bit integer
@LONG_MIN // Represents the smallest possible value of a signed 64-bit integer
+
@LongMin // Represents the smallest possible value of a signed 64-bit integer
@LONG_MAX // Represents the largest possible value of a signed 64-bit integer
+
@LongMax // Represents the largest possible value of a signed 64-bit integer
@INT64_MIN // Represents the smallest possible value of a signed 64-bit integer
+
@Int64Min // Represents the smallest possible value of a signed 64-bit integer
@INT64_MAX // Represents the largest possible value of a signed 64-bit integer
+
@Int64Max // Represents the largest possible value of a signed 64-bit integer
@DOUBLE_POSINF // Represents positive infinity
+
@DoublePosinf // Represents positive infinity
@DOUBLE_NEGINF // Represents negative infinity
+
@DoubleNeginf // Represents negative infinity
@DOUBLE_NAN // Represents (Not a number) NaN
+
@DoubleNan // Represents (Not a number) NaN
@DOUBLE_MIN // Represents the smallest possible value of a float
+
@DoubleMin // Represents the smallest possible value of a float
@DOUBLE_MAX // Represents the largest possible value of a float
+
@DoubleMax // Represents the largest possible value of a float
@DOUBLE_EPSILON // Represents the smallest positive double value greater than zero
+
@Double_epsilon // Represents the smallest positive double value greater than zero
@FLOAT_POSINF // Represents positive infinity
+
@FloatPosinf // Represents positive infinity
@FLOAT_NEGINF // Represents negative infinity
+
@FloatNeginf // Represents negative infinity
@FLOAT_NAN // Represents (Not a number) NaN
+
@FloatNan // Represents (Not a number) NaN
@FLOAT_MIN // Represents the smallest possible value of a float
+
@FloatMin // Represents the smallest possible value of a float
@FLOAT_MAX // Represents the largest possible value of a float
+
@FloatMax // Represents the largest possible value of a float
@FLOAT_EPSILON // Represents the smallest positive float value greater than zero
+
@FloatEpsilon // Represents the smallest positive float value greater than zero
 +
</pre>
 +
 
 +
=== Variable size etc ===
 +
 
 +
Useful for use with memory functions
 +
 
 +
<pre>
 +
// Pointers (Pointers will either be 32-bit or 64-bit
 +
// depending on which Sputnik is using however as long as
 +
// these macros are used your functions will continue to work
 +
// regardless if using 32 or 64 bit Sputnik.
 +
@PTRSize // Represents the size in bytes of pointers
 +
@PTRZero // Represents a pointer or handle that has been initialized to zero
 +
@UPTRSize // Represents the size in bytes of unsigned pointers
 +
@UPTRZero // Represents an unsigned pointer or handle that has been initialized to zero
 +
// Others
 +
@CharSize // Represents the size in bytes of a char
 +
@BoolSize // Represents the size in bytes of a boolean
 +
@ByteSize // Represents the size in bytes of a byte
 +
@SByteSize // Represents the size in bytes of a sbyte (signed byte)
 +
@Int16Size // Represents the size in bytes of an int16
 +
@Int32Size // Represents the size in bytes of an int32
 +
@Int64Size // Represents the size in bytes of an int64
 +
@UInt16Size // Represents the size in bytes of an uint16
 +
@UInt32Size // Represents the size in bytes of an uint32
 +
@UInt64Size // Represents the size in bytes of an uint64
 +
@FloatSize // Represents the size in bytes of an float
 +
@DoubleSize // Represents the size in bytes of an double
 +
// Characters
 +
@ACSize // Represents the size in bytes an ASCII string character
 +
@UCSize // Represents the size in bytes a Sputnik string character (UTF8)
 
</pre>
 
</pre>
  
Line 105: Line 312:
  
 
<pre>
 
<pre>
@DATETIMENOW // Stores the current date and time as a string
+
@Epoch // Returns the current time measured in the number of seconds since the Unix Epoch
@MSEC // Milliseconds value of clock.  Range is 00 to 999
+
      // (January 1 1970 00:00:00 GMT).
@SEC // Seconds value of clock.  Range is 00 to 59
+
@MSec // Milliseconds value of clock.  Range is 00 to 999
@MIN // Minutes value of clock.  Range is 00 to 59
+
@Sec // Seconds value of clock.  Range is 00 to 59
@HOUR // Hours value of clock in 24-hour format.  Range is 00 to 23
+
@Min // Minutes value of clock.  Range is 00 to 59
@WDAY // Numeric day of week.  Range is 1 to 7 which corresponds to Sunday through Saturday
+
@Hour // Hours value of clock in 24-hour format.  Range is 00 to 23
@MDAY // Current day of month.  Range is 01 to 31
+
@WDay // Numeric day of week.  Range is 1 to 7 which corresponds to Sunday through Saturday
@MON // Current month.  Range is 01 to 12
+
@MDay // Current day of month.  Range is 01 to 31
@YDAY // Current day of year.  Range is 1 to 366 (or 365 if not a leap year)
+
@Mon // Current month.  Range is 01 to 12
@YEAR // Current four-digit year.
+
@YDay // Current day of year.  Range is 1 to 366 (or 365 if not a leap year)
@TICKS // The number of ticks that represent the current date and time (A single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond.)
+
@Year // Current four-digit year.
@TIME // Get a 10 element array containing in this order; @MSEC, @SEC, @MIN, @HOUR, @WDAY, @MDAY, @MON, @YDAY, @YEAR, @TICKS
+
@Ticks // The number of ticks that represent the current date and time (A single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond.)
 +
@Time // Get a 10 element array containing in this order; $MSec, $Sec, $Min, $Hour, $WDay, $MDay, $Mon, $YDay, $Year, $Ticks
 
// Heres an example of how to use @Time to create a useable list :
 
// Heres an example of how to use @Time to create a useable list :
List ($MSec, $Sec, $Min, $Hour, $WDay, $MDay, $Mon, $YDay, $Year, $Ticks) = @TIME;
+
List ($MSec, $Sec, $Min, $Hour, $WDay, $MDay, $Mon, $YDay, $Year, $Ticks) = @Time;
 
println("MSec: " . $MSec);  
 
println("MSec: " . $MSec);  
 
println("Sec: " . $Sec);  
 
println("Sec: " . $Sec);  
Line 129: Line 337:
 
println("Year: " . $Year);  
 
println("Year: " . $Year);  
 
println("Ticks: " . $Ticks);
 
println("Ticks: " . $Ticks);
 +
// A simple easy to use formatted date/time
 +
my List ($MSec, $Sec, $Min, $Hour, $WDay, $MDay, $Mon, $YDay, $Year, $Ticks) = @Time;
 +
if ($Sec < 10)  { $Sec = "0$sec";  }
 +
if ($Min < 10)  { $Min = "0$min";  }
 +
if ($Hour < 10) { $Hour = "0$hour"; }
 +
if ($MDay < 10) { $MDay = "0$mday"; }
 +
if ($Mon < 10)  { $Mon = "0$Mon";  }
 +
my $Date = "$MDay-$Mon-$Year $Hour:$Min";
 +
echo $Date; // Prints 13-09-2013 20:44
 
</pre>
 
</pre>
  
=== Misc ===
+
=== Screen ===
  
 
<pre>
 
<pre>
@GUI // True or False if SputnikW is being run instead of Sputnik
+
@DesktopWidth // Current width of the desktop the program is running on.
@CONSOLEVISIBLE // True or False if Console window is visible
+
@DesktopHeight // Current height of the desktop the program is running on.
@COMPILED // True or False if the script is being run from a compiled exe instead of as a source file
+
@ERROR // Stores the state of the last error which can be useful to find out exactly what happened.
+
@CURRENCY // Stores the local currency symbol that the computer is using such as $ or £ etc.
+
@GROUP // Stores the amount of groups captured in the last regex match operation.
+
@DESKTOPWIDTH // Current width of the desktop the program is running on.
+
@DESKTOPHEIGHT // Current height of the desktop the program is running on.
+
@DOMAIN // The computers currently network domain name associated with current user.
+
@USER // The name of the user currently logged in to windows.
+
@MACHINENAME // Get NetBIOS name of this computer.
+
@TICKCOUNT // The number of miliseconds elapsed since the system started.
+
@INVALIDPATHCHARS // String of characters that are not allowed in path names.
+
@INVALIDFILENAMECHARS // String of characters that are not allowed in file names.
+
@VOLUMESEPARATORCHAR // Provides a platform-specific volume separator character.
+
@PATHSEPARATOR // A platform-specific separator character used to separate path strings in environment variables.
+
@DIRECTORYSEPARATORCHAR // Provides a platform-specific character used to separate directory levels in a path string that reflects a hierarchical file system organization.
+
@ALTDIRECTORYSEPARATORCHAR // Provides a platform-specific alternate character used to separate directory levels in a path string that reflects a hierarchical file system organization.
+
 
</pre>
 
</pre>
  
=== Links for use with GUILink() ===
+
=== System ===
  
 
<pre>
 
<pre>
@lLOAD
+
@IsLittleEndian // Indicates the byte order ("endianness") in which data is stored in this computer architecture
@lACTIVATED
+
@IsBigEndian // Indicates the byte order ("endianness") in which data is stored in this computer architecture
@lCLICK
+
@X86 // True Sputnik process is 32Bit
@lTEXTCHANGED
+
@X64 // True Sputnik process is 64Bit
@lMOUSECLICK
+
@Domain // The computers currently network domain name associated with current user.
@lMOUSEDOUBLECLICK
+
@User // The name of the user currently logged in to windows.
@lMOUSEDOWN
+
@MachineName // Get NetBIOS name of this computer.
@lMOUSEMOVE
+
</pre>
@lMOUSEUP
+
 
@lMOUSEWHEEL
+
=== Misc ===
@lMOUSEENTER
+
 
@lMOUSEHOVER
+
<pre>
@lMOUSELEAVE
+
@ARGV // Stores commandline arguments
@lLOSTFOCUS
+
@GUI // True or False if SputnikW is being run instead of Sputnik (No console available)
@lLEAVE
+
@ConsoleVisible // True or False if Console window is visible
@lKEYUP
+
@Compiled // True or False if the script is being run from a compiled exe instead of as a source file
@lKEYDOWN
+
@GUID // Generate a new globally unique identifier (GUID) (as a string)
@lKEYPRESS
+
@GUIDZero // A GUID with all its values zeroed to compare a new or existing @GUID with) (as a string)
@lGOTFOCUS
+
@GUIDBin // Generate a new globally unique identifier (GUID) (as binary)
@lDISPOSED
+
@GUIDZeroBin // A GUID with all its values zeroed to compare a new or existing @GUID with) (as binary)
@lTICKS
+
@Error // Stores the state of the last error which can be useful to find out exactly what happened.
@lDELETEDROW
+
@Currency // Stores the local currency symbol that the computer is using such as $ or £ etc.
@lDELETINGROW
+
@Groups // Stores the amount of groups captured in the last regex match operation.
@lCELLENDEDIT
+
@TickCount // The number of miliseconds elapsed since the current Sputnik started.
@lCELLBEGINEDIT
+
@lCHECKED
+
 
</pre>
 
</pre>
  
Line 201: Line 400:
  
 
<pre>
 
<pre>
@KeyNone
+
@KeyNone -----> Hex code of the key: 0x00000000
@KeyLButton
+
@KeyLButton -----> Hex code of the key: 0x00000001
@KeyRButton
+
@KeyRButton -----> Hex code of the key: 0x00000002
@KeyCancel
+
@KeyCancel -----> Hex code of the key: 0x00000003
@KeyMButton
+
@KeyMButton -----> Hex code of the key: 0x00000004
@KeyXButton1
+
@KeyXButton1 -----> Hex code of the key: 0x00000005
@KeyXButton2
+
@KeyXButton2 -----> Hex code of the key: 0x00000006
@KeyLButton
+
@KeyBack -----> Hex code of the key: 0x00000008
@KeyXButton2
+
@KeyTab -----> Hex code of the key: 0x00000009
@KeyBack
+
@KeyLineFeed -----> Hex code of the key: 0x0000000A
@KeyTab
+
@KeyClear -----> Hex code of the key: 0x0000000C
@KeyLineFeed
+
@KeyReturn -----> Hex code of the key: 0x0000000D
@KeyLButton
+
@KeyEnter -----> Hex code of the key: 0x0000000D
@KeyLineFeed
+
@KeyShiftKey -----> Hex code of the key: 0x00000010
@KeyClear
+
@KeyControlKey -----> Hex code of the key: 0x00000011
@KeyReturn
+
@KeyMenu -----> Hex code of the key: 0x00000012
@KeyRButton
+
@KeyPause -----> Hex code of the key: 0x00000013
@KeyClear
+
@KeyCapsLock -----> Hex code of the key: 0x00000014
@KeyRButton
+
@KeyCapital -----> Hex code of the key: 0x00000014
@KeyReturn
+
@KeyKanaMode -----> Hex code of the key: 0x00000015
@KeyShiftKey
+
@KeyHanguelMode -----> Hex code of the key: 0x00000015
@KeyControlKey
+
@KeyHangulMode -----> Hex code of the key: 0x00000015
@KeyMenu
+
@KeyJunjaMode -----> Hex code of the key: 0x00000017
@KeyPause
+
@KeyFinalMode -----> Hex code of the key: 0x00000018
@KeyCapital
+
@KeyKanjiMode -----> Hex code of the key: 0x00000019
@KeyKanaMode
+
@KeyHanjaMode -----> Hex code of the key: 0x00000019
@KeyRButton
+
@KeyEscape -----> Hex code of the key: 0x0000001B
@KeyCapital
+
@KeyIMEConvert -----> Hex code of the key: 0x0000001C
@KeyJunjaMode
+
@KeyIMENonconvert -----> Hex code of the key: 0x0000001D
@KeyFinalMode
+
@KeyIMEAceept -----> Hex code of the key: 0x0000001E
@KeyHanjaMode
+
@KeyIMEModeChange -----> Hex code of the key: 0x0000001F
@KeyRButton
+
@KeySpace -----> Hex code of the key: 0x00000020
@KeyFinalMode
+
@KeyPageUp -----> Hex code of the key: 0x00000021
@KeyEscape
+
@KeyPrior -----> Hex code of the key: 0x00000021
@KeyIMEConvert
+
@KeyPageDown -----> Hex code of the key: 0x00000022
@KeyIMENonconvert
+
@KeyNext -----> Hex code of the key: 0x00000022
@KeyIMEAceept
+
@KeyEnd -----> Hex code of the key: 0x00000023
@KeyIMEModeChange
+
@KeyHome -----> Hex code of the key: 0x00000024
@KeySpace
+
@KeyLeft -----> Hex code of the key: 0x00000025
@KeyPageUp
+
@KeyUp -----> Hex code of the key: 0x00000026
@KeyNext
+
@KeyRight -----> Hex code of the key: 0x00000027
@KeyEnd
+
@KeyDown -----> Hex code of the key: 0x00000028
@KeyHome
+
@KeySelect -----> Hex code of the key: 0x00000029
@KeyLeft
+
@KeyPrint -----> Hex code of the key: 0x0000002A
@KeyUp
+
@KeyExecute -----> Hex code of the key: 0x0000002B
@KeyRight
+
@KeyPrintScreen -----> Hex code of the key: 0x0000002C
@KeyDown
+
@KeySnapshot -----> Hex code of the key: 0x0000002C
@KeySelect
+
@KeyInsert -----> Hex code of the key: 0x0000002D
@KeyPrint
+
@KeyDelete -----> Hex code of the key: 0x0000002E
@KeyExecute
+
@KeyHelp -----> Hex code of the key: 0x0000002F
@KeyPrintScreen
+
@KeyD0 -----> Hex code of the key: 0x00000030
@KeyInsert
+
@KeyD1 -----> Hex code of the key: 0x00000031
@KeyDelete
+
@KeyD2 -----> Hex code of the key: 0x00000032
@KeyHelp
+
@KeyD3 -----> Hex code of the key: 0x00000033
@KeyD0
+
@KeyD4 -----> Hex code of the key: 0x00000034
@KeyD1
+
@KeyD5 -----> Hex code of the key: 0x00000035
@KeyD2
+
@KeyD6 -----> Hex code of the key: 0x00000036
@KeyD3
+
@KeyD7 -----> Hex code of the key: 0x00000037
@KeyD4
+
@KeyD8 -----> Hex code of the key: 0x00000038
@KeyD5
+
@KeyD9 -----> Hex code of the key: 0x00000039
@KeyD6
+
@KeyA -----> Hex code of the key: 0x00000041
@KeyD7
+
@KeyB -----> Hex code of the key: 0x00000042
@KeyD8
+
@KeyC -----> Hex code of the key: 0x00000043
@KeyD9
+
@KeyD -----> Hex code of the key: 0x00000044
@KeyRButton
+
@KeyE -----> Hex code of the key: 0x00000045
@KeyD8
+
@KeyF -----> Hex code of the key: 0x00000046
@KeyRButton
+
@KeyG -----> Hex code of the key: 0x00000047
@KeyD9
+
@KeyH -----> Hex code of the key: 0x00000048
@KeyMButton
+
@KeyI -----> Hex code of the key: 0x00000049
@KeyD8
+
@KeyJ -----> Hex code of the key: 0x0000004A
@KeyMButton
+
@KeyK -----> Hex code of the key: 0x0000004B
@KeyD9
+
@KeyL -----> Hex code of the key: 0x0000004C
@KeyXButton2
+
@KeyM -----> Hex code of the key: 0x0000004D
@KeyD8
+
@KeyN -----> Hex code of the key: 0x0000004E
@KeyXButton2
+
@KeyO -----> Hex code of the key: 0x0000004F
@KeyD9
+
@KeyP -----> Hex code of the key: 0x00000050
@Key64
+
@KeyQ -----> Hex code of the key: 0x00000051
@KeyA
+
@KeyR -----> Hex code of the key: 0x00000052
@KeyB
+
@KeyS -----> Hex code of the key: 0x00000053
@KeyC
+
@KeyT -----> Hex code of the key: 0x00000054
@KeyD
+
@KeyU -----> Hex code of the key: 0x00000055
@KeyE
+
@KeyV -----> Hex code of the key: 0x00000056
@KeyF
+
@KeyW -----> Hex code of the key: 0x00000057
@KeyG
+
@KeyX -----> Hex code of the key: 0x00000058
@KeyH
+
@KeyY -----> Hex code of the key: 0x00000059
@KeyI
+
@KeyZ -----> Hex code of the key: 0x0000005A
@KeyJ
+
@KeyLWin -----> Hex code of the key: 0x0000005B
@KeyK
+
@KeyRWin -----> Hex code of the key: 0x0000005C
@KeyL
+
@KeyApps -----> Hex code of the key: 0x0000005D
@KeyM
+
@KeyNumPad0 -----> Hex code of the key: 0x00000060
@KeyN
+
@KeyNumPad1 -----> Hex code of the key: 0x00000061
@KeyO
+
@KeyNumPad2 -----> Hex code of the key: 0x00000062
@KeyP
+
@KeyNumPad3 -----> Hex code of the key: 0x00000063
@KeyQ
+
@KeyNumPad4 -----> Hex code of the key: 0x00000064
@KeyR
+
@KeyNumPad5 -----> Hex code of the key: 0x00000065
@KeyS
+
@KeyNumPad6 -----> Hex code of the key: 0x00000066
@KeyT
+
@KeyNumPad7 -----> Hex code of the key: 0x00000067
@KeyU
+
@KeyNumPad8 -----> Hex code of the key: 0x00000068
@KeyV
+
@KeyNumPad9 -----> Hex code of the key: 0x00000069
@KeyW
+
@KeyMultiply -----> Hex code of the key: 0x0000006A
@KeyX
+
@KeyAdd -----> Hex code of the key: 0x0000006B
@KeyY
+
@KeySeparator -----> Hex code of the key: 0x0000006C
@KeyZ
+
@KeySubtract -----> Hex code of the key: 0x0000006D
@KeyLWin
+
@KeyDecimal -----> Hex code of the key: 0x0000006E
@KeyRWin
+
@KeyDivide -----> Hex code of the key: 0x0000006F
@KeyApps
+
@KeyF1 -----> Hex code of the key: 0x00000070
@KeyRButton
+
@KeyF2 -----> Hex code of the key: 0x00000071
@KeyRWin
+
@KeyF3 -----> Hex code of the key: 0x00000072
@KeySleep
+
@KeyF4 -----> Hex code of the key: 0x00000073
@KeyNumPad0
+
@KeyF5 -----> Hex code of the key: 0x00000074
@KeyNumPad1
+
@KeyF6 -----> Hex code of the key: 0x00000075
@KeyNumPad2
+
@KeyF7 -----> Hex code of the key: 0x00000076
@KeyNumPad3
+
@KeyF8 -----> Hex code of the key: 0x00000077
@KeyNumPad4
+
@KeyF9 -----> Hex code of the key: 0x00000078
@KeyNumPad5
+
@KeyF10 -----> Hex code of the key: 0x00000079
@KeyNumPad6
+
@KeyF11 -----> Hex code of the key: 0x0000007A
@KeyNumPad7
+
@KeyF12 -----> Hex code of the key: 0x0000007B
@KeyNumPad8
+
@KeyF13 -----> Hex code of the key: 0x0000007C
@KeyNumPad9
+
@KeyF14 -----> Hex code of the key: 0x0000007D
@KeyMultiply
+
@KeyF15 -----> Hex code of the key: 0x0000007E
@KeyAdd
+
@KeyF16 -----> Hex code of the key: 0x0000007F
@KeySeparator
+
@KeyF17 -----> Hex code of the key: 0x00000080
@KeySubtract
+
@KeyF18 -----> Hex code of the key: 0x00000081
@KeyDecimal
+
@KeyF19 -----> Hex code of the key: 0x00000082
@KeyDivide
+
@KeyF20 -----> Hex code of the key: 0x00000083
@KeyF1
+
@KeyF21 -----> Hex code of the key: 0x00000084
@KeyF2
+
@KeyF22 -----> Hex code of the key: 0x00000085
@KeyF3
+
@KeyF23 -----> Hex code of the key: 0x00000086
@KeyF4
+
@KeyF24 -----> Hex code of the key: 0x00000087
@KeyF5
+
@KeyNumLock -----> Hex code of the key: 0x00000090
@KeyF6
+
@KeyScroll -----> Hex code of the key: 0x00000091
@KeyF7
+
@KeyLShiftKey -----> Hex code of the key: 0x000000A0
@KeyF8
+
@KeyRShiftKey -----> Hex code of the key: 0x000000A1
@KeyF9
+
@KeyLControlKey -----> Hex code of the key: 0x000000A2
@KeyF10
+
@KeyRControlKey -----> Hex code of the key: 0x000000A3
@KeyF11
+
@KeyLMenu -----> Hex code of the key: 0x000000A4
@KeyF12
+
@KeyRMenu -----> Hex code of the key: 0x000000A5
@KeyF13
+
@KeyBrowserBack -----> Hex code of the key: 0x000000A6
@KeyF14
+
@KeyBrowserForward -----> Hex code of the key: 0x000000A7
@KeyF15
+
@KeyBrowserRefresh -----> Hex code of the key: 0x000000A8
@KeyF16
+
@KeyBrowserStop -----> Hex code of the key: 0x000000A9
@KeyF17
+
@KeyBrowserSearch -----> Hex code of the key: 0x000000AA
@KeyF18
+
@KeyBrowserFavorites -----> Hex code of the key: 0x000000AB
@KeyF19
+
@KeyBrowserHome -----> Hex code of the key: 0x000000AC
@KeyF20
+
@KeyVolumeMute -----> Hex code of the key: 0x000000AD
@KeyF21
+
@KeyVolumeDown -----> Hex code of the key: 0x000000AE
@KeyF22
+
@KeyVolumeUp -----> Hex code of the key: 0x000000AF
@KeyF23
+
@KeyMediaNextTrack -----> Hex code of the key: 0x000000B0
@KeyF24
+
@KeyMediaPreviousTrack -----> Hex code of the key: 0x000000B1
@KeyBack
+
@KeyMediaStop -----> Hex code of the key: 0x000000B2
@KeyF17
+
@KeyMediaPlayPause -----> Hex code of the key: 0x000000B3
@KeyBack
+
@KeyLaunchMail -----> Hex code of the key: 0x000000B4
@KeyF18
+
@KeySelectMedia -----> Hex code of the key: 0x000000B5
@KeyBack
+
@KeyLaunchApplication1 -----> Hex code of the key: 0x000000B6
@KeyF19
+
@KeyLaunchApplication2 -----> Hex code of the key: 0x000000B7
@KeyBack
+
@KeyOemSemicolon -----> Hex code of the key: 0x000000BA
@KeyF20
+
@KeyOemplus -----> Hex code of the key: 0x000000BB
@KeyBack
+
@KeyOemcomma -----> Hex code of the key: 0x000000BC
@KeyF21
+
@KeyOemMinus -----> Hex code of the key: 0x000000BD
@KeyBack
+
@KeyOemPeriod -----> Hex code of the key: 0x000000BE
@KeyF22
+
@KeyOemQuestion -----> Hex code of the key: 0x000000BF
@KeyBack
+
@KeyOemtilde -----> Hex code of the key: 0x000000C0
@KeyF23
+
@KeyOemOpenBrackets -----> Hex code of the key: 0x000000DB
@KeyBack
+
@KeyOemPipe -----> Hex code of the key: 0x000000DC
@KeyF24
+
@KeyOemCloseBrackets -----> Hex code of the key: 0x000000DD
@KeyNumLock
+
@KeyOemQuotes -----> Hex code of the key: 0x000000DE
@KeyScroll
+
@KeyOem8 -----> Hex code of the key: 0x000000DF
@KeyRButton
+
@KeyOemBackslash -----> Hex code of the key: 0x000000E2
@KeyNumLock
+
@KeyProcessKey -----> Hex code of the key: 0x000000E5
@KeyRButton
+
@KeyAttn -----> Hex code of the key: 0x000000F6
@KeyScroll
+
@KeyCrsel -----> Hex code of the key: 0x000000F7
@KeyMButton
+
@KeyExsel -----> Hex code of the key: 0x000000F8
@KeyNumLock
+
@KeyEraseEof -----> Hex code of the key: 0x000000F9
@KeyMButton
+
@KeyPlay -----> Hex code of the key: 0x000000FA
@KeyScroll
+
@KeyZoom -----> Hex code of the key: 0x000000FB
@KeyXButton2
+
@KeyNoName -----> Hex code of the key: 0x000000FC
@KeyNumLock
+
@KeyPa1 -----> Hex code of the key: 0x000000FD
@KeyXButton2
+
@KeyOemClear -----> Hex code of the key: 0x000000FE
@KeyScroll
+
@KeyKeyCode -----> Hex code of the key: 0x0000FFFF
@KeyBack
+
@KeyShift -----> Hex code of the key: 0x00010000
@KeyNumLock
+
@KeyControl -----> Hex code of the key: 0x00020000
@KeyBack
+
@KeyAlt -----> Hex code of the key: 0x00040000
@KeyScroll
+
@KeyModifiers -----> Hex code of the key: 0xFFFF0000
@KeyLineFeed
+
@KeyIMEAccept -----> Hex code of the key: 0x0000001E
@KeyNumLock
+
@KeyOem1 -----> Hex code of the key: 0x000000BA
@KeyLineFeed
+
@KeyOem102 -----> Hex code of the key: 0x000000E2
@KeyScroll
+
@KeyOem2 -----> Hex code of the key: 0x000000BF
@KeyClear
+
@KeyOem3 -----> Hex code of the key: 0x000000C0
@KeyNumLock
+
@KeyOem4 -----> Hex code of the key: 0x000000DB
@KeyClear
+
@KeyOem5 -----> Hex code of the key: 0x000000DC
@KeyScroll
+
@KeyOem6 -----> Hex code of the key: 0x000000DD
@KeyRButton
+
@KeyOem7 -----> Hex code of the key: 0x000000DE
@KeyClear
+
@KeyPacket -----> Hex code of the key: 0x000000E7
@KeyNumLock
+
@KeySleep -----> Hex code of the key: 0x0000005F
@KeyRButton
+
@KeyClear
+
@KeyScroll
+
@KeyLShiftKey
+
@KeyRShiftKey
+
@KeyLControlKey
+
@KeyRControlKey
+
@KeyLMenu
+
@KeyRMenu
+
@KeyBrowserBack
+
@KeyBrowserForward
+
@KeyBrowserRefresh
+
@KeyBrowserStop
+
@KeyBrowserSearch
+
@KeyBrowserFavorites
+
@KeyBrowserHome
+
@KeyVolumeMute
+
@KeyVolumeDown
+
@KeyVolumeUp
+
@KeyMediaNextTrack
+
@KeyMediaPreviousTrack
+
@KeyMediaStop
+
@KeyMediaPlayPause
+
@KeyLaunchMail
+
@KeySelectMedia
+
@KeyLaunchApplication1
+
@KeyLaunchApplication2
+
@KeyBack
+
@KeyMediaNextTrack
+
@KeyBack
+
@KeyMediaPreviousTrack
+
@KeyOem1
+
@KeyOemplus
+
@KeyOemcomma
+
@KeyOemMinus
+
@KeyOemPeriod
+
@KeyOemQuestion
+
@KeyOemtilde
+
@KeyLButton
+
@KeyOemtilde
+
@KeyRButton
+
@KeyOemtilde
+
@KeyCancel
+
@KeyOemtilde
+
@KeyMButton
+
@KeyOemtilde
+
@KeyXButton1
+
@KeyOemtilde
+
@KeyXButton2
+
@KeyOemtilde
+
@KeyLButton
+
@KeyXButton2
+
@KeyOemtilde
+
@KeyBack
+
@KeyOemtilde
+
@KeyTab
+
@KeyOemtilde
+
@KeyLineFeed
+
@KeyOemtilde
+
@KeyLButton
+
@KeyLineFeed
+
@KeyOemtilde
+
@KeyClear
+
@KeyOemtilde
+
@KeyReturn
+
@KeyOemtilde
+
@KeyRButton
+
@KeyClear
+
@KeyOemtilde
+
@KeyRButton
+
@KeyReturn
+
@KeyOemtilde
+
@KeyShiftKey
+
@KeyOemtilde
+
@KeyControlKey
+
@KeyOemtilde
+
@KeyMenu
+
@KeyOemtilde
+
@KeyPause
+
@KeyOemtilde
+
@KeyCapital
+
@KeyOemtilde
+
@KeyKanaMode
+
@KeyOemtilde
+
@KeyRButton
+
@KeyCapital
+
@KeyOemtilde
+
@KeyJunjaMode
+
@KeyOemtilde
+
@KeyFinalMode
+
@KeyOemtilde
+
@KeyHanjaMode
+
@KeyOemtilde
+
@KeyRButton
+
@KeyFinalMode
+
@KeyOemtilde
+
@KeyOemOpenBrackets
+
@KeyOem5
+
@KeyOem6
+
@KeyOem7
+
@KeyOem8
+
@KeySpace
+
@KeyOemtilde
+
@KeyPageUp
+
@KeyOemtilde
+
@KeyOemBackslash
+
@KeyLButton
+
@KeyOemBackslash
+
@KeyHome
+
@KeyOemtilde
+
@KeyProcessKey
+
@KeyMButton
+
@KeyOemBackslash
+
@KeyPacket
+
@KeyDown
+
@KeyOemtilde
+
@KeySelect
+
@KeyOemtilde
+
@KeyBack
+
@KeyOemBackslash
+
@KeyTab
+
@KeyOemBackslash
+
@KeyPrintScreen
+
@KeyOemtilde
+
@KeyBack
+
@KeyProcessKey
+
@KeyClear
+
@KeyOemBackslash
+
@KeyBack
+
@KeyPacket
+
@KeyD0
+
@KeyOemtilde
+
@KeyD1
+
@KeyOemtilde
+
@KeyShiftKey
+
@KeyOemBackslash
+
@KeyControlKey
+
@KeyOemBackslash
+
@KeyD4
+
@KeyOemtilde
+
@KeyShiftKey
+
@KeyProcessKey
+
@KeyAttn
+
@KeyCrsel
+
@KeyExsel
+
@KeyEraseEof
+
@KeyPlay
+
@KeyZoom
+
@KeyNoName
+
@KeyPa1
+
 
</pre>
 
</pre>
 
[[Category:Core Function]]
 

Latest revision as of 19:17, 18 September 2015

Contents

For Functions

@Args // Stores all arguments passed to a function allowing for unlimited arguments.
      // This only works happens if you have [Args("true")] adove the function

For Variables

Base type

[TYPE]		[@MACRO]
NULL		@typeNULL
BOOL		@typeBOOL
CHAR		@typeCHAR
BYTE		@typeBYTE
SBYTE		@typeSBYTE
INT16		@typeINT16
INT32		@typeINT32
INT64		@typeINT64
UINT16		@typeUINT16
UINT32		@typeUINT32
UINT64		@typeUINT64
FLOAT		@typeFLOAT
DOUBLE		@typeDOUBLE
STRING		@typeSTRING
BINARY		@typeBINARY
INTPTR		@typeINTPTR
UINTPTR		@typeUINTPTR
REFERENCE	@typeREFERENCE
ARRAY		@typeARRAY
OBJECT		@typeOBJECT
ERROR		@typeERROR

Object Type

[TYPE]		[@MACRO]
CLASS		@typeCLASS
FILE		@typeFILE
MYSQL		@typeMYSQL
MYSQLDATA	@typeMYSQLDATA
DLLSTRUCT	@typeDLLSTRUCT
OBJECT		@typeOBJ
SERVER		@typeSERVER
CLIENT		@typeCLIENT
GUIObject	@typeGUIObject
SOCKET		@typeSOCKET
FUNCTION	@typeFUNC
LINQ		@typeLINQ
ERROR		@typeERR

Variable Scope

[TYPE]		[@MACRO]
ANY		@scopeANY
GLOBAL		@scopeGLOBAL
LOCAL		@scopeLOCAL

Scope

[TYPE]		[@MACRO]
NONE		@scopeNONE
INTERP_INIT	@scopeINTERPINIT
STACK_INIT	@scopeSTACKINIT
BLOCK		@scopeBLOCK
FUNCTION	@scopeFUNCTION
MAX		@scopeMAX

Language Detection

@Lang // Return an array containing language information on the current OS
// Example:
// my List ($Name, $DisplayName, $EnglishName, $TwoLetterISO, $ThreeLetterISO, $LCID) = @Lang;

Directory/Path

@CommonFilesDir // Common Files folder
@WinDir // The directory of windows
@SysDir // The directory of windows system directory
@CurDir // The current working directory
@TempDir // The current system's temporary folder
@ExeDir // The directory of the Sputnik exe
@ScriptDir // The directory where the current script is at runtime
@FileCase // Returns TRUE if the file system is case insensitive
@InvalidPathChars // String of characters that are not allowed in path names.
@InvalidFilenameChars // String of characters that are not allowed in file names.
@VolumeSeparatorChar // Provides a platform-specific volume separator character.
@PathSeparator // A platform-specific separator character used to separate path strings in environment variables.
@DirectorySeparatorChar // Provides a platform-specific character used to separate directory levels in a path string that reflects a hierarchical file system organization.
@AltDirectorySeparatorChar // Provides a platform-specific alternate character used to separate directory levels in a path string that reflects a hierarchical file system organization.

Strings

@CRLF // @CR . @LF   ;Occasionally used for line breaks.
@LFCR // @LF . @CR   ;Stupidly used for line breaks.
@CR // Carriage return, Chr(13); sometimes used for line breaks.
@LF // Line feed, Chr(10); typically used for line breaks.
@NL // The newline that the current windows likes best.
@N // The newline or <BR> depending if Sputnik is #cgi or not
@VT // Vertical Tab, Chr(11); This character is rarely used.
@FF // Form Feed, Chr(12); This character is also known as "New Page".
@NBSP // No-Break Space, Chr(160)
      // The No-Break Space character is used to represent a space where
      // a line break is not allowed. It is often used in source code for
      // indentation. 
@Space // Normal Space, Chr(32)
@Tab // Tab character, Chr(9).

Character Sets

These are returned as a string if you wish to get an array you will need to split the string into an array of each character.

@Euro // The Euro Currency Sign; ChrW(8364)
@Number // 0123456789
@Digit // 0123456789
@Letter // abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
@LetterExt // This set includes all the letters which are part of the extended
           // characters in the first 256 characters (ANSI)
@AlphaNumeric // This set includes all the characters in @Letter and @Number
@Printable // This set includes all standard characters that can be printed
           // onscreen. This includes the characters from  Chr(32) to Chr(127)
           // and  Chr(160) (No-Break Space). The No-Break Space character was
           // included since it is often used in source code.
@PrintableExt // This set includes all the printable characters above Chr(127).
              // Although rarely used in programming languages, they could be
              // used, for instance, as valid characters in a string literal.
@Whitespace // This set includes all characters that are normally considered
            // whitespace and ignored by the parser. The set consists of the
            // Space, Horizontal  Tab, Line Feed, Vertical Tab, Form Feed,
            // Carriage Return and No-Break Space. 
@Controls // This set includes the characters from Chr(1) to Chr(31)
          // and from Chr(127) to Chr(159).
@AnsiMapped // This set contains the characters between Chr(128) and Chr(159)
            // that have different values in Unicode.
@AnsiPrintable // This set contains all printable characters available in ANSI.
               // Essentially, this is a union of @Printable@, @PrintableExt
               // and @ANSIMapped.
@AllValid // The {All Valid} character set contains every valid character
          // in the Basic Multilingual Plane of the Unicode Character Set.
          // This includes the characters from ChrW(1) to ChrW(55295) and
          // ChrW(56320) to ChrW(65519). 

Language Sets

@LatinExt // Latin Extended; ChrW(256) to ChrW(687)
@LatinExtAdd // Latin Extended Additional; ChrW(7680) to ChrW(7935)
@Greek // ChrW(880) to ChrW(1023)
@GreekExt // Greek Extended; ChrW(7936) to ChrW(8191)
@Cyrillic // ChrW(1024) to ChrW(1279)
@CyrillicSup // Cyrillic Supplementary; ChrW(1280) to ChrW(1327)
@Armenian // ChrW(1328) to ChrW(1423)
@Hebrew // ChrW(1424) to ChrW(1535)
@Arabic // ChrW(1536) to ChrW(1791)
@Syriac // ChrW(1792) to ChrW(1871)
@Thaana // ChrW(1920) to ChrW(1983)
@Devanagari // ChrW(2304) to ChrW(2431)
@Bengali // ChrW(2432) to ChrW(2559)
@Gurmukhi // ChrW(2560) to ChrW(2687)
@Gujarati // ChrW(2688) to ChrW(2815)
@Oriya // ChrW(2816) to ChrW(2943)
@Tamil // ChrW(2944) to ChrW(3071)
@Telugu // ChrW(3072) to ChrW(3199)
@Kannada // ChrW(3200) to ChrW(3327)
@Malayalam // ChrW(3328) to ChrW(3455)
@Sinhala // ChrW(3456) to ChrW(3583)
@Thai // ChrW(3584) to ChrW(3711)
@Lao // ChrW(3712) to ChrW(3839)
@Tibetan // ChrW(3840) to ChrW(4095)
@Myanmar // ChrW(4096) to ChrW(4255)
@Georgian // ChrW(4256) to ChrW(4351)
@Hangul Jamo // ChrW(4352) to ChrW(4607)
@Ethiopic // ChrW(4608) to ChrW(4991)
@Cherokee // ChrW(5024) to ChrW(5119)
@Ogham // ChrW(5760) to ChrW(5791)
@Runic // ChrW(5792) to ChrW(5887)
@Tagalog // ChrW(5888) to ChrW(5919)
@Hanunoo // ChrW(5920) to ChrW(5951)
@Buhid // ChrW(5952) to ChrW(5983)
@Tagbanwa // ChrW(5984) to ChrW(6015)
@Khmer // ChrW(6016) to ChrW(6143)
@Mongolian // ChrW(6144) to ChrW(6319)
@Kanbun // ChrW(12688) to ChrW(12703)
@Bopomofo // ChrW(12544) to ChrW(12591)
@BopomofoExt // Bopomofo Extended; ChrW(12704) to ChrW(12735)
@JapPunct // Japanese-style punctuation; ChrW(12288) to ChrW(12351)
@JapRomKat // Full-width Roman characters and half-width Katakana; ChrW(65280) to ChrW(65519)
@Hiragana // ChrW(12352) to ChrW(12447)
@Katakana // ChrW(12448) to ChrW(12543)
@Kanji // CJK unifed ideographs - Common and uncommon Kanji; ChrW(19968) to ChrW(40879)

Math

@PI // Mathematical constant that is the ratio of any circle's circumference to its diameter
@TwoPI // A value specifying the approximation of 2π which is 360 degrees
@E // Represents the natural logarithmic base, specified by the constant, e.
@LOG2E // Log(@E, 2) = 1.4426950408889634074
@LOG10E // Log10(@E) = 0.43429448190325182765
@LN2 // Log(2) = 0.69314718055994530942
@LN10 // Log(10) = 2.30258509299404568402
@PI2 // @PI/2 = 1.57079632679489661923
@PI4 // @PI/4 = 0.78539816339744830962
@1PI // 1/@PI = 0.31830988618379067154
@2PI // 2/@PI = 0.63661977236758134308
@SQRTPI // Sqrt(@PI) = 1.77245385090551602729
@2SQRTPI // 2/Sqrt(@PI) = 1.12837916709551257390
@SQRT2 // Sqrt(2) = 1.4142135623731
@SQRT3 // Sqrt(3) = 1.73205080756887729352
@1SQRT2 // 1/Sqrt(2) = 0.70710678118654752440
@LNPI // Log(@PI) = 1.14472988584940017414
@Euler // Euler constant = 0.57721566490153286061
@ZeroTolerance // The value for which all absolute numbers smaller than are considered equal to zero

Variable Limits etc

@CharMin // Represents the smallest possible value of a unicode character
@CharMax // Represents the largest possible value of a unicode character
@ByteMin // Represents the smallest possible value of a unsigned 8-bit integer
@ByteMax // Represents the largest possible value of a unsigned 8-bit integer
@SByteMin // Represents the smallest possible value of a signed 8-bit integer
@SByteMax // Represents the largest possible value of a signed 8-bit integer
@UshortMin // Represents the smallest possible value of a unsigned 16-bit integer
@UshortMax // Represents the largest possible value of a unsigned 16-bit integer
@Uint16Min // Represents the smallest possible value of a unsigned 16-bit integer
@Uint16Max // Represents the largest possible value of a unsigned 16-bit integer
@UintMin // Represents the smallest possible value of a unsigned 32-bit integer
@UintMax // Represents the largest possible value of a unsigned 32-bit integer
@Uint32Min // Represents the smallest possible value of a unsigned 32-bit integer
@Uint32Max // Represents the largest possible value of a unsigned 32-bit integer
@UlongMin // Represents the smallest possible value of a unsigned 64-bit integer
@UlongMax // Represents the largest possible value of a unsigned 64-bit integer
@Uint64Min // Represents the smallest possible value of a unsigned 64-bit integer
@Uint64Max // Represents the largest possible value of a unsigned 64-bit integer
@ShortMin // Represents the smallest possible value of a signed 16-bit integer
@ShortMax // Represents the largest possible value of a signed 16-bit integer
@Int16Min // Represents the smallest possible value of a signed 16-bit integer
@Int16Max // Represents the largest possible value of a signed 16-bit integer
@IntMin // Represents the smallest possible value of a signed 32-bit integer
@IntMax // Represents the largest possible value of a signed 32-bit integer
@Int32Min // Represents the smallest possible value of a signed 32-bit integer
@Int32Max // Represents the largest possible value of a signed 32-bit integer
@LongMin // Represents the smallest possible value of a signed 64-bit integer
@LongMax // Represents the largest possible value of a signed 64-bit integer
@Int64Min // Represents the smallest possible value of a signed 64-bit integer
@Int64Max // Represents the largest possible value of a signed 64-bit integer
@DoublePosinf // Represents positive infinity
@DoubleNeginf // Represents negative infinity
@DoubleNan // Represents (Not a number) NaN
@DoubleMin // Represents the smallest possible value of a float
@DoubleMax // Represents the largest possible value of a float
@Double_epsilon // Represents the smallest positive double value greater than zero
@FloatPosinf // Represents positive infinity
@FloatNeginf // Represents negative infinity
@FloatNan // Represents (Not a number) NaN
@FloatMin // Represents the smallest possible value of a float
@FloatMax // Represents the largest possible value of a float
@FloatEpsilon // Represents the smallest positive float value greater than zero

Variable size etc

Useful for use with memory functions

// Pointers (Pointers will either be 32-bit or 64-bit
// depending on which Sputnik is using however as long as
// these macros are used your functions will continue to work
// regardless if using 32 or 64 bit Sputnik.
@PTRSize // Represents the size in bytes of pointers
@PTRZero // Represents a pointer or handle that has been initialized to zero
@UPTRSize // Represents the size in bytes of unsigned pointers
@UPTRZero // Represents an unsigned pointer or handle that has been initialized to zero
// Others
@CharSize // Represents the size in bytes of a char
@BoolSize // Represents the size in bytes of a boolean
@ByteSize // Represents the size in bytes of a byte
@SByteSize // Represents the size in bytes of a sbyte (signed byte)
@Int16Size // Represents the size in bytes of an int16
@Int32Size // Represents the size in bytes of an int32
@Int64Size // Represents the size in bytes of an int64
@UInt16Size // Represents the size in bytes of an uint16
@UInt32Size // Represents the size in bytes of an uint32
@UInt64Size // Represents the size in bytes of an uint64
@FloatSize // Represents the size in bytes of an float
@DoubleSize // Represents the size in bytes of an double
// Characters
@ACSize // Represents the size in bytes an ASCII string character
@UCSize // Represents the size in bytes a Sputnik string character (UTF8)

Date & Time

@Epoch // Returns the current time measured in the number of seconds since the Unix Epoch
       // (January 1 1970 00:00:00 GMT).
@MSec // Milliseconds value of clock.  Range is 00 to 999
@Sec // Seconds value of clock.  Range is 00 to 59
@Min // Minutes value of clock.  Range is 00 to 59
@Hour // Hours value of clock in 24-hour format.  Range is 00 to 23
@WDay // Numeric day of week.  Range is 1 to 7 which corresponds to Sunday through Saturday
@MDay // Current day of month.  Range is 01 to 31
@Mon // Current month.  Range is 01 to 12
@YDay // Current day of year.  Range is 1 to 366 (or 365 if not a leap year)
@Year // Current four-digit year.
@Ticks // The number of ticks that represent the current date and time (A single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond.)
@Time // Get a 10 element array containing in this order; $MSec, $Sec, $Min, $Hour, $WDay, $MDay, $Mon, $YDay, $Year, $Ticks
// Heres an example of how to use @Time to create a useable list :
List ($MSec, $Sec, $Min, $Hour, $WDay, $MDay, $Mon, $YDay, $Year, $Ticks) = @Time;
println("MSec: " . $MSec); 
println("Sec: " . $Sec); 
println("Min: " . $Min); 
println("Hour: " . $Hour); 
println("WDay: " . $WDay); 
println("MDay: " . $MDay); 
println("Mon: " . $Mon); 
println("YDay: " . $YDay); 
println("Year: " . $Year); 
println("Ticks: " . $Ticks);
// A simple easy to use formatted date/time
my List ($MSec, $Sec, $Min, $Hour, $WDay, $MDay, $Mon, $YDay, $Year, $Ticks) = @Time;
if ($Sec < 10)  { $Sec = "0$sec";   }
if ($Min < 10)  { $Min = "0$min";   }
if ($Hour < 10) { $Hour = "0$hour"; }
if ($MDay < 10) { $MDay = "0$mday"; }
if ($Mon < 10)  { $Mon = "0$Mon";  }
my $Date = "$MDay-$Mon-$Year $Hour:$Min";
echo $Date; // Prints 13-09-2013 20:44

Screen

@DesktopWidth // Current width of the desktop the program is running on.
@DesktopHeight // Current height of the desktop the program is running on.

System

@IsLittleEndian // Indicates the byte order ("endianness") in which data is stored in this computer architecture
@IsBigEndian // Indicates the byte order ("endianness") in which data is stored in this computer architecture
@X86 // True Sputnik process is 32Bit
@X64 // True Sputnik process is 64Bit
@Domain // The computers currently network domain name associated with current user.
@User // The name of the user currently logged in to windows.
@MachineName // Get NetBIOS name of this computer.

Misc

@ARGV // Stores commandline arguments
@GUI // True or False if SputnikW is being run instead of Sputnik (No console available)
@ConsoleVisible // True or False if Console window is visible
@Compiled // True or False if the script is being run from a compiled exe instead of as a source file
@GUID // Generate a new globally unique identifier (GUID) (as a string)
@GUIDZero // A GUID with all its values zeroed to compare a new or existing @GUID with) (as a string)
@GUIDBin // Generate a new globally unique identifier (GUID) (as binary)
@GUIDZeroBin // A GUID with all its values zeroed to compare a new or existing @GUID with) (as binary)
@Error // Stores the state of the last error which can be useful to find out exactly what happened.
@Currency // Stores the local currency symbol that the computer is using such as $ or £ etc.
@Groups // Stores the amount of groups captured in the last regex match operation.
@TickCount // The number of miliseconds elapsed since the current Sputnik started.

Mouse Key Constants for use with GUILink etc

@MouseNone
@MouseLeft
@MouseMiddle
@MouseRight
@MouseXButton1
@MouseXButton2

Key Constants for use with many things (Bascially equal to VirtualKey Codes)

This are often used to check the $arg on GUI key pressing events however it could also be used with APIs such as GetKeyState()

@KeyNone -----> Hex code of the key: 0x00000000
@KeyLButton -----> Hex code of the key: 0x00000001
@KeyRButton -----> Hex code of the key: 0x00000002
@KeyCancel -----> Hex code of the key: 0x00000003
@KeyMButton -----> Hex code of the key: 0x00000004
@KeyXButton1 -----> Hex code of the key: 0x00000005
@KeyXButton2 -----> Hex code of the key: 0x00000006
@KeyBack -----> Hex code of the key: 0x00000008
@KeyTab -----> Hex code of the key: 0x00000009
@KeyLineFeed -----> Hex code of the key: 0x0000000A
@KeyClear -----> Hex code of the key: 0x0000000C
@KeyReturn -----> Hex code of the key: 0x0000000D
@KeyEnter -----> Hex code of the key: 0x0000000D
@KeyShiftKey -----> Hex code of the key: 0x00000010
@KeyControlKey -----> Hex code of the key: 0x00000011
@KeyMenu -----> Hex code of the key: 0x00000012
@KeyPause -----> Hex code of the key: 0x00000013
@KeyCapsLock -----> Hex code of the key: 0x00000014
@KeyCapital -----> Hex code of the key: 0x00000014
@KeyKanaMode -----> Hex code of the key: 0x00000015
@KeyHanguelMode -----> Hex code of the key: 0x00000015
@KeyHangulMode -----> Hex code of the key: 0x00000015
@KeyJunjaMode -----> Hex code of the key: 0x00000017
@KeyFinalMode -----> Hex code of the key: 0x00000018
@KeyKanjiMode -----> Hex code of the key: 0x00000019
@KeyHanjaMode -----> Hex code of the key: 0x00000019
@KeyEscape -----> Hex code of the key: 0x0000001B
@KeyIMEConvert -----> Hex code of the key: 0x0000001C
@KeyIMENonconvert -----> Hex code of the key: 0x0000001D
@KeyIMEAceept -----> Hex code of the key: 0x0000001E
@KeyIMEModeChange -----> Hex code of the key: 0x0000001F
@KeySpace -----> Hex code of the key: 0x00000020
@KeyPageUp -----> Hex code of the key: 0x00000021
@KeyPrior -----> Hex code of the key: 0x00000021
@KeyPageDown -----> Hex code of the key: 0x00000022
@KeyNext -----> Hex code of the key: 0x00000022
@KeyEnd -----> Hex code of the key: 0x00000023
@KeyHome -----> Hex code of the key: 0x00000024
@KeyLeft -----> Hex code of the key: 0x00000025
@KeyUp -----> Hex code of the key: 0x00000026
@KeyRight -----> Hex code of the key: 0x00000027
@KeyDown -----> Hex code of the key: 0x00000028
@KeySelect -----> Hex code of the key: 0x00000029
@KeyPrint -----> Hex code of the key: 0x0000002A
@KeyExecute -----> Hex code of the key: 0x0000002B
@KeyPrintScreen -----> Hex code of the key: 0x0000002C
@KeySnapshot -----> Hex code of the key: 0x0000002C
@KeyInsert -----> Hex code of the key: 0x0000002D
@KeyDelete -----> Hex code of the key: 0x0000002E
@KeyHelp -----> Hex code of the key: 0x0000002F
@KeyD0 -----> Hex code of the key: 0x00000030
@KeyD1 -----> Hex code of the key: 0x00000031
@KeyD2 -----> Hex code of the key: 0x00000032
@KeyD3 -----> Hex code of the key: 0x00000033
@KeyD4 -----> Hex code of the key: 0x00000034
@KeyD5 -----> Hex code of the key: 0x00000035
@KeyD6 -----> Hex code of the key: 0x00000036
@KeyD7 -----> Hex code of the key: 0x00000037
@KeyD8 -----> Hex code of the key: 0x00000038
@KeyD9 -----> Hex code of the key: 0x00000039
@KeyA -----> Hex code of the key: 0x00000041
@KeyB -----> Hex code of the key: 0x00000042
@KeyC -----> Hex code of the key: 0x00000043
@KeyD -----> Hex code of the key: 0x00000044
@KeyE -----> Hex code of the key: 0x00000045
@KeyF -----> Hex code of the key: 0x00000046
@KeyG -----> Hex code of the key: 0x00000047
@KeyH -----> Hex code of the key: 0x00000048
@KeyI -----> Hex code of the key: 0x00000049
@KeyJ -----> Hex code of the key: 0x0000004A
@KeyK -----> Hex code of the key: 0x0000004B
@KeyL -----> Hex code of the key: 0x0000004C
@KeyM -----> Hex code of the key: 0x0000004D
@KeyN -----> Hex code of the key: 0x0000004E
@KeyO -----> Hex code of the key: 0x0000004F
@KeyP -----> Hex code of the key: 0x00000050
@KeyQ -----> Hex code of the key: 0x00000051
@KeyR -----> Hex code of the key: 0x00000052
@KeyS -----> Hex code of the key: 0x00000053
@KeyT -----> Hex code of the key: 0x00000054
@KeyU -----> Hex code of the key: 0x00000055
@KeyV -----> Hex code of the key: 0x00000056
@KeyW -----> Hex code of the key: 0x00000057
@KeyX -----> Hex code of the key: 0x00000058
@KeyY -----> Hex code of the key: 0x00000059
@KeyZ -----> Hex code of the key: 0x0000005A
@KeyLWin -----> Hex code of the key: 0x0000005B
@KeyRWin -----> Hex code of the key: 0x0000005C
@KeyApps -----> Hex code of the key: 0x0000005D
@KeyNumPad0 -----> Hex code of the key: 0x00000060
@KeyNumPad1 -----> Hex code of the key: 0x00000061
@KeyNumPad2 -----> Hex code of the key: 0x00000062
@KeyNumPad3 -----> Hex code of the key: 0x00000063
@KeyNumPad4 -----> Hex code of the key: 0x00000064
@KeyNumPad5 -----> Hex code of the key: 0x00000065
@KeyNumPad6 -----> Hex code of the key: 0x00000066
@KeyNumPad7 -----> Hex code of the key: 0x00000067
@KeyNumPad8 -----> Hex code of the key: 0x00000068
@KeyNumPad9 -----> Hex code of the key: 0x00000069
@KeyMultiply -----> Hex code of the key: 0x0000006A
@KeyAdd -----> Hex code of the key: 0x0000006B
@KeySeparator -----> Hex code of the key: 0x0000006C
@KeySubtract -----> Hex code of the key: 0x0000006D
@KeyDecimal -----> Hex code of the key: 0x0000006E
@KeyDivide -----> Hex code of the key: 0x0000006F
@KeyF1 -----> Hex code of the key: 0x00000070
@KeyF2 -----> Hex code of the key: 0x00000071
@KeyF3 -----> Hex code of the key: 0x00000072
@KeyF4 -----> Hex code of the key: 0x00000073
@KeyF5 -----> Hex code of the key: 0x00000074
@KeyF6 -----> Hex code of the key: 0x00000075
@KeyF7 -----> Hex code of the key: 0x00000076
@KeyF8 -----> Hex code of the key: 0x00000077
@KeyF9 -----> Hex code of the key: 0x00000078
@KeyF10 -----> Hex code of the key: 0x00000079
@KeyF11 -----> Hex code of the key: 0x0000007A
@KeyF12 -----> Hex code of the key: 0x0000007B
@KeyF13 -----> Hex code of the key: 0x0000007C
@KeyF14 -----> Hex code of the key: 0x0000007D
@KeyF15 -----> Hex code of the key: 0x0000007E
@KeyF16 -----> Hex code of the key: 0x0000007F
@KeyF17 -----> Hex code of the key: 0x00000080
@KeyF18 -----> Hex code of the key: 0x00000081
@KeyF19 -----> Hex code of the key: 0x00000082
@KeyF20 -----> Hex code of the key: 0x00000083
@KeyF21 -----> Hex code of the key: 0x00000084
@KeyF22 -----> Hex code of the key: 0x00000085
@KeyF23 -----> Hex code of the key: 0x00000086
@KeyF24 -----> Hex code of the key: 0x00000087
@KeyNumLock -----> Hex code of the key: 0x00000090
@KeyScroll -----> Hex code of the key: 0x00000091
@KeyLShiftKey -----> Hex code of the key: 0x000000A0
@KeyRShiftKey -----> Hex code of the key: 0x000000A1
@KeyLControlKey -----> Hex code of the key: 0x000000A2
@KeyRControlKey -----> Hex code of the key: 0x000000A3
@KeyLMenu -----> Hex code of the key: 0x000000A4
@KeyRMenu -----> Hex code of the key: 0x000000A5
@KeyBrowserBack -----> Hex code of the key: 0x000000A6
@KeyBrowserForward -----> Hex code of the key: 0x000000A7
@KeyBrowserRefresh -----> Hex code of the key: 0x000000A8
@KeyBrowserStop -----> Hex code of the key: 0x000000A9
@KeyBrowserSearch -----> Hex code of the key: 0x000000AA
@KeyBrowserFavorites -----> Hex code of the key: 0x000000AB
@KeyBrowserHome -----> Hex code of the key: 0x000000AC
@KeyVolumeMute -----> Hex code of the key: 0x000000AD
@KeyVolumeDown -----> Hex code of the key: 0x000000AE
@KeyVolumeUp -----> Hex code of the key: 0x000000AF
@KeyMediaNextTrack -----> Hex code of the key: 0x000000B0
@KeyMediaPreviousTrack -----> Hex code of the key: 0x000000B1
@KeyMediaStop -----> Hex code of the key: 0x000000B2
@KeyMediaPlayPause -----> Hex code of the key: 0x000000B3
@KeyLaunchMail -----> Hex code of the key: 0x000000B4
@KeySelectMedia -----> Hex code of the key: 0x000000B5
@KeyLaunchApplication1 -----> Hex code of the key: 0x000000B6
@KeyLaunchApplication2 -----> Hex code of the key: 0x000000B7
@KeyOemSemicolon -----> Hex code of the key: 0x000000BA
@KeyOemplus -----> Hex code of the key: 0x000000BB
@KeyOemcomma -----> Hex code of the key: 0x000000BC
@KeyOemMinus -----> Hex code of the key: 0x000000BD
@KeyOemPeriod -----> Hex code of the key: 0x000000BE
@KeyOemQuestion -----> Hex code of the key: 0x000000BF
@KeyOemtilde -----> Hex code of the key: 0x000000C0
@KeyOemOpenBrackets -----> Hex code of the key: 0x000000DB
@KeyOemPipe -----> Hex code of the key: 0x000000DC
@KeyOemCloseBrackets -----> Hex code of the key: 0x000000DD
@KeyOemQuotes -----> Hex code of the key: 0x000000DE
@KeyOem8 -----> Hex code of the key: 0x000000DF
@KeyOemBackslash -----> Hex code of the key: 0x000000E2
@KeyProcessKey -----> Hex code of the key: 0x000000E5
@KeyAttn -----> Hex code of the key: 0x000000F6
@KeyCrsel -----> Hex code of the key: 0x000000F7
@KeyExsel -----> Hex code of the key: 0x000000F8
@KeyEraseEof -----> Hex code of the key: 0x000000F9
@KeyPlay -----> Hex code of the key: 0x000000FA
@KeyZoom -----> Hex code of the key: 0x000000FB
@KeyNoName -----> Hex code of the key: 0x000000FC
@KeyPa1 -----> Hex code of the key: 0x000000FD
@KeyOemClear -----> Hex code of the key: 0x000000FE
@KeyKeyCode -----> Hex code of the key: 0x0000FFFF
@KeyShift -----> Hex code of the key: 0x00010000
@KeyControl -----> Hex code of the key: 0x00020000
@KeyAlt -----> Hex code of the key: 0x00040000
@KeyModifiers -----> Hex code of the key: 0xFFFF0000
@KeyIMEAccept -----> Hex code of the key: 0x0000001E
@KeyOem1 -----> Hex code of the key: 0x000000BA
@KeyOem102 -----> Hex code of the key: 0x000000E2
@KeyOem2 -----> Hex code of the key: 0x000000BF
@KeyOem3 -----> Hex code of the key: 0x000000C0
@KeyOem4 -----> Hex code of the key: 0x000000DB
@KeyOem5 -----> Hex code of the key: 0x000000DC
@KeyOem6 -----> Hex code of the key: 0x000000DD
@KeyOem7 -----> Hex code of the key: 0x000000DE
@KeyPacket -----> Hex code of the key: 0x000000E7
@KeySleep -----> Hex code of the key: 0x0000005F
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox