Preprozessor-Commands
 Use module in script
  @ALLMODULES@=$:#!load $^m
 Set debug-level:#!debug @^m
 Module-initialization:#!initialize^m^mreturn(0)
 Module-finalization:#!finalize^m^mreturn(0)
 Activate trace mode:#!trace 1^m
 Deactivate trace mode:#!trace 0^m
 Merge into Hamster-menu:#!menu:file/config/online/local/help=caption
 Comment:# @^m
Commands (most with result)
 execute command
  command+parameter (and wait):execute( @ )
  ..., workdir:execute( @, "" )
  ..., mode:execute( @, "", 1 )
  ..., flag if wait:execute( @, "", 1, true )
  ..., return value:execute( @, "", 1, true, $ )
 Open document
  filename:Shell( "@" )
  ..., parameter:Shell( "@", "" )
  ..., mode:Shell( "@", "", 1 )
  ..., path:Shell( "@", "", 1, "" )
  ..., command(open, print...):Shell( "@", "", 1, "", "" )
 Run external script:runscript ( "@", "", false )^m
 Windows/System
  DUN-RAS
   Dial (RAS-name):RasDial ( "@" )
   Dial (RAS-name/user/password/ID):RasDial ( "@", "", "", $ )
   HangUp active connection:RasHangup
   HangUp special connection (ID):RasHangup ( $@ )
   Fill list with RAS-entries:ListRasEntries( $@ )
  <windir>\hosts
   Set IP for host (hostname/IP):SetHostsEntry_ByName( "@" , "..." )
   Set host for IP (IP/hostname):SetHostsEntry_ByAddr( "@...", "" )
   Delete hosts-entry (hostname/IP):DeleteHostsEntry ( "@" , "...")
 Input/Output
  Ini-files
   Write file/section/key/value:IniWrite( @, , , )
   Delete file/section/key:IniDelete( @, , )
   Erase section file/section:IniEraseSection( @, , , )
  File(s)
   Delete file:FileDelete( "@" )
   Rename file from/to:FileRename( "@", "" )
   Copy file from/to:FileCopy( "@", "" )
   Move file from(/to:FileMove( "@", "" )
   Fill List with
    name of files in dir:ListFiles( $@, , false )
    dir/name of files in dir:ListFiles( $@, , true )
  Directories
   Create new:DirMake( "@" )
   Remove directory:DirRemove( "@" )
   Change workdir to:DirChange( "@" )
   Fill List with
    name of directories in dir:ListDirs( $@, , false )
    dir/name of directories in dir:ListDirs( $@, , true )
   Set clipboard:ClipWrite ( "" ) # WARNING! Prior entry will be erased!
 regular expressions
  Parse expression with regexp into variables:RE_Parse ( @, , $, $, $... )
  Split expression with regexp into variables:RE_Split ( @, , $, $, $... )
 User-I/O
  Acustic signal:beep ( @ )^m
  Hamster-Log
   Add information:print( "@" )
   Add warning:warning( "@" )
   Add error:error ( @ )^m
   If condition, add error:assert ( @, "" )^m
   Add line (text, type, show scriptname?):HamAddlog( "@" ,  , true )
   Start with new log-file:HamRotateLog^m
  Sleep xxx milliseconds:sleep ( @ )^m
  Show message box text/caption/style:MsgBox( "@", "", )
  X-Counter
   Clear #:ClearXCounter ( @ )
   Clear from/to:ClearXCounter ( @, )
   Set #:SetXCounter ( @, )
   Increment #:IncXCounter ( @, )
   Decrement #:DecXCounter ( @, )
 Sheduler
  Clear all entries:AtClear
  Neuer Eintrag:# Name, Ab Uhrzeit, bis Uhrzeit, An Wochentagen (Mo-So), Alle x Minuten, Zeitmodell (0-2)^mAtAdd( @, "00.00", "23.59", "1111100", 60, 1 )
  Add Entry:# Name of sub, From, Until, Execution on which weekdays (Mo-Su), Repeat after x minutes, Timemode^mAtAdd( @, "00.00", "23.59", "1111100", 60, 1 )
  Run with timeout:AtExecute( @ )
  Run without timeout:AtExecute
 Tasks
  Set Task limit (returns old value):SetTaskLimiter( @ )
 DLLs
  Load DLL => handle:$@ = DllLoad ( "" )
  Call function:DllCall ("@dllname|functionname|n|nn...", Par1 ... Par11 )
  Last error number:dlllasterror
  Free DLL (handle):dllfree ( $@ )
 Debugging
  Trace mode
   Activate:trace ( 1 )^m
   Deactivate:trace ( 0 )^m
  Hamster-error-handling
   Activate :ErrCatch (false)
   Deactivate:ErrCatch (true)
  Dump values of all variables:dump^m
  Set debug-level:debug ( @ )^m
  If debug-level not smaller, add to log:debug ( @, "" )^m
 End script:quit^m
Functions
 If-function:iif ( @, , )
 Case-function:icase( @, , , ... , else, )
 test type
  Test, if numeric:isint ( @ )
  Test, if is string:isstr ( @ )
 arithmetic
  absolute value:abs ( @ )
  signum (x=>-1/0/1):sgn ( @ )
  random number between 0 and x-1:random( @ )
 conversions
  String to number:int ( @ )
  ASCII-code of first char:ord( @ )
  Number to 
   ASCII-char:chr( @ )
   string:str ( @ )
   string / fills up to length / fill with:str( @, , "0" )
   hex:hex ( @ )
   hex and fills up to length:hex ( @, )
  time in seconds to 
   year/.../sec/day of week:decodetime( @, $, $, $, $, $, $, $ )
   year/month/day/hour/min/sec:decodetime( @, $, $, $, $, $, $ )
   year/month/day:decodetime( @, $, $, $ )
  year/month/day/hour/min/sec to time:encodetime( @, , , , , )
  year/month/day to time:encodetime( @, , )
  to Hash-Value
   use CRC32:digest ( 0, @, false )
   use MD5:digest ( 1, @, false )
   use SHA:digest ( 2, @, false )
  to Hash-Value (as Hex)
   use CRC32:digest ( 0, @, true )
   use MD5:digest ( 1, @, true )
   use SHA:digest ( 2, @, true )
 strings
  Length of string-expression/var:len ( @ )
  Position of string
   in string:pos( @, )
   in string, begin search at:pos( @, , )
  Copy Part of
   start at:copy( @, )
   start at / length:copy( @, , )
   without all after:delete( @,  )
   without all after / length:delete( @, , )
  Trim
   blanks before and after:trim ( @ )
   before and after:trim ( @, " " )
  Convert upper to lower:lowercase ( @ )
  Convert lower to upper:uppercase( @ )
  Decode...
   MIME-header:DecodeMIMEHeaderString ( "@", $ )
   Base64:decodebase64 ( @ )
   Quoted Printable:decodeqp ( @ )
  Converting charsets
   Decode to local charset:DecodeToLocalCharset( "@", "utf-8" )
   UTF7 to 16-bit-Unicode:utf7toucs16 ( @ )
   UTF8 to 32-bit-Unicode:utf8toucs32 ( @ )
  Replace in
   what / with:replace( @, , )
   what / with / all? / ignorecase?:replace( @, , , true, true )
  Evaluate expression:eval( @ )
 regular expressions
  Test, if expression matches regexp:RE_Match( @, )
  Extract from expression with regexp:RE_Extract( @, )
 Windows/System  
  date / time
   Count miliseconds after starting Windows:ticks
   Local time as seconds after 1/1/1970:time
   GMT-time as seconds after 1/1/1970:timegmt     
   Get timezone:RFCTimeZone
  Get environement-entry:GetEnv( "@" )
  Message for error-number:SysErrorMessage ( @ )
  <Windows>\hosts
   Get local host name:LocalHostName
   Get local host IP:LocalHostAddr
   Get IP for host name:LookupHostAddr ( "@" )
   Get host name for IP:LookupHostName( "@" )
  DUN-RAS
   Get name of active connection:RasGetConnection
   Get last error number:RasLastError
   Test, if any RAS-connection active:RasIsConnected
   Get IP-address of active connection:RasGetIP
 Input/Output
  Ini-files
   Read Ini-String file/section/key/default:IniRead( @, , , )
  File(s)
   Test, if exists:FileExists( "@" )
   Get size in bytes:FileSize( "@" )
   Get time (Unix-format):FileTime( "@" )
  Directories
   Test, if exists:DirExists( "@" )
   Get current workdir:DirCurrent
   Get Windows-main-Directory:DirWindows
   Get Windows-system-Directory:DirSystem
  Free space on drive in KB:DiskFreeKB ( "@" )
  Get Clipboard as text:ClipRead
 User-I/O 
  Input box 
   text only:InputBox( "@" )
   text/caption/default/OK?:InputBox( "@", "", "", $ )
   text/caption/default/Timeout/OK?:PopUpBox( "@", "", "", 10, $ )
  Input Password 
   text only:InputPW( "@" )
   text/caption/default/OK?:InputPW( "@", "", "", $ )
  Choose entry out of Listbox (list/text/caption/default/OK?):ListBox( $@, "", "", "", $ )
  X-Counter
   Get Value #:XCounter ( @ )
 Error-handling
  Last error code (0=no error):ErrNum
  Last error message:ErrMsg
  Module, which causes last error:ErrModule
  Line number, which causes last error:ErrLineNo
  Line itself, which causes last error:ErrLine
  Script-Object, which causes last error:ErrSender
 script-parameter
  Count:paramcount
  Get by #:paramstr( @ )
 Scheduler
  Count active entries:AtCount
  Info about single entry
   Running sub:AtSubfunction (@)
   From time:AtFrom (@)
   Until time:AtUntil (@)
   On days:AtOnDays (@)
   Every minutes:AtEveryMins (@)
 Tasks
  Count active Tasks:GetTasksActive
  Count waiting Tasks:GetTasksWait
  Count running Tasks:GetTasksRun
Server-commands (with result)
 Local servers
  NNTP-server
   Start:HamNNTPServer ( 1 )^m
   Stop:HamNNTPServer ( 0 )^m
   Restart:HamNNTPServer ( 2 )^m
  POP3-server
   Start:HamPOP3Server ( 1 )^m
   Stop:HamPOP3Server ( 0 )^m
   Restart:HamPOP3Server ( 2 )^m
  SMTP-server
   Start:HamSMTPServer ( 1 )^m
   Stop:HamSMTPServer ( 0 )^m
   Restart:HamSMTPServer ( 2 )^m
  IMAP-server
   Start:HamIMAPServer ( 1 )^m
   Stop:HamIMAPServer ( 0 )^m
   Restart:HamIMAPServer ( 2 )^m
  RECO-server
   Start:HamRECOServer ( 1 )^m
   Stop:HamRECOServer ( 0 )^m
   Restart:HamRECOServer ( 2 )^m
 Visual
  Main window
   Show:HamMainWindow ( 1 )^m
   Hide:HamMainWindow ( 0 )^m
  Tray-icon
   Show:HamTrayIcon ( 1 )^m
   Hide:HamTrayIcon ( 0 )^m
  Reset
   Counters and log:HamResetCounters ( 0 )^m
   Counters:HamResetCounters ( 1 )^m
   Log:HamResetCounters ( 2 )^m
   Warnings/Errors:HamResetCounters ( 3 )^m
 Configuration
  Reload:HamReloadConfig ( 1 )^m
  Reload IPAccess.hst:HamReloadIPAccess^m             
  Change password:HamChangePassword ( @, "", "" )^m
  Reload passwords:HamPassReload
 Open special dialogs
  Edit Directories
   Open:HamDialogEditDirs ( 1 )^m
   Close:HamDialogEditDirs ( 0 )^m
   Get state: HamDialogEditDirs ( 2 )
  Edit scripts and modules
   Open:HamDialogScripts ( 1 )^m
   Close:HamDialogScripts ( 0 )^m
   Get state: HamDialogScripts ( 2 )
  News-Killfile-Log
   Open and wait until closed:HamDialogNewsKillfileLog ( 1 )^m
   Close if open:HamDialogNewsKillfileLog ( 0 )^m
   Get state: HamDialogNewsKillfileLog ( 2 )
  Mail-Killfile-Log
   Open and wait until closed:HamDialogMailKillfileLog ( 1 )^m
   Close if open:HamDialogMailKillfileLog ( 0 )^m
   Get state: HamDialogMailKillfileLog ( 2 )
  Select news-pull(s):HamDialogAddPull ( 1 )^m
 Maintainence
  Purge:HamPurge( @ )^m
  Purge single group:HamPurge( @, "" )^m
  Rebuild groups-list:HamRebuildGlobalLists^m
  Rebuild history:HamRebuildHistory^m
  Flush history to disk:HamFlush^m
 RAS
  Set temp Login (RAS-name/user/password):HamSetLogin( "@", "", "" )^m
  Dial (name):HamRasDial( "@" )^m
  Dial (name/user/password):HamRasDial( "@", "", "" )^m
  HangUp:HamRasHangup^m
 News activities
  Immediate
   Pull news from all server:HamNewsPull^m
   Pull news from server-list:HamNewsPull ( "@" )^m
   Post news from outbox:HamNewsPost^m
   Post news from outbox for server-list:HamNewsPost ( "@" )^m
  Use Joblist
   Clear:HamNewsJobsClear
   Add pull job 
    for all server:HamNewsJobsPullDef^m
    for server-list:HamNewsJobsPullDef ( "@" )^m
    for server:HamNewsJobsPull ( "@" )^m                                   
    for server and group-selection:HamNewsJobsPull ( "@", "" )^m
   Add post job 
    for all server:HamNewsJobsPostDef^m
    for server-list:HamNewsJobsPostDef ( "@" )^m
    for server:HamNewsJobsPost ( "@" )^m                                   
    for server and group-selection:HamNewsJobsPost ( "@", "" )^m
    for server, group-selection and header:HamNewsJobsPost ( "@", "", "" )^m
   Add feed job
    for server:HamNewsJobsFeed ( "@" )^m                                   
    for server and group-selection:HamNewsJobsFeed ( "@", "" )^m
   Add job Check for new groups:HamNewsJobsCheckActive ( "" )^m
   Add job (Server/Type/Parameter/Priority):HamNewsJobsAdd ( "@",  , "",  )^m
   Change priority of job #:HamNewsJobsSetPriority ( @,  )^m
   Delete job #:HamNewsJobsDelete ( @ )^m
   Execute
    all jobs:HamNewsJobsStart^m
    all jobs in server-list:HamNewsJobsStart ( @ )^m
 Mail activities
  Send and receive mail
   for all server:HamMailExchange^m
   for server-list:HamMailExchange ( "@" )^m
  Receive mail from
   single server:HamFetchMail ( "@" )^m
   server/port/user/pass:HamFetchMail ( "@", "pop3", "", "" )^m
   server/port/user/pass/destuser/filter/Leave:HamFetchMail ( "@", "pop3", "", "", "", "", false )^m
   .../SSL-Mode/SSL-Verify/SSL-CaFile:HamFetchMail ( "@", "pop3", "", "", "", "", false, 0, 0, "" )^m
  Send mails to
   single server:HamSendMail ( "@" )^m
   server/port:HamSendMail ( "@", "smtp" )^m
   server/port/from/to-selection:HamSendMail ( "@", "smtp", "", "" )^m
   .../SSL-Mode/SSL-Verify/SSL-CaFile:HamSendMail ( "@", "smtp", "", "", 0, 0, "" )^m
  Send mail with authentification to
   single server:HamSendMailAuth ( "@" )^m
   server/port/user/pass:HamSendMailAuth ( "@", "smtp", "", "" )^m
   server/port/user/pass/from/to-selection:HamSendMailAuth ( "@", "smtp", "", "", "", "" )^m
   .../SSL-Mode/SSL-Verify/SSL-CaFile:HamSendMailAuth ( "@", "smtp", "", "", "", "", 0, 0, "" )^m
  Create new Mail (From/To/Header+Body):HamNewMail ( "", "",  )
 group-access
  Single group
   Open group (result=handle):HamGroupOpen( "@" )^m
   Close (handle):HamGroupClose( $@ )^m
  Add group:HamAddGroup ( "@", "?", "y", "", "" )^m
  Add pull:HamAddPull ( "@", "" )^m
  Delete group:HamDelGroup ( "@" )^m
  Delete pull:HamDelPull ( "@", "" )^m
  Import article (header+body/...):HamArtImport( @, "", false, false )^m
  Search article 
   with M-ID, result=group/#:HamArtLocateMid ( "@", $ , $ )^m
   with M-ID and group, result=#:HamArtLocateMidInGroup ( "@", "" , $ )^m
  Delete article
   with message-ID:HamArtDeleteMid ( "@" )^m
   with message-ID and group:HamArtDeleteMidInGroup ( "@", "" )^m
   with number and group:HamArtDeleteNrInGroup ( @, "")^m
 Validate scorefile-line
  News-scorefile-line:Testnewsfilterline( @ )
  Mail-scorefile-line:Testmailfilterline( @ )
 Synchronisation
  Wait until
   idle:HamWaitIdle^m
   idle or timeout:HamWaitIdle( @ )^m
   Event has fired or timeout:WEventWait ( @, -1 )^m
   one or more events fired or timeout:EventMultipleWait( , , , ... )
  Event
   create:$@ = EventCreate( "", 1, 0, $ )
   destroy (handle):EventClose ( $ )
  Set state of event
   fire:EventPulse ( @ )
   pulse:EventSet ( @ )
   reset: EventReset ( @ )
  Hamster-activities
   Set script-priority:ScriptPriority ( @ )^m 
   Stop all tasks:HamStopAllTasks^m
   Stop single thread:StopThread ( "@" )^m
   Quit:HamShutdown^m
Server-functions  
 Identification
  Version:HamVersion
  Product name:HamVersion (1)
  Maintainer:HamVersion (2)
  Homepage:HamVersion (3)
  Comment:HamVersion (4)
  ID for active instance:GetProcessIdentifier
 Paths
  Main:HamPath
  Scripts:HamHscPath
  Scripts for ReCo-server:HamRCpath
  Modules:HamHsmPath
  Logs:HamLogsPath
  Server:HamServerPath
  Groups:HamGroupsPath
  News.out:HamNewsOutPath 
  News.err:HamNewsErrPath 
  Mail:HamMailPath
  Mail.Out:HamMailsOutPath
 Configuration
  Test, if changable:HamMessage( 9, 0 )
  FQDN for Message-IDs:HamMidFQDN
  FQDN for anything else:HamMainFQDN
  Envelope-From for auto-generated mails:HamEnvelopeFrom
  Postmaster-account/address:HamPostmaster
  Usenet-account/address:HamUsenetAcc
 Status
  Test, if local server is active
   NNTP-server:HamGetStatus( 1, 1 )
   POP3-server:HamGetStatus( 1, 2 )
   SMTP-server:HamGetStatus( 1, 3 )               
   IMAP-Server:HamGetStatus( 1, 4 )
   RECO-Server:HamGetStatus( 1, 5 )
  Count active connections
   NNTP-server:HamGetStatus( 2, 1 )
   POP3-server:HamGetStatus( 2, 2 )
   SMTP-server:HamGetStatus( 2, 3 )         
   IMAP-Server:HamGetStatus( 2, 4 )            
   RECO-Server:HamGetStatus( 2, 5 )
  Count postings/mail             
   New postings:HamGetStatus( 3, 1 )
   Loaded postings:HamGetStatus( 3, 2 )
   Postings get by M-ID:HamGetStatus( 3, 8 )
   Known postings:HamGetStatus( 3, 3 )
   Killed postings:HamGetStatus( 3, 4 )
   Postings in outbox:HamGetStatus( 3, 5 )
   New mail:HamGetStatus( 3, 6 )
   Mail in outbox:HamGetStatus( 3, 7 )
   Visible Error-Lines:HamGetStatus( 3, 9 )
   Visible Warning-Lines:HamGetStatus( 3, 10 )
  Get Loglevel
   for visible log:HamGetStatus( 4, 1 )
   for saved log:HamGetStatus( 4, 2 )
  Main window visible:HamMainWindow( 2 )
  Tray-Icon active:HamTrayIcon( 2 )
  Count active threads:HamThreadCount
  Hamster-Uptime
   in seconds:GetUptimeSecs
   in minutes:GetUptimeMins
   in hours:GetUptimeHours
   in days:GetUptimeDays
  Test if idle:HamIsIdle
  Test if purging:HamCheckPurge
 News activities
  Joblist-Info
   Count jobs:HamNewsJobsGetCounter
   Servername of job #:HamNewsJobsGetServer ( @ )
   Parameter of job #:HamNewsJobsGetParam ( @ )
   Type of job #:HamNewsJobsGetType ( @ )
   Priority of job #:HamNewsJobsGetPriority ( @ )
 group-access
  Count groups:HamGroupCount
  Name of group #:HamGroupName( @ )
  Get # by name:HamGroupIndex( "@" )
  Single group
   Name of group (handle):HamGroupNameByHandle( $@ )
   Count articles (handle):HamArtCount( $@ )
   Get # of first article (handle):HamArtNoMin( $@ )
   Get # of last article (handle):HamArtNoMax( $@ )
   Get Article (handle, #):HamArtText( $@,  )
   Get Article for export (handle, #):HamArtTextExport( $@,  )
  Scoring
   Get score-list for group:HamScoreList( "@" )
   Get score for article (group/#/type):HamScoreTest( "@", , 0 )
   Get score and score-lines for article (group/#/Var):HamScoreTest( "@",  , $ )
-
Variables 
 Normal vars
  Define new 
   variable:var ( $@ )^m
   ... and set:varset ( $@,  )^m
   variables:var ( $@, , , ... )^m
  Increment var
   for 1:Inc ( $@ )^m
   for x:Inc ( $@, )^m
  Decrement var
   for 1:Dec ( $@ )^m
   for x:Dec ( $@, )^m
  Set value of existing variable:$@ = ^m
 Lists
  Get Handle of new
   Unsorted list:$@ = ListAlloc( false )
   Sorted list:$@ = ListAlloc( true, true )
   Sorted list without duplicates:$@ = ListAlloc( true, false )
  Information
   Test, if list exists:ListExists( $@ )
   Test, if entry # exists:ListExists( $@, )
   Count entries:ListCount( $@ )
   Get Index of string:ListIndexOf( $@,  )
  Clear:ListClear( $@ )
  Add entry
   At end of list:ListAdd ( $@, )
   At position:ListInsert( $@, , )
  Set entry
   Set list entry #:ListSet( $@, , )
   Set tag of list entry #:ListSetTag( $@, , )
   Set Value for key:ListSetKey( $@, , )
  Get entry
   Get list entry #:ListGet( $@,  )
   Get tag of list entry #:ListGetTag( $@, )
   Get Value for key:ListGetKey( $@,  )
  Delete entry #:ListDelete( $@, )
  Sort:ListSort( $@ )
  Full text
   Set to:ListSetText( $@,  )
   Get:ListGetText( $@ )
  Fill with
   Filenames:ListFiles( $@, , false )
   qualified filenames:ListFiles( $@, , true )
   Subdirectories:ListDirs( $@, , false )
   qualified subdirectories:ListDirs( $@, , true )
   DUN-Entries:ListRasEntries( $@ )
  File-I/O
   Load from File:ListLoad ( $@, )
   Save to file:ListSave ( $@, )
  Free list (handle):ListFree( $@ )
 Articles (posting/mail)
  Get handle of new
   empty article:ArtAlloc
   article with text:ArtAlloc ( @ )
  Set
   header by name
    append:ArtAddHeader ( $@, "", "" )
    set or add:ArtSetHeader ( $@, "", "" )
   Full header:ArtSetHeaders ( $@,  )
   Full body:ArtSetBody ( $@,  )
   Header and body:ArtSetText( $@,  )
  Get
   header by name
    without CR/LF:ArtGetHeader( $@, "", 0)
    with CR/LF:ArtGetHeader( $@, "", 1)
   Full header:ArtGetHeaders ( $@ )
   Full body (Textkörper):ArtGetBody ( $@ )
   Header and body:ArtGetText( $@ )
  Special
   Test if header exists:ArtHeaderExists ( $@, "" )
   Delete header by name:ArtDelHeader( $@, "" )
  File-I/O
   Load from file:ArtLoad ( $@, "" )
   Save to file:ArtSave ( $@, "" )
  Free article (handle):ArtFree ( $@ )
 Define consts
   with value:Const ( $@, )^m
   ascending from 0:ConstEnum ( $@, $, $ ... )^m
 Pointer
  Allocate (size):$@ = MemAlloc ( )
  Get size (handle):MemSize ( $@ )
  Integer
   Write (handle, value):MemSetInt ( $@, )
   Read (handle):MemGetInt ( $@ )
  String
   Write (handle, value):MemSetStr ( $@, "" )
   Read (handle):MemGetStr ( $@ )
  Variable as pointer:MemVarPtr ( $@ )
  Free (handle):Memfree ( $@ )
  Forget (handle):MemForget ( $@ )
Operators
 Brackets:( @ )
 logical
  negation: !@
  and:  && 
  or: || 
 compare
  is equal: =
  is not equal: <>
  is smaller: < 
  is smaller or equal: <=
  is greater: > 
  is greater or equal: >=
 arithmetic
  Addition: + 
  Subtraction: - 
  Multiplication: * 
  Divison: / 
  Modulo: %
 binary   
  negation:~@
  shift left:<<
  shift right:>>
  and: & 
  or: | 
  xor: ^ 
 for strings
  Concat: + 
Loops / Jump
 Loops
  type "Endless" Loop:do^m  @^mloop^m
  type "While":while ( @ )^m  ^mendwhile^m
  type "Until":repeat^m  ^muntil ( @ )^m
  type "For":for( @, , , ) # Var-Name, Startvalue, Endvalue (, Step)^m  ^mendfor^m
  Break loop:break()^m
  Rerun loop:continue()^m
 Label
  Goto label:Goto ( @ )^m
  Define label for Goto:label ( @ )^m
If ...
 If/endif-Statement:if ( @ )^m  ^mendif^m
 If/else/endif-Statement:if ( @ )^m  ^melse^m ^mendif^m
 If/elseif/endif-Statement:if ( @ )^m  ^melseif^m ^mendif^m
 If/elseif/else/endif-Statement:if ( @ )^m  ^melseif^m ^melse^m ^mendif^m
(Define) Sub/function
 New sub/function:Sub @ ( ) # this sub...^m  ^mendsub^m
 Exit sub with value:return ( @ )^m
-
Available server
 News-server
  @NNTPSERVERLIST@
 POP3-server
  @POP3SERVERLIST@
 SMTP-server
  @SMTPSERVERLIST@
Available DUN-Entries
 @RASLIST@
-
Available modules
 @TESTMODULES@
