ARENIUS
Messages postés16Date d'inscriptionjeudi 27 janvier 2005StatutMembreDernière intervention 8 décembre 2005
-
8 déc. 2005 à 10:03
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 2011
-
8 déc. 2005 à 14:38
Bonjour à tous!
voila j'ai un problème sur un programme que je suis en train de faire. Je vous joint le code ci dessous.(je suis débutant vous moquez pas :D)
Mon problème est le suivant. J'ai une fonction dans mon programme qui boucle à l'infini (c'est voulu). Mais je veux pouvoir l'interrompre en appuyant sur le bouton quitter de mon interface. Or quand je lance le programme le bouton quitter est inopérant. Existe il un moyen de reprendre la main ?
Merci
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'Déclaration des variables
Dim sString As String
Dim FSO As New FileSystemObject
Dim tsFile As TextStream
Dim Sauvmem As String
Dim Mychaine As String
Dim sString1 As String
Private Sub cmdQuit_Click()
End
End Sub
Public Sub cmdsurveillance_Click()
If cmdQuit.Value = True Then Exit Sub
Do
Call surveillance
Loop
End Sub
Public Sub surveillance()
1
'Ouverture en lecture du fichier texte
If chk5423ha.Value = False Then GoTo 2
On Error GoTo 6 ' Si erreur aller au marqueur 6
'Ouverture du fichier Gecwin et mise en memoire de l'ensemble du fichier dans sFile
Set tsFile = FSO.OpenTextFile("[file://climat5423ha/d/spirale2/data/gecwin.log \\climat5423ha\d\spirale2\data\gecwin.log]")
sfile = tsFile.ReadAll
tsFile.Close
'Lecture des 188 derniers caractères de sFile
sString1 = Right(sfile, 188)
'Lecture de 6 caractères à partir du 9 ieme caractère de sString1
Mychaine = Mid(sString1, 9, 20)
'Ouverture du fichier Sauvmem et lecture
Open "C:\logsurveillance\sav\sav5423ha.txt" For Input As #1
Line Input #1, Sauvmem
Close #1
'Comparaison entre sauvmem et Mychaine
If Sauvmem <> Mychaine Then
'Ouverture en écriture du fichier sav5423ha
Open "C:\logsurveillance\sav\sav5423ha.txt" For Output As #1
Print #1, Mychaine
Close #1
'Recherche de la chaîne de caractère voulue dans Mychaine et envoimail si necessaire
If InStr(1, Mychaine, "defaut") > 0 Or InStr(1, Mychaine, "alarme") > 0 Then
Call envoimail
End If
Else: GoTo 2
End If
2
Call cmdsurveillance_Click
End Sub
Private Sub envoimail()
Dim config As CDO.Configuration
Dim email As Object
Set email = CreateObject("CDO.Message")
With email
Set .Configuration = config
.From = "[mailto:xxxxxxx@arenius.fr xxxxxxx@arenius.fr]"
.To = "[mailto:xxxxxxxxx@arenius.fr xxxxxxxxx@arenius.fr]"
.Subject = "Alerte!!défaut sur l'une des machines"
.TextBody = "" & (Mychaine2)
.Send
End With
Text1.Text = "alerte!!!Défaut detecté sur une des machines"
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 8 déc. 2005 à 10:36
salut
ton bouton ne marche plus, car comme ta procedure est appelee en boucle, elle ne rend pas la main au systeme qui ne peut donc pas "gerer" que l'utilisateur clique sur le bouton.
il faut que tu rajoute l'instruction DoEvents, qui indique justement au programme qu'il doit rendre la main au systeme pour que celui ci puisse gerer les evenements.