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 34
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 40
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
Rejoignez-nous