Aca dejo el llamado de funciones para la swedll32.dll
Lo copio en parte porque no puedoi agregar todo en un post
Código Delphi
[-]unit swiss;
interface
function swe_calc(tjd : double;
ipl : Integer;
iflag : Longint;
var xx : double;
sErr : PChar
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_calc@24';
function swe_calc_ut(tjd : double;
ipl : Integer;
iflag : Longint;
var xx : double;
sErr : PChar
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_calc_ut@24';
procedure swe_close; stdcall; far; external 'swedll32.dll' name
'_swe_close@0';
procedure swe_cotrans(var xpin : double;
var xpout : double;
eps : double
); stdcall; far; external 'swedll32.dll' name '_swe_cotrans@16';
procedure swe_cotrans_sp(var xpin : double;
var xpout : double;
eps : double
); stdcall; far; external 'swedll32.dll' name '_swe_cotrans_sp@16';
function swe_csnorm(p: Longint
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_csnorm@4';
function swe_csroundsec(x: Longint
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_csroundsec@4';
function swe_cs2degstr(t: Longint;
s : pchar
): pchar; stdcall; far; external 'swedll32.dll' name '_swe_cs2degstr@8';
function swe_cs2lonlatstr(t: Longint;
pch : char;
mch : char;
s : pchar
): pchar; stdcall; far; external 'swedll32.dll' name
'_swe_cs2lonlatstr_d@16';
function swe_cs2timestr(t: Longint;
sep : integer;
suppresszero : integer;
s : pchar
): pchar; stdcall; far; external 'swedll32.dll' name '_swe_cs2timestr@16';
function swe_date_conversion(year: integer;
month : integer;
day : integer;
utime : double;
c : char;
var tjd : double
): integer; stdcall; far; external 'swedll32.dll' name
'_swe_date_conversion@28';
function swe_day_of_week(var tjd: double
): integer; stdcall; far; external 'swedll32.dll' name
'_swe_day_of_week@8';
function swe_degnorm(x: double
): double; stdcall; far; external 'swedll32.dll' name '_swe_degnorm@8';
function swe_deltat(tjd : double
): double; stdcall; far; external 'swedll32.dll' name '_swe_deltat@8';
function swe_difcsn(p1: Longint;
p2 : Longint
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_difcsn@8';
function swe_difcs2n(p1: Longint;
p2 : Longint
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_difcs2n@8';
function swe_difdegn(p1 : double;
p2 : double
): double; stdcall; far; external 'swedll32.dll' name '_swe_difdegn@16';
function swe_difdeg2n(p1 : double;
p2 : double
): double; stdcall; far; external 'swedll32.dll' name '_swe_difdeg2n@16';
function swe_d2l(x: double
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_d2l@8';
function swe_fixstar(star : pchar;
tjd : double;
iflag : Longint;
var xx : double;
sErr : pchar
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_fixstar@24';
function swe_fixstar_ut(star : pchar;
tjd : double;
iflag : Longint;
var xx : double;
sErr : pchar
): Longint; stdcall; far; external 'swedll32.dll' name
'_swe_fixstar_ut@24';
function swe_get_planet_name(ipl : integer;
pname : PChar
): PChar; stdcall; far; external 'swedll32.dll' name
'_swe_get_planet_name@8';
function swe_get_tid_acc(t_acc: double
): double; stdcall; far; external 'swedll32.dll' name '_swe_get_tid_acc@0';
function swe_houses(tjdut : double;
geolat : double;
geolon : double;
hsys : char;
var hcusp0 : double;
var ascmc0 : double
): integer; stdcall; far; external 'swedll32.dll' name '_swe_houses@36';
function swe_houses_ex(tjdut : double;
iflag : Longint;
geolat : double;
geolon : double;
hsys : char;
var hcusp0 : double;
var ascmc0 : double
): integer; stdcall; far; external 'swedll32.dll' name '_swe_houses_ex@40';
function swe_houses_armc(armc : double;
geolat : double;
eps : double;
hsys : char;
var hcusp0 : double;
var ascmc0 : double
): integer; stdcall; far; external 'swedll32.dll' name
'_swe_houses_armc@36';
function swe_house_pos(armc: double;
geolon : double;
eps : double;
hsys : char;
var xpin : double;
serr : pchar
): double; stdcall; far; external 'swedll32.dll' name '_swe_house_pos@36';
function swe_julday(year : integer;
month : integer;
day : integer;
hour : double;
gregflag : integer
): double; stdcall; far; external 'swedll32.dll' name '_swe_julday@24';
procedure swe_revjul(tjd : double;
gregflag : integer;
var year : integer;
var month : integer;
var day : integer;
var hour : double
); stdcall; far; external 'swedll32.dll' name '_swe_revjul@28';
function swe_time_equ(tjd_et : double;
var e : double;
sErr : PChar
): integer; stdcall; far; external 'swedll32.dll' name '_swe_time_equ@16';
procedure swe_set_ephe_path(path: pchar
); stdcall; far; external 'swedll32.dll' name '_swe_set_ephe_path@4';
procedure swe_set_jpl_file(fname: pchar
); stdcall; far; external 'swedll32.dll' name '_swe_set_jpl_file@4';
procedure swe_set_tid_acc(t_acc: double
); stdcall; far; external 'swedll32.dll' name '_swe_set_tid_acc@8';
procedure swe_set_topo(geolon : double;
geolat : double;
height : double
); stdcall; far; external 'swedll32.dll' name '_swe_set_topo@24';
function swe_sidtime(tjdut: double
): double; stdcall; far; external 'swedll32.dll' name '_swe_sidtime@8';
function swe_sidtime0(tjdut: double;
eps_true: double;
nut_long: double
): Integer; stdcall; far; external 'swedll32.dll' name '_swe_sidtime0@24';
procedure swe_set_sid_mode(sid_mode: longint;
t0 : double;
ayan_t0 : double
); stdcall; far; external 'swedll32.dll' name '_swe_set_sid_mode@20';
function swe_get_ayanamsa(tjd_et: double
): double; stdcall; far; external 'swedll32.dll' name
'_swe_get_ayanamsa@8';
function swe_get_ayanamsa_ut(tjd_ut: double
): double; stdcall; far; external 'swedll32.dll' name
'_swe_get_ayanamsa_ut@8';
function swe_sol_eclipse_where(tjd_ut : double;
ifl : longint;
var geopos : double;
var attr : double;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name
'_swe_sol_eclipse_where@24';
function swe_sol_eclipse_how(tjd_ut : double;
ifl : longint;
var geopos : double;
var attr : double;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name
'_swe_sol_eclipse_how@24';
function swe_sol_eclipse_when_loc(tjd : double;
ifl : longint;
var geopos : double;
var tret : double;
var attr : double;
backward : boolean;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name
'_swe_sol_eclipse_when_loc@32';
function swe_sol_eclipse_when_glob(tjd : double;
ifl : longint;
ifltype : longint;
var tret : double;
var attr : double;
backward : boolean;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name
'_swe_sol_eclipse_when_glob@28';
function swe_lun_eclipse_how(tjd_ut : double;
ifl : longint;
var geopos : double;
var attr : double;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name
'_swe_lun_eclipse_how@24';
function swe_lun_eclipse_when(tjd : double;
ifl : longint;
ifltype : longint;
var tret : double;
backward : boolean;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name
'_swe_lun_eclipse_when@28';
function swe_pheno(tjd_et : double;
ipl : longint;
ifl : longint;
var attr : double;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name '_swe_pheno@24';
function swe_pheno_ut(tjd_ut : double;
ipl : longint;
ifl : longint;
var attr : double;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name '_swe_pheno_ut@24';
function swe_refrac(inalt : double;
atpress : double;
attemp : double;
ifl : longint
): double; stdcall; far; external 'swedll32.dll' name '_swe_refrac@28';
procedure swe_azalt(tjd_ut : double;
cflag : longint;
var geopos : double;
atpress : double;
attemp : double;
var xin : double;
var xaz : double
); stdcall; far; external 'swedll32.dll' name '_swe_azalt@40';
procedure swe_azalt_rev(tjd_ut : double;
cflag : longint;
var geopos : double;
var xin : double;
var xout : double
); stdcall; far; external 'swedll32.dll' name '_swe_azalt_rev@24';
function swe_rise_trans(tjd_ut : double;
ipl : longint;
starname : pchar;
ifl : longint;
rsmi : longint;
var geopos : double;
atpress : double;
attemp : double;
var tret : double;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name
'_swe_rise_trans@52';
function swe_nod_aps(tjd_et : double;
ipl : longint;
iflag : Longint;
method : longint;
var xnasc : double;
var xndsc : double;
var xperi : double;
var xaphe : double;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name '_swe_nod_aps@40';
function swe_nod_aps_ut(tjd_ut : double;
ipl : longint;
iflag : Longint;
method : longint;
var xnasc : double;
var xndsc : double;
var xperi : double;
var xaphe : double;
serr : pchar
): longint; stdcall; far; external 'swedll32.dll' name
'_swe_nod_aps_ut@40';
const
SE_ECL_NUT: integer = -1;
SE_SUN: integer = 0;
SE_MOON: integer = 1;
SE_MERCURY: integer = 2;
SE_VENUS: integer = 3;
SE_MARS: integer = 4;
SE_JUPITER: integer = 5;
SE_SATURN: integer = 6;
SE_URANUS: integer = 7;
SE_NEPTUNE: integer = 8;
SE_PLUTO: integer = 9;
SE_MEAN_NODE: integer = 10;
SE_TRUE_NODE: integer = 11;
SE_MEAN_APOG: integer = 12;
SE_OSCU_APOG: integer = 13;
SE_EARTH: integer = 14;
SE_CHIRON: integer = 15;
SE_PHOLUS: integer = 16;
SE_CERES: integer = 17;
SE_PALLAS: integer = 18;
SE_JUNO: integer = 19;
SE_VESTA: integer = 20;
SE_NPLANETS: integer = 21;
SE_AST_OFFSET: integer = 10000;
SE_FICT_OFFSET: integer = 40;
SE_NFICT_ELEM: integer = 15;
SE_CUPIDO: integer = 40;
SE_HADES: integer = 41;
SE_ZEUS: integer = 42;
SE_KRONOS: integer = 43;
SE_APOLLON: integer = 44;
SE_ADMETOS: integer = 45;
SE_VULKANUS: integer = 46;
SE_POSEIDON: integer = 47;
SE_ISIS: integer = 48;
SE_NIBIRU: integer = 49;
SE_HARRINGTON: integer = 50;
SE_NEPTUNE_LEVERRIER: integer = 51;
SE_NEPTUNE_ADAMS: integer = 52;
SE_PLUTO_LOWELL: integer = 53;
SE_PLUTO_PICKERING: integer = 54;
SEFLG_JPLEPH: Longint = 1;
SEFLG_SWIEPH: Longint = 2;
SEFLG_MOSEPH: Longint = 4;
SEFLG_HELCTR: Longint = 8;
SEFLG_TRUEPOS: Longint = 16;
SEFLG_J2000: Longint = 32;
SEFLG_NONUT: Longint = 64;
SEFLG_SPEED: Longint = 256;
SEFLG_NOGDEFL: Longint = 512;
SEFLG_NOABERR: Longint = 1024;
SEFLG_EQUATORIAL: Longint = (2*1024);
SEFLG_XYZ: Longint = (4*1024);
SEFLG_RADIANS: Longint = (8*1024);
SEFLG_BARYCTR: Longint = (16*1024);
SEFLG_TOPOCTR: Longint = (32*1024);
SEFLG_SIDEREAL: longint = (64*1024);
SE_SIDBITS = 256;
SE_SIDBIT_ECL_T0 = 256;
SE_SIDBIT_SSY_PLANE = 512;
SE_MAX_STNAME : Longint = 20;
SEHOUSE_SYSTEM: array[0..9] of Char = ('P', 'K', 'O', 'R', 'C', 'E',
'V', 'X', 'H', 'T');
SE_SIDM_FAGAN_BRADLEY = 0;
SE_SIDM_LAHIRI = 1;
SE_SIDM_DELUCE = 2;
SE_SIDM_RAMAN = 3;
SE_SIDM_USHASHASHI = 4;
SE_SIDM_KRISHNAMURTI = 5;
SE_SIDM_DJWHAL_KHUL = 6;
SE_SIDM_YUKTESHWAR = 7;
SE_SIDM_JN_BHASIN = 8;
SE_SIDM_BABYL_KUGLER1 = 9;
SE_SIDM_BABYL_KUGLER2 = 10;
SE_SIDM_BABYL_KUGLER3 = 11;
SE_SIDM_BABYL_HUBER = 12;
SE_SIDM_BABYL_ETPSC = 13;
SE_SIDM_ALDEBARAN_15TAU = 14;
SE_SIDM_HIPPARCHOS = 15;
SE_SIDM_SASSANIAN = 16;
SE_SIDM_GALCENT_0SAG = 17;
SE_SIDM_J2000 = 18;
SE_SIDM_J1900 = 19;
SE_SIDM_B1950 = 20;
SE_SIDM_USER = 255;
SE_NSIDM_PREDEF = 21;
SE_ECL_CENTRAL: longint = 1;
SE_ECL_NONCENTRAL: longint = 2;
SE_ECL_TOTAL: longint = 4;
SE_ECL_ANNULAR: longint = 8;
SE_ECL_PARTIAL: longint = 16;
SE_ECL_ANNULAR_TOTAL: longint = 32;
SE_ECL_PENUMBRAL: longint = 64;
SE_ECL_VISIBLE: longint = 128;
SE_ECL_MAX_VISIBLE: longint = 256;
SE_ECL_1ST_VISIBLE: longint = 512;
SE_ECL_2ND_VISIBLE: longint = 1024;
SE_ECL_3RD_VISIBLE: longint = 2048;
SE_ECL_4TH_VISIBLE: longint = 4096;
SE_ECL2HOR = 0;
SE_EQU2HOR = 1;
SE_HOR2ECL = 0;
SE_HOR2EQU = 1;
SE_TRUE_TO_APP = 0;
SE_APP_TO_TRUE = 1;
SE_CALC_RISE = 1;
SE_CALC_SET = 2;
SE_CALC_MTRANSIT = 4;
SE_CALC_ITRANSIT = 8;
SE_BIT_DISC_CENTER = 256;
SE_BIT_NO_REFRACTION =512;
SE_ASC = 0;
SE_MC = 1;
SE_ARMC = 2;
SE_VERTEX = 3;
SE_EQUASC = 4;
SE_COASC1 = 5;
SE_COASC2 = 6;
SE_POLASC = 7;
SE_NASCMC = 8;
SE_NODBIT_MEAN = 1;
SE_NODBIT_OSCU = 2;
SE_NODBIT_OSCU_BAR = 4;
SE_NODBIT_FOPOINT = 256;
implementation
end.