Eines del lloc


Barra lateral




Last news:



Cartes du Ciel is free software released under the terms of the
GNU banner GNU General Public License \


Hosted by SourceForge.net

Support This Project


ca:documentation:script_reference

Referència als scripts

Aquesta pàgina subministra material de referència per a les funcions de scripts.

Vegeu la pàgina de descripció Caixa d'eines esquerra per a informació general.

Vegeu la pàgina dels exemples de scripts per un inici ràpid de les funcions de programació.

Llenguatge dels scripts

El llenguatge a usar és Script Pascal.
Per a una referència completa sobrte el llenguatge d'objectes Pascal, podeu llegir la Guia de Referència Pascal gratuïta http://www.freepascal.org/docs-html/ref/ref.html. Però tingueu en compte que alguna característica no està implementada el el llenguatge script, per exemple: no punters, no compilador, no sobrecàrrega.

Afegides a les característiques estàndard de l'script Pascal, hi ha les següents fucions específiques de Skychart.

Funció menú principal

Tots els ítems del menú principal poden ser usatd des dels scripts.
La llista completa dels noms dels ítems del menú està disponible a la llista del menú.

Podeu executar les accions del menú usant el mètode Clic, o comprovar si una opció s'activa provant la propietat Marcada.

Cadena de traducció

Cada cadena traduïda per al programa principal pot ser usada en un script.
Directament useu la constant rsXXX per obtenir la cadena traduïda.
La lloista completa de cadenes és obtenible del codi font.
Si alguna cadena no estés traduïda per al vostre idioma no dubteu a fer-ho personalment.

Constants

namevalue
deg2rad constant de conversió de graus a radians
rad2deg constant de conversió de radians a graus

Accés a variables globals

function GetS(varname:string; var str: string):Boolean;
Obté la variable de cadena global identificada per varname
varnamevalue
ChartNameEl nom de la darrera carta que envia un esdeveniment
RefreshTextEl text de l'esdeveniment ChartRefresh
SelectionTextEl text breu de l'objecte triat
DescriptionTextLa descripció completa de l'objecte
DistanceTextEl text del darrer esdeveniment de mesura de distància
Str1 .. Str10Deu variables globals per al vostre ús.
function SetS(varname:string; str: string):Boolean;
Identifica la variable de cadena global com varname per a ús futur
varnamevalue
Str1 .. Str10Deu variables globals per al vostre ús
function GetI(varname:string; var i: Integer):Boolean;
Obté la variable entera global identificada per varname
varnamevalue
Int1 .. Int10Deu variables globals per al vostre ús
function SetSL(varname:string; stlr: Tstringlist):Boolean;
Identifica la variable de llista de cadena global com varname per a ús futur
varnamevalue
Strl1 .. Strl10Deu variables globals per al vostre ús
function GetI(varname:string; var i: Integer):Boolean;
Obté la variable global entera identificada per varname
varnamevalue
Int1 .. Int10Deu variables globals per al vostre ús
function SetI(varname:string; i: Integer):Boolean;
Identifica la variable entera global com varname per a ús futur
varnamevalue
Int1 .. Int10Deu variables globals per al vostre ús
function GetD(varname:string; var x: double):boolean;
Identifica la variable double global com varname per a ús futur
varnamevalue
TelescopeRALa AR de la posició del telescopi
TelescopeDELa DEC de la posició del telescopi
TimeNowEl tempa actual en format TDateTime
Double1 .. Double10Deu variables globals per al vostre ús
function SetD(varname:string; x: Double):Boolean;
Posa la variable global double identificada per varname per a ús futur
varnamevalue
Double1 .. Double10Deu variables globals per al vostre ús
function GetV(varname:string; var v: Variant):Boolean;
Obté la variable global variant identificada per varname
varnamevalue
Telescope1 , Telescope2Dos objectes del telescopi ASCOM
Dome1 , Dome2Dos objectes de la cúpula ASCOM
Camera1 , Camera2Dos objectes de la càmera ASCOM
Focuser1 , Focuser2Dos objectes de l'enfocador ASCOM
Filter1 , Filter2Dos objectes de la roda filtre ASCOM
Rotator1 , Rotator2Dos objectes del rotador ASCOM
Variant1 .. Variant10Deu variables globals per al vostre ús
function SetV(varname:string; v: Variant):Boolean;
Obté la variable global variant identificada com varname per a ús futur.
varnamevalue
Telescope1 , Telescope2Dos objectes del telescopi ASCOM
Dome1 , Dome2Dos objectes de la cúpula ASCOM
Camera1 , Camera2Dos objectes de la càmera ASCOM
Focuser1 , Focuser2Dos objectes de l'enfocador ASCOM
Filter1 , Filter2Dos objectes de la roda filtre ASCOM
Rotator1 , Rotator2Dos objectes del rotador ASCOM
Variant1 .. Variant10Deu variables globals per al vostre ús

Mapa i objectes celestes

