begin process at 2012 02 11 22:48:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Exécution

 > 

QQun pourait m'expliquer


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

QQun pourait m'expliquer

vendredi 10 décembre 2004 à 17:10:23 | QQun pourait m'expliquer

wv

Je doit calculer un écart de temp. Pour simplifier les chose je le calcule en nombre de seconde (stoker dans un long pas de problème, écart max. : + de 292 milliard d'année).
mais voila mon $£¤%~#@ de compilateur je jette au visage un message d'erreur des que je dépasse la valeur 2147483647( soit la limite d'un int !!!!!!!!!!!!!!!!), un peut plus de 68 an (ce qui est bien mais pas top) "dépassement de capacité".

Alors là vraiment je pige vraiment plus rien.

->Mon cours de V.B. est faux (je n'y crois pas trop un long fait bien 64 bit, tout du moins je crois)
->Ce $£¤%~#@ de compilateur est complètement pourris jusqu?au noyau.
-> Je n'ai pas compris ce qu'est un long.
->J'ai vraiment rien compris à la prog (ce qui est possible, voir même probable).

Donc en définitive pour le moment :
->Soit je hurle sur mon tuteur (oui je suis apprenti) pour pouvoir faire mon apli en C (même si je sait que je vais jute réussire à me faire virer, du boulot donc de l?école, me faire renier par ma famille, perdre mon apart, donc mon PC (nnnooonnn pas ça), et finir sur une corde, la perspective ne me tente que très peut).
->Soit je met en miette ce ¤*%#&@ d?ordinateur à coup de tête (j?aimerait mieux éviter cette solution, risque de grosse migraine).
->Soit ba à vrais dire je sait pas. Si je pose la question sur un forum[ :))]

Pour info:
OS :
Microsoft Windows 98

Compilateur :
Microsoft Visual Basic 6.0 (version 8176)

PC :
Genuine Intel
Pentium II MMX
64 Mo de RAM (oui je sait mais c le PC du boulot)


P.S.:
Je suis en alternance une semaine sur deux et je suis en cours la semaine prochaine je ne pourrait donc pas consulter les réponse avant la semaine d'après, désol.

Merci de bien vouloir m?expliquer ce que je considère comme une incohérence (int = long)

Apres m'etre relut je me dit que j'ai quand même taper une tartine de text pour pas grand chose.

Y faut savoir faire la fête de temps en temps
vendredi 10 décembre 2004 à 17:28:19 | Re : QQun pourait m'expliquer

CanisLupus

Membre Club Administrateur CodeS-SourceS
Salut,
En effet, c pas normal.

On peut voir un bout de ton code ?

Cordialement, CanisLupus

vendredi 10 décembre 2004 à 17:37:15 | Re : QQun pourait m'expliquer

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Utilise un autre type de données avec une plus grande capacité (un Single ou un Double par exemple). Voir même un string !
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
vendredi 10 décembre 2004 à 17:43:42 | Re : QQun pourait m'expliquer

Gobillot

en VB.NEt un Long fait effectivement 64 bits.

en VB6 un Long fait 32 bits soit valeur maxi de -2147483648 à +2147483647



Daniel
vendredi 10 décembre 2004 à 17:53:00 | Re : QQun pourait m'expliquer

wv

Bon ba je ne pensait pas avoir si vite des reponce mais avec ça ca devrait aller. Je vais les déclarer en double mais je ne risque pas de perdre de la présision sur des valeur?

Y faut savoir faire la fête de temps en temps
vendredi 10 décembre 2004 à 17:55:57 | Re : QQun pourait m'expliquer

Gobillot

en Double t'auras 15 chiffres significatifs.
si tu veux plus il ya encore le décimal avec 96 bits, mais bonjour la galère et le temps d'excécution.

Daniel
vendredi 10 décembre 2004 à 17:56:29 | Re : QQun pourait m'expliquer

wv

heeee pardon mon code est:

cette fonction n'est pas fini puisque je n'arrive pas àtester ce bout de code

Public Function NbSec(ByVal Date1 As Date, ByVal Date2 As Date) As Long
Dim NbJoursMois(0 To 11) As Byte
Dim Tempon As Date
Dim Durée As Long
Dim Compt As Byte

NbJoursMois(0) = 31
NbJoursMois(1) = 28
NbJoursMois(2) = 31
NbJoursMois(3) = 30
NbJoursMois(4) = 31
NbJoursMois(5) = 30
NbJoursMois(6) = 31
NbJoursMois(7) = 31
NbJoursMois(8) = 30
NbJoursMois(9) = 31
NbJoursMois(10) = 30
NbJoursMois(11) = 31


If (Date1 < Date2) Then
Tempon = Date1
Date1 = Date2
Date2 = Tempon
End If

'Nombre de seconde depuis "01/01/1900 00:00:00" à Date1
'Nombre de seconde pour les année
'C'est là que ça plante
'-------------
Durée = (Year(Date1) * 3153600)
'--------------
Durée = Durée + Int((Year(Date1)) / 4) * 24 * 60 * 60 'Ajout des jours pour les année bisestil
'Nombre de seconde pour les mois
While (Compt <> (Month(Date1) - 1))
Durée = Durée + NbJoursMois(Compt) * 24 * 60 * 60
Compt = Compt + 1
Wend

'Pas fini

NbSec = Durée
End Function





Y faut savoir faire la fête de temps en temps
vendredi 10 décembre 2004 à 17:58:34 | Re : QQun pourait m'expliquer

wv

Hooooooo encor un oubli :
le commentaire :
'Nombre de seconde depuis "01/01/1900 00:00:00" à Date1
est faut il faut lire
'Nombre de seconde depuis "01/01/0001 00:00:00" à Date1


Y faut savoir faire la fête de temps en temps
vendredi 10 décembre 2004 à 18:21:50 | Re : QQun pourait m'expliquer

wv

Bon je pense que je vais le faire en double
avec 15 chifre significatif je peut aller à des ecrat de 31 milion d'année (je pense que ce vas lagement aller)

Merci Merci et Merci (je suis tres agéablement surpris par la vitesse à la quel vous m'avez répondu, alor MERCI ENCOR)

Si cette fonction (une fois fini) et les autre que je ferait sur les date/heure intéresse qqun, il faut simplement me le faire savoir et je les donnerait (sur forums ou à télécharger sur VBFrance)

Le VB c'est pas top mais VBFrance est là pour résoudre ce probléme. BRAVO

Y faut savoir faire la fête de temps en temps
vendredi 10 décembre 2004 à 18:45:32 | Re : QQun pourait m'expliquer

Gobillot

Public Function NbSec(ByVal Date1 As Date, ByVal Date2 As Date) As Double
Dim NbJoursMois(0 To 11) As Byte
Dim Tempon As Date
Dim Durée As Double
Dim Compt As Byte

NbJoursMois(0) = 31
NbJoursMois(1) = 28
NbJoursMois(2) = 31
NbJoursMois(3) = 30
NbJoursMois(4) = 31
NbJoursMois(5) = 30
NbJoursMois(6) = 31
NbJoursMois(7) = 31
NbJoursMois(8) = 30
NbJoursMois(9) = 31
NbJoursMois(10) = 30
NbJoursMois(11) = 31


If (Date1 < Date2) Then
Tempon = Date1
Date1 = Date2
Date2 = Tempon
End If

'Nombre de seconde depuis "01/01/1900 00:00:00" à Date1
'Nombre de seconde pour les année
'C'est là que ça plante
'-------------
Durée = (Year(Date1) * 365)
'--------------
'Ajout des jours pour les année bissextiles
Durée = Durée + Int((Year(Date1)) \ 4)

'Nombre de seconde pour les mois
While (Compt <> (Month(Date1) - 1))
Durée = Durée + NbJoursMois(Compt)
Compt = Compt + 1
Wend

Durée = (Durée + Day(Date1)) * 86400

'Pas fini

NbSec = Durée
End Function

Daniel

1 2

Cette discussion est classée dans : long, pc, vraiment, expliquer, compilateur


Répondre à ce message

Sujets en rapport avec ce message

compilateur Multi-OS [ par frobinet ] Bonjour,Je redéveloppe actuellement en Assembleur 32 (MASM32) la plupart de mes logiciels écrit initialement en Visual Basic (pour des problèmes de ra mise en veille de pc simple [ par laurent180 ] ce que je cherche est certainement simple mais sa fct pas ce que je veux c'est que quand je click sur un bouton que mon pc ce mette en veille.j'ai tro Urgent : Reseau local !!! [ par x0x ] Salut j'ai vraiment besoin d"aidemon pere à en entreprise de 30pc dans le meme raison localchaque pc à un mot de pass qui permet l'authentification et lancer .exe sur un autre pc [ par marcod59 ] Bonjour,Est-il possible en VB d'ouvrir un prog sur un autre pc qui est sur le réseau ??? Le prog qui sera un .exe doit s'ouvrir sur le pc que je voudr Deployer une application vb.net sur Pocket-PC [ par atnokpa ] Je n'arrive à déployer mon application à partir de Visual Studio .Net sur mon Pocket-PC. Demande Aide. help me [ par Kihii ] Salut,mon probleme est que je veux identifier un pc qui se conecte a mon pc. A savoir que je peux programmer sur les deux pc. Comment avoir une infor Crystal reports license vraiment urgent [ par ioda19 ] Bonjour je suis enterain de développer un application que je vais vendre a des client et cet application contient des rapport fait avec crystal report Erreur d'exécution '453' [ par hindou ] Salut tlm,voila j'ai un réel probleme, quand j'essaie d'executer mon projet, j'obtiens le message d'erreur suivant : Point d'entrée RegisterServicePro Message "File access denied" lors d'une installation [ par RL ] J'ai un méssage "File access denied" concernant la DLL RICHED32.DLL lors de l'installation ( sur un PC NT4 )d'un programme développé en VB6 (sur un P aide svp!! [ par jdetrez ] ben voila je suis en train de faire un stage a londres, j ai creer un petit logiciel qui permet de faire des macro sur des fichiers excel, j ai cree l


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,590 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales