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

VB.NET Discussion :

Récupérer le jour de la semaine et l'heure


Sujet :

VB.NET

  1. #1
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut Récupérer le jour de la semaine et l'heure
    Bonjour,
    je voudrais développer une petite application qui coupe internet selon une plage horaire qui à été définie par l'utilisateur. (Faire un truc semblable au contrôle parental de la Freebox.)


    Je pense donc à créer 168 checkbox pour définir la plage horaire.
    Je voudrais récupérer le jour de la semaine exemple : Mercredi ainsi que l'heure sans les minutes si possible.
    Ainsi je pourrais faire un code du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Jour As String = Récupération Jour
            Dim Heure As String = Récupération Heure
            If ME18.Checked And Jour = "Mercredi" And Heure = "18" Then
                'Coupure Internet
            End If
    Voilà je n'ai trouvé que cette solution, si vous avez mieux merci de me proposer.
    Merci.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  2. #2
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Salut

    Je voudrais récupérer le jour de la semaine exemple : Mercredi ainsi que l'heure sans les minutes si possible.
    Ainsi je pourrais faire un code du genre :
    pas compris

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If ME18.Checked And DateTime.Now.DayOfWeek = DayOfWeek.Thursday And DateTime.Now.Hour = 18 Then ...
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  4. #4
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Bonjour à tous !
    voici la solution que j'ai retenue. J'initialise un tableau de chexbox.
    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
        Dim tab(7, 23) As CheckBox
    Dim x
            Dim y = 425
            For jour = 0 To tab.GetLength(0) - 1
                x = -8
                For heure = 0 To tab.GetLength(1) - 1
                    x = x + 20
                    tab(jour, heure) = New CheckBox()
                    tab(jour, heure).Left = x
                    tab(jour, heure).Top = y
                    tab(jour, heure).Width = 20
                    Me.Controls.Add(tab(jour, heure))
                Next
                y = y + 20
            Next
    Ensuite il faut tester chaque checkbox pour savoir si le jour et l'heure sont cochés (Voici un exemple pour le lundi à 00h00:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If tab(0, 0).Checked = True And DateTime.Now.DayOfWeek = DayOfWeek.Monday And DateTime.Now.Hour = 0 Then
                CoupureInternet()
                My.Settings.LU0 = True 'Pour retenir que la checkbox est cochée
            Else
                RemiseInternet()
                My.Settings.LU0 = False
            End If
    Voilà ! Merci à vous !
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par CLeBeR Voir le message
    Je pense donc à créer 168 checkbox pour définir la plage horaire.

    et en tant qu'utilisateur tu aimerais tomber sur une fenêtre avec 168 checkbox ?
    tu n'as jamais vu des softs avec des idées plus ergonomiques ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Hélas je ne vois pas d'autre solutions.
    Si tu en as une meilleure, je suis preneur.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  7. #7
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    un SourceGrid bien mis en forme peut être bien :

  8. #8
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Salut
    peut etre ainsi avec un datagridview

    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
    Private listhours As New List(Of String)
     Private Sub BuildListhours()
            Dim hoursstr As String
            For iter As Int32 = 0 To 23
                hoursstr = iter.ToString("D2") & "h:00 - " & (iter + 1).ToString("D2") & "h:00"
                listhours.Add(hoursstr)
            Next
        End Sub
     
        Private Sub DesignScheduler()
            Dim index, width, height As Integer
            Dim weekday() As String = {"Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"}
            BuildListhours()
            index = 0
            height = 0
     
            DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders
            width = 0
            For col As Integer = 0 To 6
                DataGridView1.Columns.Add("col" & col.ToString, weekday(col))
                DataGridView1.Columns(col).ReadOnly = True
                width += DataGridView1.Columns(col).Width()
     
            Next
     
            For Each item As String In listhours
                DataGridView1.Rows.Add()
                DataGridView1.Rows(index).HeaderCell.Value = item
                height += DataGridView1.Rows(index).Height
                index += 1
            Next
            DataGridView1.AllowUserToAddRows = False
            DataGridView1.AllowUserToResizeRows = False
            DataGridView1.AllowUserToResizeColumns = False
            DataGridView1.Width = width + DataGridView1.RowHeadersWidth
            DataGridView1.Height = height
            DataGridView1.Location = New Point(3, 3)
        End Sub
     
        Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
            If e.ColumnIndex < 0 Or e.RowIndex < 0 Then
                Exit Sub
            End If
            DataGridView1.ClearSelection()
     
            If DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Style.BackColor = Color.RoyalBlue Then
                DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Style.BackColor = Color.White
            Else
                DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Style.BackColor = Color.RoyalBlue
            End If
     
        End Sub
    Pour marquer les heures on clique la cellule choisi si on veut annuler on clique de nouveau.
    Ce qu'il reste à faire ce d'enregister les cellules "coloriées" (dont le row correspond à l'heure et la colonne au jour de la semaine) dans le settings

  9. #9
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Très bien merci, je regarderai plus tard.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  10. #10
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Bonjour à tous,
    Petit déterrage de sujet, je viens juste pour donner le code définitif que j'utilise, il est désormais sans bug.
    Voici donc le code pour générer un tableau de textbox :
    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
     
      Dim tab(6, 23) As CheckBox
      Dim x As Integer
            Dim y = 104
            For jour = 0 To tab.GetLength(0) - 1
                x = 187
                For heure = 0 To tab.GetLength(1) - 1
                    x = x + 30
                    tab(jour, heure) = New CheckBox()
                    tab(jour, heure).Left = x
                    tab(jour, heure).Top = y
                    tab(jour, heure).Width = 15
                    Me.Controls.Add(tab(jour, heure))
                Next
                y = y + 35
            Next
    Le code pour tester si une case est cochée ou non :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     Dim Collone As Integer = DateTime.Now.DayOfWeek - 1
            Dim Heure As Integer = DateTime.Now.Hour
     
            If (Now.DayOfWeek = DayOfWeek.Sunday) Then
                Collone = 6
            End If
     
            If tab(Collone, Heure).Checked And InternetDesactive = False Then
                CoupureInternet()
                InternetDesactive = True
            ElseIf tab(Collone, Heure).Checked = False And InternetDesactive = True Then
                RemiseInternet()
                InternetDesactive = False
            End If
    Merci pour l'aide !
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  11. #11
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    D'un point de vue purement esthétique utiliser des contrôles images affichant un carré de couleur (rouge/vert) est probablement plus sympathique qu'une flopée de checkbox.

    Après les goûts et les couleurs....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer le jour de la semaine
    Par ze veritable farf dans le forum Collection et Stream
    Réponses: 22
    Dernier message: 22/10/2013, 22h48
  2. Récupérer le jour de la semaine.
    Par leduc26 dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/04/2008, 09h51
  3. Récupérer premier jour de la semaine en cours?
    Par cortex024 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/03/2008, 11h33
  4. Réponses: 7
    Dernier message: 01/12/2007, 02h23
  5. [Dates] comment récupérer le jour de la semaine ?
    Par magic8392 dans le forum Langage
    Réponses: 5
    Dernier message: 13/09/2005, 15h01

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