function Cmd(cname:string; arg:Tstringlist):string;
Executa un dels comandaments del servidor Skychart. Afegeix el nom del comandament abans de la llista de cadenes, i després cada paràmetre.
procedure SendInfo(origin,str:string);
Envia un missatge als clients connectats al servidor Skychart .
function GetObservatoryList(list:TstringList):boolean;
Retorna la llista dels observatoris favorits
function GetScopeRates(list:TstringList):boolean;
Retorna una llista de les velocitats suportades pel telescopi
function GetCometList(const filter: string; maxnum:integer; list:TstringList):boolean;
Retorna una llista dels cometes d'acord amb el filtre
function GetAsteroidList(const filter: string; maxnum:integer; list:TstringList):boolean;
Retorna una llista dels asteroides d'acord amb el filtre
function CometMark(list:TstringList):boolean;
Marca els cometes llistats al mapa
function AsteroidMark(list:TstringList):boolean;
Marca els asteroides llistats al mapa

Coordinates conversion

Procedure Eq2Hz(var ra,de : double ; var a,h : double);
Converteix l'equatorial AR,DEC a Alt/Az a,h per al lloc i l'hora de la carta actual, els angles en radians
Procedure Hz2Eq(var a,h : double; var ra,de : double);
Converteix Alt/Az a,h a equatorials AR,DEC per al lloc i l'hora de la carta actual, angles en radians
Procedure Eq2Gal(var ra,de : double ; var l,b : double);
Converteix equatorials AR,DEC a galàctics l,b , angles en radians
Procedure Gal2Eq(var l,b : double; var ra,de : double);
Converteix galàctics l,b a equatorials AR,DEC, angles en radians
Procedure Eq2Ecl(var ra,de : double ; var l,b : double);
Converteix equatorials AR,DEC a eclíptiques amb obliqüitat per la data de la carta actual, angles en radians
Procedure Ecl2Eq(var l,b : double; var ra,de : double);
Converteix eclíptiques l,b a equatorials AR,DEC amb obliqüitat per a la data de la carta actual, angles en radians

Formatat i conversió

Function ARtoStr(var ar: Double) : string;
Retorna una cadena formatada d'Ascensió Recta des d'un valor AR
Function DEtoStr(var de: Double) : string;
Retorna una cadena de Declinació formatada des d'un valor DEC.
Function StrtoAR(str:string; var ar: Double) : boolean;
Converteix una cadena formatada al valor decimal de l'AR.
Function StrtoDE(str:string; var de: Double) : boolean;
Converteix una cadena formatada al valor decimal de la DEC
Function JDtoStr(var jd: Double) : string;
Formata un dia julià a una cadena AAAA-MM-DD
Function StrtoJD(dt:string; var jdt: Double) : boolean;
Converteix una cadea amb format AAAA-MM-DD a valor de dia julià
Function FormatFloat(Const Format : String; var Value : double) : String;
Formata un nombre decimal d'acord a l'especificació de Format
Function Format(Const Fmt : String; const Args : Array of const) : String;
La funció Pascal de Format
Procedure StrtoFloatD(str:string; var defval: Double; var val: Double);
Converteix una cadena a un valor de coma flotant. Retorna defval si la cadena no és un nombre vàlid
function IsNumber(str: String): boolean;
Retorna True (veritat) si la cadena representa un nombre vàlid.
function StringReplace(str,s1,s2: String): string;
Remplaça tota occurrència de s1 per s2 en str
procedure JsonToStringlist(jsontxt:string; var SK,SV: TStringList);
Recorre una cadena formatada JSON i retorna dues llistes de cadena. SK conté els noms i SV els valors corresponents

Diàleg

function OpenDialog(var fn: string): boolean;
El diàleg normal d'Obrir fitxer. Retorna True (veritat) si s'ha premut el botó D'acord després de la tria de fitxer.
function SaveDialog(var fn: string): boolean;
El diàleg Desa normal.Retorna True (veritat) si s'ha premut el botó D'acord després de la tria de fitxer.
function MsgBox(const aMsg: string):boolean;
Diàleg de missatge de confirmació. Retorna True (veritat) si s'ha fet clic a SI.
Procedure ShowMessage(const aMsg: string);
Mostra un missatge.
function CalendarDialog(var dt: double): boolean;
El diàleg del calendari Skychart . Retorna el dia julià

Executa programa extern

function Run(cmdline:string):boolean;
Executa l'ordre especificada. Retorna immediatament sense esperar que acabi l'execució.
function RunOutput(cmdline:string; var output:TStringlist):boolean;
Executa l'ordre especificada, espera a la terminació i posa la sortida estàndard (stdout) a “output (sortida)”. Atenció aquesta funció pot bloquejar completament el programa principal si no acaba a temps.
function OpenFile(fn:string):boolean;
Obre un fitxer document usant el programa per defecte

També mireu a exemples sobre com cal demanar una funció en una llibreria externa.

Connector client TCP/IP

Per a totes aquestes funcions socknum identifica el conector a usar. Això és un nombre entre 1 i 10, i així permet 10 connexions simultànies a servidors diferents.

function TcpConnect(socknum:integer; ipaddr,port,timeout:string):boolean;
Connecta al servidor al ipaddr:port i fixa el timeout per a les operacions següents
function TcpDisconnect(socknum:integer):boolean;
Desconnecta del servidor
Function TcpConnected(socknum:integer) : boolean;
Retorna True (Veritat) si el connector està connectat
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
ca/documentation/script_reference.txt · Darrera modificació: 2017/05/26 10:48 per antoni