je viens de faire une version du code ephemeride sans combobox afin que tu puisses tester ce code, car j'ai verifier que cela fonctionnait : tout s'affiche, c'est un code equivalent a celui que tu as mis sur le site
donc tu devrais avoir la meme chose que sur ma machine??
Code : Tout sélectionner
;;################################################################
;
; Swiss</span> Ephemeris - swedll32.dll
;
; Interface pour Purebasic 4.0.x
;
; http://www.astro.com/ftp/swisseph/?
; charger cette archive et dans le repertoire bin se trpuve le fichier swedll32.dll
; sweph.zip 12-Sep-2012 09:40 5.5M
;
;################################################################
;asteroides resolus Date: 17 mai 2008 (kernadec) OS: Windows
;le repertoire "ephe" du DD doit contenir les fichiers suivants
;a telecharger a partir du site: ftp://ftp.astro.com/pub/swisseph/ephe/
;################################################################
; adresse des fichiers "ftp://ftp.astro.com/pub/swisseph/ephe/"
;SEORBEL.TXT :cupido,hades,zeus,kronos,apollon,admetos,vulkanus,poseidon
;sepl_18.se1
;semo_18.se1
;SEASNAM.TXT
;seas_18.se1
; suite avec "ftp://ftp.astro.com/pub/swisseph/ephe/ast0/"
;se00016s.se1 Psyche
;se00019s.se1 Fortuna
;se00030s.se1 Urania
;se00040s.se1 Harmonia
;se00055s.se1 Pandora
;se00078s.se1 Diana
;se00080s.se1 Sappho
;se00157s.se1 Dejanira
;se00433s.se1 Eros ;
;se00588s.se1 Achilles
;se00944s.se1 Hidalgo
;se01221s.se1 Amor
;se01566s.se1 Icarus
;se01685s.se1 Toro
;se01809s.se1 Prometheus
;se01810s.se1 Epimetheus
;se01862s.se1 Apollo
;se01866s.se1 Sisyphus
;se02101s.se1 Adonis
;se03200s.se1 Phaethon
;se03671s.se1 Dionysus
;se04543s.se1 Phoinix
;se04581s.se1 Asclepius
;se05143s.se1 Heracles
;se05145s.se1 Pholus
;se05731s.se1 Zeus
;se07066s.se1 Nessus
;
; ATTENTION ADAPTER LES CHEMINS DES LIGNES 83 ET 313
;######################## REMARQUE ##############################
;pour les symboles utiliser une police car cela permet de faire dessiner
;l'imprimante et d'avoir une sortie graphique parfaite sur papier.
;il faut faire attention dans la police a ne pas utiliser certains
;caracteres qui ne s'affiche pas dans le cas d'une sortie en PDF
;avec acrobat distiller pour modifier la police caractere voir fontlab45!!
;une simulation 3D de notre systeme solaire reste a faire !!!!
;################################################################
Declare donnees()
Declare saisie()
Global nom$
Global lieu$
Global jour.l
Global mois.l
Global annee.l
Global minut.d
Global heure.d
Global latitude
Global latminute
Global longitude
Global longminute
Global lat.d
Global lon.d
Global glat.d
Global glon.d
Global heuregmt.d
Global NS$
Global EO$
Global path.s
Global c.s
Global i
Global starname.s
;################################################################
path.s="C:\Purebasic" ; chemin du repertoire principal
;points returned by swe_houses() and swe_houses_armc()
;in array ascmc(0...10)
#SE_ASC = 0
#SE_MC = 1
#SE_ARMC = 2
#SE_VERTEX = 3
#SE_EQUASC = 4 ; "equatorial ascendant"
#SE_NASCMC = 5 ; number of such points
#SEFLG_JPLEPH=1
#SEFLG_SWIEPH=2
#SEFLG_MOSEPH=4
#SEFLG_HELCTR=8
#SEFLG_TRUEPOS=16
#SEFLG_J2000=32
#SEFLG_NONUT=64
#SEFLG_SPEED=256
#SEFLG_NOGDEFL=512
#SEFLG_NOABERR=1024
#SEFLG_EQUATORIAL=2048
#SEFLG_XYZ=4096
#SEFLG_RADIANS=8192
#SEFLG_BARYCTR=16384
#SEFLG_TOPOCTR=32768
#SEFLG_SIDERAL=65536
#SEFLG_HELCTR=8
#SEFLG_TRUEPOS=16
#SE_CALC_RISE=1
#SE_CALC_SET=2
#SE_CALC_MTRANSIT=4
#SE_CALC_ITRANSIT=8
#SE_ECL_NUT=-1
Dim x.d(6); déclaration du tableau x
Dim x2.d(6)
Dim cusp.d(13)
Dim ascmc.d(10)
Dim attr.d(20)
Dim tret.d(20)
Dim geopos.d(10)
Dim geoposx.d(10)
Dim xnasc.d(6)
Dim xndsc.d(6)
Dim xperi.d(6)
Dim xaphe.d(6)
Dim Position.d(22)
Dim NomPlanete.s(22)
Dim retro.s(22)
Dim serr.s(255)
Dim plnam.s(255)
Dim asteroide.s(26)
Dim refasteroide.d(26)
Dim Pasteroide.d(26)
Dim pretro.s(26)
Dim Uranianf.s(7)
Dim pUranianf.d(7)
Dim uretro.s(7)
Dim domification.s(9)
Dim ndomification.s(9)
hcusps.d=0
pName.s=Space(256)
Enumeration 0 Step 1
#SE_GREG_CAL
#SE_JUL_CAL
#ID
EndEnumeration
Enumeration 0 Step 1
#SE_SUN
#SE_MOON
#SE_MERCURY
#SE_VENUS
#SE_MARS
#SE_JUPITER
#SE_SATURN
#SE_URANUS
#SE_NEPTUNE
#SE_PLUTO
#SE_MEAN_NODE
#SE_TRUE_NODE
#SE_MEAN_APOG
#SE_OSCU_APOG
#SE_EARTH
#SE_CHIRON
#SE_PHOLUS
#SE_CERES
#SE_PALLAS
#SE_JUNO
#SE_VESTA
#SE_INTP_APOG
#SE_INTP_PERG
EndEnumeration
#SE_NPLANETS = 21
#SE_AST_OFFSET = 10000
;Hamburger or Uranian ficticious "planets"
#SE_FICT_OFFSET = 40
#SE_FICT_MAX = 999 ;maximum number for ficticious planets
;if taken from file seorbel.txt
#SE_NFICT_ELEM = 15 ;number of built-in ficticious planets
Enumeration
#SPR_Terre
#SPR_OmbreTerre
#SPR_Lune
#SPR_OmbreLune
EndEnumeration
Restore planetes
For n=0 To 22
Read.s NomPlanete.s(n)
Next n
Restore asteroides
For n=0 To 26
Read.s asteroide.s(n)
Next n
Restore refasteroides
For n=0 To 26
Read.d refasteroide.d(n)
Next n
Restore uranianfic
For n=0 To 7
Read.s uranianf.s(n)
Next n
Restore domifications
For n=0 To 9
Read.s domification.s(n)
Next n
Restore ndomifications
For n=0 To 9
Read.s ndomification.s(n)
Next n
;################################################################
Prototype.d SWE_JulDay(annee.l,mois.l,jour.l,heure.d,flag.l)
Prototype.l SWE_RevJul(juliandate.d,flag.l,*annee.l,*mois.l,*jour.l,*heure.l)
Prototype.l SWE_Day_Of_Week(juliandate.d)
Prototype.d SWE_DegNorm(juliandate.d)
Prototype.d SWE_date_conversion(annee.l,mois.l,jour.l,heure.d,cal.b,tjd.d)
Prototype.l SWE_Calc_ut(tjd.d,ipl.l,Iflag.l,*x,serr.s)
Prototype.s SWE_set_ephe_path(path.s)
Prototype.l SWE_get_planet_name(ipl.l,pName.s)
Prototype.d SWE_deltat(tjd.d)
Prototype.l SWE_pheno(tjd.d,ipl.l,Iflag.l,*attr,serr.s)
Prototype.l SWE_rise_trans(tjd.d,ipl.l,starname.s,epheflag.l,rsmi.l,*geopos,atpress.d,attemp.d,*tret,serr.s)
Prototype.l SWE_houses_ex(tjd.d,Iflag.l,geolat.d,geolon.d,ihsy.l,*cusp,*ascmc)
Prototype.d SWE_sidtime(tjd.d)
Prototype.l SWE_houses_armc(armc.d,geolat.d,eps.d,ihsy.l,*cusp,*ascmc)
;################################################################
;################### premier mode ###############################
If OpenLibrary(1,path+"\swedll32.dll")
JulDay.SWE_JulDay = GetFunction(1,"_swe_julday@24")
RevJul.SWE_RevJul = GetFunction(1,"_swe_revjul@28")
Day_Of_Week.SWE_Day_Of_Week = GetFunction(1,"_swe_day_of_week@8")
DegNorm.SWE_DegNorm = GetFunction(1,"_swe_degnorm@8")
Date_conversion.SWE_date_conversion = GetFunction(1,"_swe_date_conversion@28")
Calc_ut.SWE_Calc_ut= GetFunction(1,"_swe_calc_ut@24")
set_ephe_path.SWE_set_ephe_path= GetFunction(1,"_swe_set_ephe_path@4")
get_planet_name.SWE_get_planet_name= GetFunction(1,"_swe_get_planet_name@8")
deltat.SWE_deltat= GetFunction(1,"_swe_deltat@8")
pheno.SWE_pheno= GetFunction(1,"_swe_pheno@24")
rise_trans.SWE_rise_trans= GetFunction(1,"_swe_rise_trans@52")
houses_ex.SWE_houses_ex= GetFunction(1,"_swe_houses_ex@40")
sidtime.SWE_sidtime= GetFunction(1,"_swe_sidtime@8")
houses_armc.SWE_houses_armc= GetFunction(1,"_swe_houses_armc@36")
Else
MessageRequester("Error!","Can't open library!",#MB_ICONERROR)
End
EndIf
;################################################################
;################### deuxieme mode ##############################
;Import "swedll32.lib" ; si l'on utilise ce mode mettre la lib dans le reperoire du code
; julday.d(annee.l,mois.l,jour.l,heure.d,flag.l) As "_swe_julday@24"
; RevJul(juliandate.d,flag.l,*annee.l,*mois.l,*jour.l,*heure.l) As "_swe_revjul@28"
; Day_Of_Week.l(juliandate.d) As "_swe_day_of_week@8"
; DegNorm.d(juliandate.d) As "_swe_degnorm@8"
; Date_conversion.l(annee.l,mois.l,jour.l,heure.d,cal.b,tjd.d) As "_swe_date_conversion@28"
; Calc_ut.l(tjd.d,ipl.l,Iflag.l,*x,serr.s) As "_swe_calc_ut@24";il ne faut pas mettre x sous forme de tableau. ????
; set_ephe_path(path.s) As "_swe_set_ephe_path@4"
; get_planet_name(ipl.l,pName.s) As "_swe_get_planet_name@8"
; deltat(tjd.d) As "_swe_deltat@8"
; pheno.l(tjd.d,ipl.l,Iflag.l,*attr,serr.s) As "_swe_pheno@24"
; rise_trans.l(tjd.d,ipl.l,starname.s,epheflag.l,rsmi.l,*geopos,atpress.d,attemp.d,*tret,serr.s) As "_swe_rise_trans@52"
; houses_ex.l(tjd.d,Iflag.l,geolat.d,geolon.d,ihsy.l,*cusp,*ascmc) As "_swe_houses_ex@40"
; sidtime.d(tjd.d) As "_swe_sidtime@8"
; houses_armc.l(armc.d,geolat.d,eps.d,ihsy.l,*cusp,*ascmc) As "_swe_houses_armc@36"
;EndImport
;################################################################
Macro myDEBUG(y,m,d,h)
"Le "+RSet(Str(d),2,"0")+"/"+RSet(Str(m),2,"0")+"/"+RSet(Str(y),4,"0")+" à "+StrD(h,2)
EndMacro
Macro DeciMinut(a)
Int(a)+(a-Int(a))*0.60
EndMacro
;##################### date actuelle ############################
annee.l=Year(Date())
jour.l=Day(Date())
mois.l=Month(Date())
heure.d=Hour(Date())
minut.d=Minute(Date())
;################################################################
; test ephe
;###heure=heure+minut/60
; annee.l=2006
; jour.l=5
; mois.l=4
; heure.d=3
; minute=48
; seconde=0
;heure=heure+minute/60+seconde/3600
;###lat.d=44.06
;###lon.d=4.47
;###glon.d=Int(lon)+((lon-Int(lon))*100)/60
;###glat.d=Int(lat)+((lat-Int(lat))*100)/60
;################################################################
;######################## defaut ################################
nom$="Arc de Triomphe"
lieu$="Paris"
jour.l=4
mois.l=10
annee.l=2012
heure.d=12
minut.d=00
latitude=48
Latminute=50
longitude=2
longminute=22
NS$="N"
EO$="E"
;################################################################
debut:
;@@@@@@@ saisie()
heure.d=heuregmt.d
geopos(0)=glon
geopos(1)=glat
geopos(2)=0
Iflag=#SEFLG_SWIEPH+#SEFLG_SPEED
tjd_ut.d=JulDay(annee,mois,jour,heure,#SE_JUL_CAL)
;################################################################
set_ephe_path(path+"\ephe") ; chemin des donnees asteroides
;################################################################
For nplanete=#SE_SUN To #SE_INTP_PERG
Calc_ut.l(tjd_ut,nplanete,Iflag,@x.d(0),serr.s); par contre là il faut mettre le tableau ????
Position(nplanete)=x(0)
If x(3) < 0
retro(nplanete)= "r"
Else
retro(nplanete)= " "
EndIf
Next nplanete
If ((Position(1)<Position(0) And Position(0)-Position(1)<180) Or (Position(1)>Position(0) And Position(1)-Position(0)>180))
Elong.s=" Ouest"
Else
Elong.s= " Est"
EndIf
For n=0 To 26 ;ASTEROIDES
Calc_ut.l(tjd_ut,refasteroide(n),Iflag,@x.d(0),serr.s); par contre là il faut mettre le tableau ????
Pasteroide(n)=x(0)
If x(3) < 0
pretro(n)= "r"
Else
pretro(n)= " "
EndIf
Next n
For n=0 To 7 ;URANIANS FICTIF
Calc_ut.l(tjd_ut,#SE_FICT_OFFSET+n,Iflag,@x.d(0),serr.s); par contre là il faut mettre le tableau ????
Puranianf(n)=x(0)
If x(3) < 0
uretro(n)= "r"
Else
uretro(n)= " "
EndIf
Next n
tsid.d=sidtime(tjd_ut)
ecart.d=deltat(tjd_ut)
ecart.d=ecart.d*86400
tsid.d=tsid+glon/15
armc.d=tsid*15
pheno(tjd_ut,#SE_MOON,#SEFLG_HELCTR,@attr.d(0),serr.s)
Debug "Angle de Phase "+ StrD(attr(0),2)
Debug "Phase "+StrD(attr(1),2)
Debug "Elongation "+StrD(attr(2),2)+Elong
Debug "Diamètre Apparent "+StrD(attr(3),2)
Debug "Magnitude apparente "+StrD(attr(4),2)
rise_trans(tjd_ut,#SE_SUN,"",#SEFLG_SWIEPH,#SE_CALC_RISE,@geopos.d(0),1013,15,@tret.d(0),serr.s)
RevJul(tret(0), #SE_JUL_CAL,@annee.l,@mois.l,@jour.l,@heure.d)
Debug "lever du soleil "+myDEBUG(annee,mois,jour,DeciMinut(heure))
rise_trans(tjd_ut,#SE_SUN,"",#SEFLG_MOSEPH,#SE_CALC_SET,@geopos.d(),1013,15,@tret.d(0),serr.s)
RevJul(tret(0), #SE_JUL_CAL,@annee.l,@mois.l,@jour.l,@heure.d)
Debug "coucher du soleil "+myDEBUG(annee,mois,jour,DeciMinut(heure))
rise_trans(tjd_ut,#SE_MOON,"",#SEFLG_SWIEPH,#SE_CALC_RISE,@geopos.d(0),1013,15,@tret.d(0),serr.s)
RevJul(tret(0), #SE_JUL_CAL,@annee.l,@mois.l,@jour.l,@heure.d)
Debug "lever de la lune "+myDEBUG(annee,mois,jour,DeciMinut(heure))
rise_trans(tjd_ut,#SE_MOON,"",#SEFLG_MOSEPH,#SE_CALC_SET,@geopos.d(),1013,15,@tret.d(0),serr.s)
RevJul(tret(0), #SE_JUL_CAL,@annee.l,@mois.l,@jour.l,@heure.d)
Debug "coucher de la lune "+myDEBUG(annee,mois,jour,DeciMinut(heure))
Calc_ut(tjd_ut,#SE_ECL_NUT,0,@x.d(0),serr.s)
eps_true.d= x(0)
;###### maisons sans combobox
houses_armc(armc.d,glat.d,eps_true.d,Asc("P"),@cusp.d(0),@ascmc.d(0))
;###### maisons avec combobox
;@@@@@@ houses_armc(armc.d,glat.d,eps_true.d,Asc(ndomification(GetGadgetState(17))),@cusp.d(0),@ascmc.d(0))
;################################################################
If OpenWindow(#ID, 300, 50, 600, 600, "Astrologie ############### Pour Recommencer Fermer Cette Fenetre->>>>>", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget) = 0
End
EndIf
StartDrawing(WindowOutput(#ID))
DrawingMode(1)
DrawText(10,30+pas,"PLANETES",RGB(0,0,0))
DrawText(140,290,"<-Lilith",RGB(0,0,0))
For n=0 To 22
DrawText(10,50+pas,NomPlanete(n),RGB(0,0,0))
DrawText(80,50+pas,RSet(StrD(Position(n),4),6," ")+" "+retro(n),RGB(0,0,0))
pas+20
Next n
pas=0
For n=1 To 12
DrawText(180,50+pas,"Maison "+Str(n)+" "+StrD(cusp.d(n),2),RGB(0,0,0))
pas+20
Next n
pas=0
DrawText(380,30+pas,"ASTEROIDES",RGB(0,0,0))
For n=0 To 26
DrawText(360,50+pas,asteroide(n),RGB(0,0,0))
DrawText(450,50+pas,RSet(StrD(Pasteroide(n),4),6," ")+" "+pretro(n),RGB(0,0,0))
pas+20
Next n
pas=0
DrawText(185,330+pas,"URANIANS FICTIFS",RGB(0,0,0))
For n=0 To 7
DrawText(180,350+pas,uranianf(n),RGB(0,0,0))
DrawText(280,350+pas,RSet(StrD(Puranianf(n),4),6," ")+" "+uretro(n),RGB(0,0,0))
pas+20
Next n
pas=0
DrawText(190,10,"Domification ",RGB(0,0,0))
;#################################"DrawText(180,30,"Selon: "+GetGadgetText(17))
DrawText(370,10,"Jour Julien "+StrD(tjd_ut),RGB(0,0,0))
;@@@@@@@@ DrawText(10,10,"Date: "+GetGadgetText(2)+"/"+GetGadgetText(3)+"/"+GetGadgetText(4))
;@@@@@@@@ DrawText(30,550,"Nom: "+GetGadgetText(0))
;@@@@@@@@ DrawText(30,570,"Lieu: "+GetGadgetText(1))
StopDrawing()
;################################################################
Debug " "
jd1.d = JulDay(1988,1, 1,12.23,#SE_JUL_CAL)
;jd1.d =JulDay(annee,mois,jour,heure,#SE_JUL_CAL)
Debug jd1
RevJul( jd1, #SE_JUL_CAL, @annee.l, @mois.l, @jour.l, @heure.d)
Debug myDEBUG(annee, mois, jour, heure)
;################################################################
jd2.d = JulDay(2006,2,16,14.00,#SE_GREG_CAL)
;jd2.d =JulDay(annee,mois,jour,heure,#SE_JUL_CAL)
Debug jd2
RevJul( jd2, #SE_GREG_CAL, @annee.l, @mois.l, @jour.l, @heure.d)
Debug myDEBUG(annee, mois, jour, heure)
;tjd_ut.d=JulDay(annee,mois,jour,heure,#SE_JUL_CAL)
;################################################################
Select Day_Of_Week( jd2 )
Case 0: Debug "Lundi"
Case 1: Debug "Mardi"
Case 2: Debug "Mercredi"
Case 3: Debug "Jeudi"
Case 4: Debug "Vendredi"
Case 5: Debug "Samedi"
Case 6: Debug "Dimanche"
EndSelect
;################################################################
Debug DegNorm(375.33333)
;################################################################
;@@@@@@@@ donnees()
done.l = #False
Repeat
event.l = WaitWindowEvent()
Select event
Case #PB_Event_CloseWindow
done = #True
Case #PB_Event_MoveWindow
Case #PB_Event_SizeWindow
Default
EndSelect
Until done = #True
CloseWindow(#ID)
;@@@@@@@ Goto debut ; lollllll
;################################################################
DataSection
planetes:
Data.s "Soleil","Lune","Mercure","Venus","Mars","Jupiter","Saturne","Uranus","Neptune","Pluton","Meanod","truenode","Meanapog","Ostuapog","Earth","Chiron","Pholus","Ceres","Pallas","Juno","Vesta","Intpapog","Intperge"
EndDataSection
DataSection
asteroides: ; tableau de 27 asteroides
Data.s "Achilles","Adonis","Amor","Apollo","Asclepius","Damocles","Dejanira","Diana","Dionysus","Epimeteus"
Data.s "Eros","Fortuna","Harmonia","Heracles","Hidalgo","Icarus","Nessus","Pandora","Phaethon","Phoinix"
Data.s "Prometheus","Psyche","Sappho","Sisyphus","Toro","Urania","Zeus"
EndDataSection
DataSection
refasteroides: ; ajoutes de 10000 (SE_AST_OFFSET)
Data.d 10588,12101,11221,11862,14581,15335,10157,10078,13671,11810
Data.d 10433,10019,10040,15143,10944,11566,17066,10055,13200,14543
Data.d 11809,10016,10080,11866,11685,10030,15731
EndDataSection
DataSection
Uranianfic: ; tableau de 8 Uranians Fictif
Data.s "Cupidon","Hades","Zeus","Kronos","Apollon","Admetos","Vulkanus","Poseidon"
EndDataSection
DataSection
domifications: ; tableau de 10 domifications
Data.s "Placidus","Koch","Porphyrius","Regiomontanus","Campanus","Equal","Vehlow equal","axial rotation","azimutethoriz","topocentric"
EndDataSection
DataSection
ndomifications: ; tableau des 10 lettres
Data.s "P","K","O","R","C","A","V","X","H","T"
EndDataSection