JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 juillet 2008
-
18 déc. 2003 à 22:30
JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 juillet 2008
-
19 déc. 2003 à 02:51
Je cherche a traduire un code VB en VC++ . . . Voici le code :
- - - - - -
Function le_jour(ByVal annee As Integer, ByVal mois As Integer, ByVal jour As Integer) As Integer
Dim w As Integer, wquotient, wremainder, int6
If mois = 1 Then
mois = 13
annee = annee - 1
ElseIf mois = 2 Then
mois = 14
annee = annee - 1
End If
int6 = 0.6 * (mois + 1)
int6 = Int(int6)
w = jour + 2 * mois + int6 + annee + Int(annee / 4) - Int(annee / 100) + Int(annee / 400) + 2
wquotient = Int(w / 7)
le_jour = (w - (wquotient * 7)) + 1
End Function
- - - - - - -
Ce que j'ai fait :
- - - - - - -
int _stdcall le_Jour (int annee, int mois, int jour)
{
int w, wquotient, int6;
if (mois == 1) {
mois = 13;
annee --;
}
else if (mois == 2) {
mois = 14;
annee --;
}
int6 = ((int)(0.6 * (mois + 1)));// <- pose probleme
w = jour + 2 * mois + int6 + annee;
w = w + ((int)(annee/4)) - ((int)(annee/100)) + ((int)(annee/400)) + 2;
wquotient = (int)(w/7);
return ((w-(wquotient * 7)) + 1);}
- - - - - - -
Je trouve pas l'equivalent pour la fonction INT de vb en C++. Je dois faire une division et oublier le reste et retourner un integer et non un float . . .
Le probleme et que c'est dans une DLL et que le resultat une fois instancier dans un projet vb est variable de 1. Celle codé en VB fonctionne a 100%.
JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 juillet 2008 19 déc. 2003 à 02:51
http://www.joepatent.comJoe Patent
tu ne me croiras pas, mais tu me donne ton adresse email je vais t'envoyé le projet.
Voici le code en vb
msgbox le_Jour (2008,2,1)
msgbox Val(textbox) <> 2003
msgbox le_Jour(2008,2,1)
cela affiche ceci . . .
7
false
6
! ! !
Si je ne fais pas de VAL ca affiche 2 fois la valeur 7... En fait si je fais un Val tout seul {msgbox Val(textbox)} ca affiche aussi 2 fois la valeur 7.
Autre precision. J'ai cet ecart de 1 a la baisse seulement pour le mois de fevrier ! ! ! Tous les autres mois sont beaux ! C'est a ni rien comprendre ! Peut importe l'année, le premier jour du mois de février est décaller de 1.
Alors je cherche le probleme... Je suis médusé complètement.