IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

lancer un timer à l'heure et le jour choisis


Sujet :

Windows Forms

  1. #41
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 23
    Points
    23
    Par défaut
    il le fait pour le mardi aussi
    par contre chose qu'il faisait pas avant
    dès qu'il arrive sur un checkbox il fait la première ligne et ensuite il va sur ta fonction avant d'aller sur un autre checkbox mais il saute toujours la ligne du process start

  2. #42
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 23
    Points
    23
    Par défaut
    j'ai laissé le mode pas à pas et j'ai vu que lorsqu'il arriver à l'heure il se met automatiquement sur la première ligne de l'évènement du timer_tick mais rien se passe et l'appli est bloqué

  3. #43
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 23
    Points
    23
    Par défaut
    j'ai recréé un nouveau projet avec seulement le strict minimum pour voir si il y avait pas quelques choses qui empêche de fonctionnait mais rien ne se passe non plus
    j'ai ça comme code sur mon projet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Public Class Form1
        Public Function GetWeekDayName(ByVal mydate As DateTime) As String
            Return System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.DayNames(CType(mydate.DayOfWeek, Integer))
        End Function
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Dim mydate As DateTime = DateTime.Now
            'mydate = DateTime.Now
            If cbmonday.Checked = True Then
                If GetWeekDayName(mydate) = "Monday" Then
                    Process.Start("C:\Program Files\IDRE Informatique Backup\sauve.bat")
                End If
            End If
            If cbtuesday.Checked = True Then
                If GetWeekDayName(mydate) = "Tuesday" Then
                    Process.Start("C:\Program Files\IDRE Informatique Backup\sauve.bat")
                End If
            End If
            If cbWednesday.Checked = True Then
                If GetWeekDayName(mydate) = "Wednesday" Then
                    Process.Start("C:\memo.txt")
                End If
            End If
            If cbthursday.Checked = True Then
                If GetWeekDayName(mydate) = "thursday" Then
                    Process.Start("C:\memo.txt")
                End If
            End If
            If cbfriday.Checked = True Then
                If GetWeekDayName(mydate) = "friday" Then
                    Process.Start("C:\memo.txt")
                End If
            End If
            If cbsaturday.Checked = True Then
                If GetWeekDayName(mydate) = "saturday" Then
                    Process.Start("C:\memo.txt")
                End If
            End If
            If cbsunday.Checked = True Then
                If GetWeekDayName(mydate) = "sunday" Then
                    Process.Start("C:\memo.txt")
                End If
            End If
            If String.IsNullOrEmpty(tbheure.Text) Then
                If mydate.Hour = Int32.Parse(tbheure.Text) Then
                    Process.Start("C:\memo.txt")
                End If
            End If
            If String.IsNullOrEmpty(tbminute.Text) Then
                If mydate.Minute = Int32.Parse(tbminute.Text) Then
                    Process.Start("C:\memo.txt")
                End If
            End If
        End Sub
     
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Timer1.Interval = 60000
            Timer1.Start()
        End Sub
    End Class

  4. #44
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Vérifie ce que te retourne GetWeekDayName(mydate) mais je pense qu'il te manque une majuscule pour certains jours de la semaine.

    Sinon, à première vue ton code à l'air d'être bon. Tu as fait une exécution au pas à pas ?

    As-tu remplacer les process.Start par une MessageBox ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  5. #45
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 23
    Points
    23
    Par défaut
    bon j'ai fait un test en mettant une heure et jour pour aujourd'hui
    le GetWeekDayName(mydate) m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mydate # 10/29/2009 5:06:19 PM#
    oui je fais des executions pas à pas il n'y a pas de message d'erreur

    je vais mettre des majuscules
    sinon oui je l'avais fait avec messagebox je vais le refaire avec le nouveau projet

  6. #46
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    ça, c'est le résultat de MyDate, normalement la méthode GetWeekDayName ne devrait te retourner que le nom du jour.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  7. #47
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 23
    Points
    23
    Par défaut
    non ça m'affiche pas le jour
    par contre ce code m'affiche bien l'heure que j'ai choisis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If String.IsNullOrEmpty(tbheure.Text) Then
                If mydate.Hour = Int32.Parse(tbheure.Text) Then
                    Process.Start("C:\memo.txt")
                End If
            End If

  8. #48
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Bon bah au moins c'est bon pour les heures et les minutes.

    Pour la méthode c'est bizarre, elle devrait retourner le jour...
    Tente avec un myDate.DayOfWeek.ToString()
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  9. #49
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 23
    Points
    23
    Par défaut
    il me retourne la même chose

  10. #50
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Comment fais-tu ta vérification ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  11. #51
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 23
    Points
    23
    Par défaut
    en mode pas à pas lorsque l'évènement se déclenche sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If GetWeekDayName(MyDate) = "Thursday" Then
    je vois la valeur
    je suis désolé si c'est pas ça qu'il faut faire

  12. #52
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    C'est presque ça. Pendant le pas à pas, tu va surligner toute la fonction GetWeekDayName(MyDate), faire un clic droit dessus et choisir "espion express".

    Là tu auras réellement le résultat de la fonction
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  13. #53
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 23
    Points
    23
    Par défaut
    voilà ce que j'obtiens dans la fenêtre execution
    Une exception de première chance de type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll
    Une exception de première chance de type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll
    Une exception de première chance de type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll
    Une exception de première chance de type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll
    Une exception de première chance de type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll
    et dans la fenêtre espion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    				If cbthursday.Checked = True Then
                If GetWeekDayName(mydate) = "Thursday" Then
                    MessageBox.Show("bonjour")
                End If
            End If	Expression attendue.
    dans ma fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function GetWeekDayName(ByVal mydate As DateTime) As String
            Return System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.DayNames(CType(mydate.DayOfWeek, Integer))
        End Function
    j'ai bien les jours de dimanche à samedi comme valeur

  14. #54
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 23
    Points
    23
    Par défaut
    voilà j'ai trouvé une réponse

    donc je résume l'idée est d'avoir 2 textbox (1 pour l'heure et l'autre pour les minutes) 7 checkbox ( 1 pour chaque jour de la semaine) et 1 timer pour pour ticker toute les minutes pour lancer un évènement ( dans mon cas c'est un process )

    donc le but c'est que l'utilisateur choisit l'heure et aussi le ou les dates dont se process doit être lancé

    dans le form_load
    on met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Timer1.Interval = 60000
            Timer1.Start()
    dans le timer
    on met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     
            Dim mydate As DateTime = DateTime.Now
            Dim MyDateDayName As DayOfWeek = mydate.DayOfWeek
            Dim Go As Boolean = False
     
            If tbheure.Text & ":" & tbminute.Text = mydate.ToShortTimeString() Then
                Select Case MyDateDayName
     
                    Case DayOfWeek.Monday
                        Go = cbmonday.Checked
                    Case DayOfWeek.Tuesday
                        Go = cbtuesday.Checked
                    Case DayOfWeek.Wednesday
                        Go = cbWednesday.Checked
                    Case DayOfWeek.Thursday
                        Go = cbthursday.Checked
                    Case DayOfWeek.Friday
                        Go = cbfriday.Checked
                    Case DayOfWeek.Saturday
                        Go = cbsaturday.Checked
                    Case DayOfWeek.Sunday
                        Go = cbsunday.Checked
                End Select
            End If
            If Go Then Process.Start("chemin du process à lancer")
        End Sub
    je te remercie laedit de m'avoir beaucoup aider aussi

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. [XL-2007] Lancer une macro à une heure donnée et à un jour donné
    Par magweti dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/10/2012, 12h25
  2. lancer une serie de slide suivant l heure et le jour
    Par mister_jo dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 05/09/2008, 05h38
  3. Réponses: 7
    Dernier message: 03/03/2006, 16h51
  4. [SWT]Lancer un timer
    Par FranT dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 07/06/2005, 16h37
  5. Lancer une methode a heure fixe
    Par Le Veilleur dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/11/2004, 19h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo