Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fichier RESSOURCES comment faire ???

27 réponses
Avatar
LE TROLL
Bonjour,

Pouvez-vous m'expliquer avec exemple comment
on fait un fichier "ressources", enfin, comment on
le charge, le modifie, le lit, surtout ???

Je viens de le créer, désormais je voudrais,
via le code, lui envoyer les données d'un fichier
txt, puis ensuite, en exécution, lire ce fichier
ressources, comment qu'on fait, svp ???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------

10 réponses

1 2 3
Avatar
LE TROLL
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 */

jd = jourJulien = JJ
b = phaseLune

Ce qui donne (ligne 1 et 3):

JJ = JJ / 29.53
phaseLune = JJ
JJ = JJ - phaseLune

Voici le code en entier:

int moon_phase(int y, int m, int d)
{
/*
calculates the moon phase (0-7), accurate to
1 segment.
0 = > new moon.
4 => full moon.
*/

int c,e;
double jd;
int b;

if (m < 3) {
y--;
m += 12;
}
++m;
c = 365.25*y;
e = 30.6*m;
jd = c+e+d-694039.09; /* jd is total days
elapsed */
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 */
b = jd*8 + 0.5; /* scale fraction from 0-8
and round by adding 0.5 */
b = b & 7; /* 0 and 8 are the same so turn
8 into 0 */
return b;
}
Avatar
LE TROLL
Jacques,

Je vais générer un fichier, et je vais
comparer avec la source de datas que j'ai.

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------


"Jacques93" a écrit dans le
message de news:



Sub Form_Activate()
Dim an As Integer
Dim mois As Byte
Dim jour As Byte

Dim c As Long
Dim e As Long
Dim JJ As Double
Dim phaseLune As Long

jour = 21
mois = 3
an = 2008 ' PL = 4

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
Text1 = ""
Select Case phaseLune
Case 0: Text1 = "NL"
Case 2: Text1 = "PQ"
Case 4: Text1 = "PL"
Case 6: Text1 = "DQ"
End Select
Text1 = Text1 & " " & phaseLune
End Sub

' Ca donne bien PL 4 pour le 21/03/2008
Avatar
parci
On Thu, 6 Mar 2008 21:57:22 +0100, "LE TROLL" <le
wrote:

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 */



Y a un cast (conversion d'un double - jd- vers un entier - b).
Il était là le problème de ton code.
Avatar
LE TROLL
Merci, oui, Jacques me l'a corrigé, mais il est
faut quand même...
--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------






"parci" a écrit dans le message
de news:

| On Thu, 6 Mar 2008 21:57:22 +0100, "LE TROLL"
<le
| wrote:
|
| > 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 */
|
| Y a un cast (conversion d'un double - jd- vers
un entier - b).
| Il était là le problème de ton code.
|
Avatar
LE TROLL
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)

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------





"Jacques93" a écrit dans le
message de news:

| Bonjour LE TROLL,
| LE TROLL a écrit :
| > Modeste :o)
| >
| > Voici le calcul en VB, pour moi il ne
| > fonctionne pas, produisant toujours 7.5, peut
être
| > une erreur, par rapport à la source:
| >
| > http://www.voidware.com/moon_phase.htm
| >
| > Si tu vois une erreur...
| > Mais je suis étonné, normalement il faut 4
pages
| > pour écrire le calcul, et là, en à peine une
page
| > il ferait pareil, hum...
| > Comme je le disais, une grande partie des
calculs
| > compliqués sur internet sont faux, bon, là, il
a
| > le bénéfice du doute, à voir, qu'en penses-tu
?
| > '-------------------code
| > ' lune form 1
| > Option Explicit
| > Sub Form_Activate() ' + text1
| > Dim an As Integer
| > Dim mois As Byte
| > Dim jour As Byte
| > Dim c As Double
| > Dim e As Double
| > Dim JJ As Double
| > Dim phaseLune As Double
| > jour = 21
| > mois = 3
| > an = 2008 ' PL = 4
| > If mois < 3 Then
| > an = an - 1
| > 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 = JJ
| > JJ = JJ - phaseLune
| > phaseLune = JJ * 8 + 0.5
| > phaseLune = phaseLune + 7 ' 0 = NL, 2 = PQ,
4 | > PL, 6 = DQ
| > Text1 = ""
| > Select Case phaseLune
| > Case 0: Text1 = "NL"
| > Case 2: Text1 = "PQ"
| > Case 4: Text1 = "PL"
| > Case 6: Text1 = "DQ"
| > End Select
| > Text1 = Text1 & " " & phaseLune
| > End Sub
| >
|
| Je ne garanti pas la validité de l'algorithme
donné sur le site, mais
| pour la conversion de C vers VB, essaie :
|
| Private Sub Form_Activate()
| Dim an As Integer
| Dim mois As Byte
| Dim jour As Byte
|
| Dim c As Long
| Dim e As Long
| Dim JJ As Double
| Dim phaseLune As Long
|
| jour = 21
| mois = 3
| an = 2008 ' PL = 4
|
| 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
| Text1 = ""
| Select Case phaseLune
| Case 0: Text1 = "NL"
| Case 2: Text1 = "PQ"
| Case 4: Text1 = "PL"
| Case 6: Text1 = "DQ"
| End Select
| Text1 = Text1 & " " & phaseLune
| End Sub
|
| Ca donne bien PL 4 pour le 21/03/2008
| --
| Cordialement,
|
| Jacques.
Avatar
LE TROLL
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 beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
Avatar
tking
LE TROLL a formulé ce vendredi :
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)




