Bonjour,
Tu dis:
---------------------------------------------
Il y a un problème sur ces deux lignes
phaseLune = JJ
JJ = JJ - phaseLune
en effet cela revient à écrire
JJ=0
et donc phaseLune=7,5
---------------------------------------------
Ben... l'écriture du code est:
jd /= 29.53; /* divide by the moon cycle
(29.53 days) */
b = jd; /* int(jd) -> b, take integer part of
jd */
jd -= b; /* subtract integer part to leave
fractional part of original jd */
Bonjour,
Tu dis:
---------------------------------------------
Il y a un problème sur ces deux lignes
phaseLune = JJ
JJ = JJ - phaseLune
en effet cela revient à écrire
JJ=0
et donc phaseLune=7,5
---------------------------------------------
Ben... l'écriture du code est:
jd /= 29.53; /* divide by the moon cycle
(29.53 days) */
b = jd; /* int(jd) -> b, take integer part of
jd */
jd -= b; /* subtract integer part to leave
fractional part of original jd */
Bonjour,
Tu dis:
---------------------------------------------
Il y a un problème sur ces deux lignes
phaseLune = JJ
JJ = JJ - phaseLune
en effet cela revient à écrire
JJ=0
et donc phaseLune=7,5
---------------------------------------------
Ben... l'écriture du code est:
jd /= 29.53; /* divide by the moon cycle
(29.53 days) */
b = jd; /* int(jd) -> b, take integer part of
jd */
jd -= b; /* subtract integer part to leave
fractional part of original jd */
Merci, oui, mais là, tu me montre comment
charger "load", je dirais plutôt "décharger,
lire", le fichier, soit:
variable_receptrice = LoadResString(index_du la
ligne_data)
Mais il faudrait peut être commener par le
contraire, comment je charge ???
dim x as string
dim id as long
x="bonjour"
id 00
comment charger 1000 bonjour ???
Et...
Si tu charge un fichier texte, c'est le fichier
qui s'inscrit dans la table, pas son contenu, par
exemple: à id 2000 = fichier un.txt (2000,
un.txt)... ok...
MAIS, comment tu fais ensuite pour lire ce
fichier, je crois que c'est:
contenu = LoadResString(2000)
Et il va ressortir quoi, un.txt ???
Et alors, après... comment on va lire le fichier,
ligne par ligne, les instructions ???
Cordialement :o)
Merci, oui, mais là, tu me montre comment
charger "load", je dirais plutôt "décharger,
lire", le fichier, soit:
variable_receptrice = LoadResString(index_du la
ligne_data)
Mais il faudrait peut être commener par le
contraire, comment je charge ???
dim x as string
dim id as long
x="bonjour"
id 00
comment charger 1000 bonjour ???
Et...
Si tu charge un fichier texte, c'est le fichier
qui s'inscrit dans la table, pas son contenu, par
exemple: à id 2000 = fichier un.txt (2000,
un.txt)... ok...
MAIS, comment tu fais ensuite pour lire ce
fichier, je crois que c'est:
contenu = LoadResString(2000)
Et il va ressortir quoi, un.txt ???
Et alors, après... comment on va lire le fichier,
ligne par ligne, les instructions ???
Cordialement :o)
Merci, oui, mais là, tu me montre comment
charger "load", je dirais plutôt "décharger,
lire", le fichier, soit:
variable_receptrice = LoadResString(index_du la
ligne_data)
Mais il faudrait peut être commener par le
contraire, comment je charge ???
dim x as string
dim id as long
x="bonjour"
id 00
comment charger 1000 bonjour ???
Et...
Si tu charge un fichier texte, c'est le fichier
qui s'inscrit dans la table, pas son contenu, par
exemple: à id 2000 = fichier un.txt (2000,
un.txt)... ok...
MAIS, comment tu fais ensuite pour lire ce
fichier, je crois que c'est:
contenu = LoadResString(2000)
Et il va ressortir quoi, un.txt ???
Et alors, après... comment on va lire le fichier,
ligne par ligne, les instructions ???
Cordialement :o)
mais je
ne suis pas étonné, une grande majorité des trucs
sur Internet sont faux ou incomplets, notamment
les calculs... Le plus inquiétant, ce n'est pas
qu'ils calculent faux, c'est qu'il ne
s'aperçoivent pas que c'est faux, c'est là où ça
devient dangereux :o)
mais je
ne suis pas étonné, une grande majorité des trucs
sur Internet sont faux ou incomplets, notamment
les calculs... Le plus inquiétant, ce n'est pas
qu'ils calculent faux, c'est qu'il ne
s'aperçoivent pas que c'est faux, c'est là où ça
devient dangereux :o)
mais je
ne suis pas étonné, une grande majorité des trucs
sur Internet sont faux ou incomplets, notamment
les calculs... Le plus inquiétant, ce n'est pas
qu'ils calculent faux, c'est qu'il ne
s'aperçoivent pas que c'est faux, c'est là où ça
devient dangereux :o)
Jacques,
Bon, je viens de générer le code et de le
mettre en fichier, il est tout faux à 79%, mais je
ne suis pas étonné, une grande majorité des trucs
sur Internet sont faux ou incomplets, notamment
les calculs... Le plus inquiétant, ce n'est pas
qu'ils calculent faux, c'est qu'il ne
s'aperçoivent pas que c'est faux, c'est là où ça
devient dangereux :o)
Voici mon code, obs à la fin:
Option Explicit ' luneCalcule form 1
Dim phaseLune As Long
Dim jr As Byte
Dim ms As Byte
Dim annee As Integer
Dim ladate As Date
Dim i As Long
Sub Form_Load()
ChDrive App.Path
ChDir App.Path
End Sub
Sub Form_Activate()
Dim trans As String
Dim ligne As String
Dim p01a As Long
Dim der1 As String
Dim der2 As String
ladate = "01/01/1900"
p01a = FreeFile
Open "luneCal.txt" For Output As p01a
der1 = ""
der2 = ""
For i = 1 To 54810 ' 150 ans
jr = Val(Mid(ladate, 1, 2))
ms = Val(Mid(ladate, 4, 2))
annee = Val(Mid(ladate, 7, 7))
Call calcule
der1 = phaseLune
10: If der1 = der2 Then GoTo saute
trans = ""
Select Case phaseLune
Case 0: trans = "N" ' NL
Case 2: trans = "P" ' PQ
Case 4: trans = "L" ' PL
Case 6: trans = "D" ' DQ
End Select
If trans <> "" Then
ligne = annee & Format(ms, "00") &
Format(jr, "00") & trans
Print #p01a, ligne
End If
der2 = phaseLune
saute:
ladate = ladate + 1
If ladate > "31/12/2049" Then Exit For
Next i
Close p01a
Unload Form1
End
End Sub
Sub calcule()
Dim an As Integer
Dim mois As Byte
Dim jour As Byte
Dim c As Long
Dim e As Long
Dim JJ As Double
jour = jr
mois = ms
an = annee
If mois < 3 Then
an = an - 1
mois = mois + 12
End If
mois = mois + 1
c = 365.25 * an
e = 30.6 * mois
JJ = c + e + jour - 694039.09
JJ = JJ / 29.53
phaseLune = Int(JJ)
JJ = JJ - phaseLune
phaseLune = Round(JJ * 8)
phaseLune = phaseLune And 7 ' 0 = NL, 2 = PQ, 4
=PL , 6 = DQ
End Sub
*****
OBS
Alors, si tu inhibe les lignes 10, 20 et 30 de
l'activate, là il devient pseudo-juste, car il
attribue à plusieurs date chaque phase, ah ah ah!
Voici le fichier du code faux sur 2 mois
(annotations d'écart par moi):
19000101N 0
19000107P -1
19000115L 0
19000122D -1
19000129N -2
19000206P 0
19000213L -1
19000220D -2
19000228N -1 (1/3/1900)
Moyenne = (-1 jour). Si je fais une correction du
type j = j - 1, je passe de 79% d'erreurs à 50%,
lamentable !
Si je ne prend pas que la première donnée (ligne
10, 20 et 30, actives du code, ça donne):
19000101N
19000102N
19000107P
19000108P
19000109P
19000110P
19000115L
19000116L
Là, il ne risque pas d'être faux, hum...
Et voici les vrais phases de mon fichier:
19000101N
19000108P
19000115L
19000123D
19000131N
19000206P
19000214L
19000222D
La preuve, ici en hyperlien, copie de janvier et
février 1900 sur l'éphéméride:
(en bas à gauche de chaque mois)
http://mesromans.free.fr/ephemeride.JPG
************
D'ailleurs, je le disais cette après-midi, j'ai
publié les calculs, que je ne suis pas capable de
faire, comme notre homme ci-dessus d'ailleurs
(sauf que moi je ne publie rien de ça), ils font 4
pages, disons 100 lignes, alors évidemment, en 15
lignes de code C, ils semblait prétentieux
d'arriver au même résultat... D'autant que les
astrophysiciens qui font ces calculs (Jean Meus,
ici), on presque un niveau doctorat en
mathématiques... S'ils mettent 100 lignes, c'est
qu'il faut 100 lignes, car il y a des correction,
et tout ça n'y figure pas dans les calculs ici!
Jean Meus arive à + ou - 1 seconde de précision,
en non pas - 2 jours, comme le code en C...
Voici les liens des calculs:
http://mesromans.free.fr/lunePhases01.JPG
http://mesromans.free.fr/lunePhases02.JPG
http://mesromans.free.fr/lunePhases03.JPG
http://mesromans.free.fr/lunePhases04.JPG
Et voici le fichier des résultats, le calcul doit
donner ce résultat.
http://mesromans.free.fr/Lune.txt
J'ai les calculs en modules basic qui ont produit
mon fichier, mais le code est assez confus, et
écrit en QB, comme trois cochons, quasi impossible
à retranscrire en VB, j'ai en réalité, assemblé le
modules, et je me suis contenté en boucle de
passer une date et de ramasser le résultat.
Bon, sauf si quelqu'un veut me faire le vrai
calcul, et en a surtout le temps et la capacité,
je vais me rediriger vers mon idée première du
fichier ressource, pour lui faire bouffer mon
fichier txt des phases vraies...
Cordialement :o)
Jacques,
Bon, je viens de générer le code et de le
mettre en fichier, il est tout faux à 79%, mais je
ne suis pas étonné, une grande majorité des trucs
sur Internet sont faux ou incomplets, notamment
les calculs... Le plus inquiétant, ce n'est pas
qu'ils calculent faux, c'est qu'il ne
s'aperçoivent pas que c'est faux, c'est là où ça
devient dangereux :o)
Voici mon code, obs à la fin:
Option Explicit ' luneCalcule form 1
Dim phaseLune As Long
Dim jr As Byte
Dim ms As Byte
Dim annee As Integer
Dim ladate As Date
Dim i As Long
Sub Form_Load()
ChDrive App.Path
ChDir App.Path
End Sub
Sub Form_Activate()
Dim trans As String
Dim ligne As String
Dim p01a As Long
Dim der1 As String
Dim der2 As String
ladate = "01/01/1900"
p01a = FreeFile
Open "luneCal.txt" For Output As p01a
der1 = ""
der2 = ""
For i = 1 To 54810 ' 150 ans
jr = Val(Mid(ladate, 1, 2))
ms = Val(Mid(ladate, 4, 2))
annee = Val(Mid(ladate, 7, 7))
Call calcule
der1 = phaseLune
10: If der1 = der2 Then GoTo saute
trans = ""
Select Case phaseLune
Case 0: trans = "N" ' NL
Case 2: trans = "P" ' PQ
Case 4: trans = "L" ' PL
Case 6: trans = "D" ' DQ
End Select
If trans <> "" Then
ligne = annee & Format(ms, "00") &
Format(jr, "00") & trans
Print #p01a, ligne
End If
der2 = phaseLune
saute:
ladate = ladate + 1
If ladate > "31/12/2049" Then Exit For
Next i
Close p01a
Unload Form1
End
End Sub
Sub calcule()
Dim an As Integer
Dim mois As Byte
Dim jour As Byte
Dim c As Long
Dim e As Long
Dim JJ As Double
jour = jr
mois = ms
an = annee
If mois < 3 Then
an = an - 1
mois = mois + 12
End If
mois = mois + 1
c = 365.25 * an
e = 30.6 * mois
JJ = c + e + jour - 694039.09
JJ = JJ / 29.53
phaseLune = Int(JJ)
JJ = JJ - phaseLune
phaseLune = Round(JJ * 8)
phaseLune = phaseLune And 7 ' 0 = NL, 2 = PQ, 4
=PL , 6 = DQ
End Sub
*****
OBS
Alors, si tu inhibe les lignes 10, 20 et 30 de
l'activate, là il devient pseudo-juste, car il
attribue à plusieurs date chaque phase, ah ah ah!
Voici le fichier du code faux sur 2 mois
(annotations d'écart par moi):
19000101N 0
19000107P -1
19000115L 0
19000122D -1
19000129N -2
19000206P 0
19000213L -1
19000220D -2
19000228N -1 (1/3/1900)
Moyenne = (-1 jour). Si je fais une correction du
type j = j - 1, je passe de 79% d'erreurs à 50%,
lamentable !
Si je ne prend pas que la première donnée (ligne
10, 20 et 30, actives du code, ça donne):
19000101N
19000102N
19000107P
19000108P
19000109P
19000110P
19000115L
19000116L
Là, il ne risque pas d'être faux, hum...
Et voici les vrais phases de mon fichier:
19000101N
19000108P
19000115L
19000123D
19000131N
19000206P
19000214L
19000222D
La preuve, ici en hyperlien, copie de janvier et
février 1900 sur l'éphéméride:
(en bas à gauche de chaque mois)
http://mesromans.free.fr/ephemeride.JPG
************
D'ailleurs, je le disais cette après-midi, j'ai
publié les calculs, que je ne suis pas capable de
faire, comme notre homme ci-dessus d'ailleurs
(sauf que moi je ne publie rien de ça), ils font 4
pages, disons 100 lignes, alors évidemment, en 15
lignes de code C, ils semblait prétentieux
d'arriver au même résultat... D'autant que les
astrophysiciens qui font ces calculs (Jean Meus,
ici), on presque un niveau doctorat en
mathématiques... S'ils mettent 100 lignes, c'est
qu'il faut 100 lignes, car il y a des correction,
et tout ça n'y figure pas dans les calculs ici!
Jean Meus arive à + ou - 1 seconde de précision,
en non pas - 2 jours, comme le code en C...
Voici les liens des calculs:
http://mesromans.free.fr/lunePhases01.JPG
http://mesromans.free.fr/lunePhases02.JPG
http://mesromans.free.fr/lunePhases03.JPG
http://mesromans.free.fr/lunePhases04.JPG
Et voici le fichier des résultats, le calcul doit
donner ce résultat.
http://mesromans.free.fr/Lune.txt
J'ai les calculs en modules basic qui ont produit
mon fichier, mais le code est assez confus, et
écrit en QB, comme trois cochons, quasi impossible
à retranscrire en VB, j'ai en réalité, assemblé le
modules, et je me suis contenté en boucle de
passer une date et de ramasser le résultat.
Bon, sauf si quelqu'un veut me faire le vrai
calcul, et en a surtout le temps et la capacité,
je vais me rediriger vers mon idée première du
fichier ressource, pour lui faire bouffer mon
fichier txt des phases vraies...
Cordialement :o)
Jacques,
Bon, je viens de générer le code et de le
mettre en fichier, il est tout faux à 79%, mais je
ne suis pas étonné, une grande majorité des trucs
sur Internet sont faux ou incomplets, notamment
les calculs... Le plus inquiétant, ce n'est pas
qu'ils calculent faux, c'est qu'il ne
s'aperçoivent pas que c'est faux, c'est là où ça
devient dangereux :o)
Voici mon code, obs à la fin:
Option Explicit ' luneCalcule form 1
Dim phaseLune As Long
Dim jr As Byte
Dim ms As Byte
Dim annee As Integer
Dim ladate As Date
Dim i As Long
Sub Form_Load()
ChDrive App.Path
ChDir App.Path
End Sub
Sub Form_Activate()
Dim trans As String
Dim ligne As String
Dim p01a As Long
Dim der1 As String
Dim der2 As String
ladate = "01/01/1900"
p01a = FreeFile
Open "luneCal.txt" For Output As p01a
der1 = ""
der2 = ""
For i = 1 To 54810 ' 150 ans
jr = Val(Mid(ladate, 1, 2))
ms = Val(Mid(ladate, 4, 2))
annee = Val(Mid(ladate, 7, 7))
Call calcule
der1 = phaseLune
10: If der1 = der2 Then GoTo saute
trans = ""
Select Case phaseLune
Case 0: trans = "N" ' NL
Case 2: trans = "P" ' PQ
Case 4: trans = "L" ' PL
Case 6: trans = "D" ' DQ
End Select
If trans <> "" Then
ligne = annee & Format(ms, "00") &
Format(jr, "00") & trans
Print #p01a, ligne
End If
der2 = phaseLune
saute:
ladate = ladate + 1
If ladate > "31/12/2049" Then Exit For
Next i
Close p01a
Unload Form1
End
End Sub
Sub calcule()
Dim an As Integer
Dim mois As Byte
Dim jour As Byte
Dim c As Long
Dim e As Long
Dim JJ As Double
jour = jr
mois = ms
an = annee
If mois < 3 Then
an = an - 1
mois = mois + 12
End If
mois = mois + 1
c = 365.25 * an
e = 30.6 * mois
JJ = c + e + jour - 694039.09
JJ = JJ / 29.53
phaseLune = Int(JJ)
JJ = JJ - phaseLune
phaseLune = Round(JJ * 8)
phaseLune = phaseLune And 7 ' 0 = NL, 2 = PQ, 4
=PL , 6 = DQ
End Sub
*****
OBS
Alors, si tu inhibe les lignes 10, 20 et 30 de
l'activate, là il devient pseudo-juste, car il
attribue à plusieurs date chaque phase, ah ah ah!
Voici le fichier du code faux sur 2 mois
(annotations d'écart par moi):
19000101N 0
19000107P -1
19000115L 0
19000122D -1
19000129N -2
19000206P 0
19000213L -1
19000220D -2
19000228N -1 (1/3/1900)
Moyenne = (-1 jour). Si je fais une correction du
type j = j - 1, je passe de 79% d'erreurs à 50%,
lamentable !
Si je ne prend pas que la première donnée (ligne
10, 20 et 30, actives du code, ça donne):
19000101N
19000102N
19000107P
19000108P
19000109P
19000110P
19000115L
19000116L
Là, il ne risque pas d'être faux, hum...
Et voici les vrais phases de mon fichier:
19000101N
19000108P
19000115L
19000123D
19000131N
19000206P
19000214L
19000222D
La preuve, ici en hyperlien, copie de janvier et
février 1900 sur l'éphéméride:
(en bas à gauche de chaque mois)
http://mesromans.free.fr/ephemeride.JPG
************
D'ailleurs, je le disais cette après-midi, j'ai
publié les calculs, que je ne suis pas capable de
faire, comme notre homme ci-dessus d'ailleurs
(sauf que moi je ne publie rien de ça), ils font 4
pages, disons 100 lignes, alors évidemment, en 15
lignes de code C, ils semblait prétentieux
d'arriver au même résultat... D'autant que les
astrophysiciens qui font ces calculs (Jean Meus,
ici), on presque un niveau doctorat en
mathématiques... S'ils mettent 100 lignes, c'est
qu'il faut 100 lignes, car il y a des correction,
et tout ça n'y figure pas dans les calculs ici!
Jean Meus arive à + ou - 1 seconde de précision,
en non pas - 2 jours, comme le code en C...
Voici les liens des calculs:
http://mesromans.free.fr/lunePhases01.JPG
http://mesromans.free.fr/lunePhases02.JPG
http://mesromans.free.fr/lunePhases03.JPG
http://mesromans.free.fr/lunePhases04.JPG
Et voici le fichier des résultats, le calcul doit
donner ce résultat.
http://mesromans.free.fr/Lune.txt
J'ai les calculs en modules basic qui ont produit
mon fichier, mais le code est assez confus, et
écrit en QB, comme trois cochons, quasi impossible
à retranscrire en VB, j'ai en réalité, assemblé le
modules, et je me suis contenté en boucle de
passer une date et de ramasser le résultat.
Bon, sauf si quelqu'un veut me faire le vrai
calcul, et en a surtout le temps et la capacité,
je vais me rediriger vers mon idée première du
fichier ressource, pour lui faire bouffer mon
fichier txt des phases vraies...
Cordialement :o)