User Tools

Site Tools


en:documentation:script_reference

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:documentation:script_reference [2014/06/15 16:21] – [Translation string] pchen:documentation:script_reference [2017/02/22 11:19] (current) – [Formating and conversion] pch
Line 32: Line 32:
 ^name^value^ ^name^value^
 |deg2rad| degree to radian conversion constant| |deg2rad| degree to radian conversion constant|
-|rad2deg| radian to radian conversion constant|+|rad2deg| radian to degree conversion constant|
 ===== Global variables access ===== ===== Global variables access =====
  
Line 49: Line 49:
 ^varname^value^ ^varname^value^
 |Str1 .. Str10|Ten global variable for your use| |Str1 .. Str10|Ten global variable for your use|
 +
 +^function GetSL(varname:string; var strl: Tstringlist):Boolean;^^
 +|Get the global stringlist variable identified by varname||
 +^varname^value^
 +|Strl1 .. Strl10|Ten global variable for your use|
 +
 +^function SetSL(varname:string; stlr: Tstringlist):Boolean;^^
 +|Set the global stringlist variable identified by varname for later use||
 +^varname^value^
 +|Strl1 .. Strl10|Ten global variable for your use|
  
 ^function GetI(varname:string; var i: Integer):Boolean;^^ ^function GetI(varname:string; var i: Integer):Boolean;^^
Line 123: Line 133:
 ^function AsteroidMark(list:TstringList):boolean;^ ^function AsteroidMark(list:TstringList):boolean;^
 |Mark the listed asteroid to the chart| |Mark the listed asteroid to the chart|
 +
 +
 +===== Coordinates conversion =====
 +
 +^Procedure Eq2Hz(var ra,de : double ; var a,h : double);^
 +|Convert Equatorial ra,de to Alt/Az a,h for the location and time of the current chart, all angle in radian|
 +
 +^Procedure Hz2Eq(var a,h : double; var ra,de : double);^
 +|Convert Alt/Az a,h to equatorial ra,de for the location and time of the current chart, all angle in radian|
 +
 +^Procedure Eq2Gal(var ra,de : double ; var l,b : double);^
 +|Convert Equatorial ra,de to Galactic l,b , all angle in radian|
 +
 +^Procedure Gal2Eq(var l,b : double; var ra,de : double);^
 +|Convert Galactic l,b to equatorial ra,de , all angle in radian|
 +
 +^Procedure Eq2Ecl(var ra,de : double ; var l,b : double);^
 +|Convert Equatorial ra,de to Ecliptic l,b with obliquity for the date of the current chart, all angle in radian |
 +
 +^Procedure Ecl2Eq(var l,b : double; var ra,de : double);^
 +|Convert Ecliptic l,b to Equatorial ra,de with obliquity for the date of the current chart, all angle in radian|
 +
  
  
Line 150: Line 182:
 ^Function Format(Const Fmt : String; const Args : Array of const) : String;^ ^Function Format(Const Fmt : String; const Args : Array of const) : String;^
 |The [[http://www.freepascal.org/docs-html/rtl/sysutils/format.html|Format]] Pascal function| |The [[http://www.freepascal.org/docs-html/rtl/sysutils/format.html|Format]] Pascal function|
 +
 +^Procedure StrtoFloatD(str:string; var defval: Double; var val: Double);^
 +|Convert a string to a floating point value. Return defval if the string is a invalid number |
  
 ^function IsNumber(str: String): boolean;^ ^function IsNumber(str: String): boolean;^
 |Return True if the string represent a valid number| |Return True if the string represent a valid number|
 +
 +^function StringReplace(str,s1,s2: String): string;^
 +|Replace all occurrence of s1 by s2 in str|
 +
 +^procedure JsonToStringlist(jsontxt:string; var SK,SV: TStringList);^
 +|Parse a JSON formated string and return two stringlist. SK contain the names and SV the corresponding values|
 +
 +
  
 ===== Dialog ===== ===== Dialog =====
Line 164: Line 207:
 ^function MsgBox(const aMsg: string):boolean;^ ^function MsgBox(const aMsg: string):boolean;^
 |A message confirmation dialog. Return True if YES is clicked.| |A message confirmation dialog. Return True if YES is clicked.|
 +
 +^Procedure ShowMessage(const aMsg: string);^
 +|Display a message.|
  
 ^function CalendarDialog(var dt: double): boolean;^ ^function CalendarDialog(var dt: double): boolean;^
Line 180: Line 226:
  
 Also see the [[script_example|example]] about how to call a function in an external library. Also see the [[script_example|example]] about how to call a function in an external library.
 +
 +===== TCP/IP client socket =====
 +
 +For all this functions **socknum** identify the socket to use. This is a number between 1 and 10, thus allowing 10 simultaneous connection to different server.
 +
 +^function TcpConnect(socknum:integer; ipaddr,port,timeout:string):boolean;^
 +|Connect to the server at ipaddr:port and set the **timeout** for the subsequent operations|
 +
 +^function TcpDisconnect(socknum:integer):boolean;^
 +|Disconnect from the server|
 +
 +^Function TcpConnected(socknum:integer) : boolean;^
 +|Return **True** if the socket is connected|
 +
 +^Function TcpRead(socknum:integer; var buf : string; termchar:string) : boolean;^
 +|Read data from the socket until the character **termchar** is encountered, typically termchar is CRLF|
 +
 +^Function TcpReadCount(socknum:integer; var buf : string; var count : integer) : boolean;^
 +|Read data from the socket until **count** character are read or **timeout** is reached|
 +
 +^Function TcpWrite(socknum:integer; var buf : string; var count : integer) : boolean;^
 +|Write data to the socket from **buf** for a length of **count**|
 +
 +^Procedure TcpPurgeBuffer(socknum:integer);^
 +|Purge all the received data currently queued in the receive buffer|
 +
 +
 +
 +
  
en/documentation/script_reference.1402842087.txt.gz · Last modified: 2015/11/06 20:35 (external edit)