Fonction DateAdd sur Win XP dans VB 6.0

Résolu
rami3b
Messages postés
17
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
8 décembre 2008
- 31 juil. 2006 à 16:36
rami3b
Messages postés
17
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
8 décembre 2008
- 1 août 2006 à 03:00
bonjour
j'ai programmé une petite application en "vb6.0" destinée a etre utilisé sur un PC equipé de WINDOWS XP.

Sur windows 98, tout va bien mais quand je l'ai essayé sur winsows XP, il y a eu un problème:
-l'application est simple:un textbox sur lequel on met une heure :"hh:mm",puis on click sur "enregistrer",à cet heure le PC emet un bip, puis apres 3 seconde il emet un autre BIP.
-Le problème sur XP: quand l'heure commence par un "1" comme "11:00", tout va bien, mais quand elle commence par "0" par exemple "06:00" ou "07:15", le deuxième bip n'est pas émi.
voici le code
----------------------------------------------------------------
Dim tps As Date
Private Sub cmdexit_Click()
Unload Me
End Sub
------------------------------
Private Sub Form_Load()
Dim STR_texte As String
Timer1.Enabled = True
Open "alarm.txt" For Input As #1
Input #1, STR_texte
Txt1.Text = STR_texte
Close #1
End Sub
------------------------------------

Private Sub cmdsave_Click()
Dim INT_For1 As Integer
tps = Txt1.Text
Open "alarm.txt" For Output As #1
    Print #1, Txt1.Text
Close #1
End Sub
------------------------------
Private Sub Timer1_Timer()
   If Time$ = tps Then
    Beep
   End If
   If Time$ = DateAdd("s", 3, tps) Then
    Beep
   End If
End Sub
--------------------------------------------------------------------
merci d'avance pour vos reponses

3 réponses

Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
31 juil. 2006 à 21:59
Salut,

comparaison String avec Date c'est pas très bon
transforme le Time en Date avant de comparer et le tour est joué


Private Sub Timer1_Timer()

   Dim dt As Date

   dt = Time$

   If dt = tps Then Beep

   If dt = DateAdd("s", 3, tps) Then  Beep

End Sub

Daniel
3
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
31 juil. 2006 à 19:27
Avec VB6 et sous XP Pro Sp2, ça marche, j'ai bien les 2 bips.

Vérifie les chaines que te renvoie Time$ et DateAdd sous XP. Peut-etre qu'en fonction des paramètres régionnaux 1 des deux zéro du début ait été viré.

Sevyc64  (alias Casy)<hr align="center" size="2" width="100%" /><stron></stron># LE PARTAGE EST NOTRE FORCE #
0
rami3b
Messages postés
17
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
8 décembre 2008

1 août 2006 à 03:00
merci pour votre aide

tous amis
0