Bein tu peux essayer déjà. Je pense que le retour à la ligne fait
office de délimiteur.
Avatar
LE TROLL
Ce que je demande est simple, peut être trop
simple d'ailleurs...

J'aimerais avoir un bout de code, qui, par
copier/coller, fonctionne immédiatement dans mon
code, un code écrit en vB, j'insiste sur le "B"
(pas de fonction, pas de déclarations dans les
entêtes, du basic quoi, oui, parce que "B", ça
veut dire Basic!)...

Et, c'est grâce à ce code là, qu'ensuite je le
mettrai dans mon carnet, que je ferai des essais,
et que je comprendrai, vois-tu, enfin, je veux
dire "imagines-tu"?

Chercher, oui, mais non, je n'ai pas trouvé
d'explication totale avec exemple qui fonctionne
en français. Alors, ne connaissant pas les
fichiers de ressources, je ne peux pas chercher,
ce que je ne sais pas ce que je cherche, tu
comprends ? Bref, même si tu ne comprends pas, ce
n'est pas grave, hein, on restera ami.

Allez, je ne te retiens pas plus longtemps, et
merci encore de ta visite. Ça fait déjà deux jours
que tu me fais tourner en rond, et... le bonjour
chez toi, hein :o)

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"tking" a écrit dans le message de
news:
| LE TROLL a formulé ce vendredi :
| > 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)
|
|
| Bein tu peux essayer déjà. Je pense que le
retour à la ligne fait
| office de délimiteur.
|
|
Avatar
Modeste
Bonsour® LE TROLL avec ferveur ;o))) vous nous disiez :

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)



calculs réputés conformes :
http://www.imcce.fr/page.php?nav=fr/ephemerides/astronomie/phases_lune/index.php

voir le source de cette page
notament
<!-- en plus: jour du mois et age de la Lune -->
<meta name="Auteurs" content="P.Rocher,G.Satre">
<meta name="Keywords" content="astronomie,Lune,phases">
<meta name="Copyright" content="I.M.C.C.E. (CNRS &amp; MEN)">
<title>JavaScript - Phases de la Lune</title>
<script LANGUAGE="JavaScript">

;o)))
une adaptation personnalisée d'un modeste bricoleur sous Excel :
http://excelabo.net/moteurs/compteclic.php?nom=gd-lunaire



--
--
@+
;o)))
Avatar
Jacques93
LE TROLL a écrit :
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)




Comme indiqué dès le début, je ne suis pas astronome, ni mathématicien,
encore moins astrologue. Ce que j'ai essayé de te dire c'est où se
trouvait les erreurs (du moins certaines, à mon sens) de conversion de C
vers VB; comme l' ont dit patrice Henrio et tking, je crois, des
problèmes de conversion (cast) automatique et l'utilisation de
l'opérateur '&' qui est un ET logique bit à bit en C.

Si tu essaie le programme phase.exe indiqué sur le lien de Modeste voici
ce que l'on obtiens :

C:>phase
tabulation of the phase of the moon for one month

year: 2008
month: 3

Date Time Phase Segment
2008/03/01 16:00 35.3% (6)
2008/03/02 16:00 26.3% (7)
2008/03/03 16:00 18.0% (7)
2008/03/04 16:00 10.8% (7)
2008/03/05 16:00 5.1% (7)
2008/03/06 16:00 1.4% (0)
2008/03/07 16:00 0.0% (0)
2008/03/07 17:00 (newest)
2008/03/08 16:00 1.2% (0)
2008/03/09 16:00 5.1% (1)
2008/03/10 16:00 11.4% (1)
2008/03/11 16:00 19.9% (1)
2008/03/12 16:00 30.0% (1)
2008/03/13 16:00 41.0% (2)
2008/03/14 16:00 52.4% (2)
2008/03/15 16:00 63.5% (2)
2008/03/16 16:00 73.7% (3)
2008/03/17 16:00 82.7% (3)
2008/03/18 16:00 90.0% (3)
2008/03/19 16:00 95.4% (3)
2008/03/20 16:00 98.8% (4)
2008/03/21 16:00 100.0% (4)
2008/03/21 18:00 (fullest)
2008/03/22 16:00 99.2% (4)
2008/03/23 16:00 96.5% (4)
2008/03/24 16:00 92.0% (5)
2008/03/25 16:00 86.1% (5)
2008/03/26 16:00 79.0% (5)
2008/03/27 16:00 70.8% (5)
2008/03/28 16:00 61.8% (6)
2008/03/29 16:00 52.4% (6)
2008/03/30 16:00 42.7% (6)
2008/03/31 16:00 33.0% (6)

Il y a donc une notion de pourcentage de phase, et le code publié sur la
page (easy way to calculate moon phase) n'en tient effectivement pas
compte. Mais il y a également un lien vers phase.c qui semble être plus
complet :

<http://www.voidware.com/phase.c>

Bonne journée dans les étoiles :-)

--
Cordialement,

Jacques.
1 2 3