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

WinDev Discussion :

Créer une table avec des heures


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Créer une table avec des heures
    Bonjour à tous,

    Je voudrais créer une table, avec une colonne qui se remplit automatiquement avec des horaires.
    Je voudrais que ma première ligne soit 07:00 et que ma dernière ligne soit 07:59, avec un pas de 1 minute.
    Donc ma table serait de ce style :
    06:00
    06:01
    ...
    23:59
    00:00
    00:01
    ...
    05:01
    ...
    6:59

    En espérant que quelqu'un puisse m'aider ...

    Merci !

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 451
    Points
    2 451
    Par défaut
    Bonjour

    Votre question est un peu floue : vous voulez aller de 7H00 à 7H59, ou de 6H00 à 23H59 ?
    En fait cela ne change rien au principe, sauf que si vous bouclez 24H/24, il faudra sans doute tenir compte des dates.

    Vous êtes certain d'avoir déjà un peu pratiqué Windev et d'avoir au moins déjà lu le Guide d'autoformation, ainsi que fait ses exercices ?

    On parle bien d'une table affichée à l'écran.

    Alors, il faut aller voir du côté
    • des Tables mémoire
    • des traitements "initialisation" des tables et colonnes
    • des fonctions TableAjouteLigne
    • des boucles (POUR)
    • des types de variable Heure, DateHeure et probablement Durée si vous prévoyez de calculer des durées


    Dès que vous aurez un peu avancé dans votre travail, nous serons là pour vous aider davantage.

    Bonne lecture et bon développement

    Hemgé

  3. #3
    Membre habitué Avatar de logic_man
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2009
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 123
    Points : 169
    Points
    169
    Par défaut
    Après la création de la table dans les déclarations globale de la fenêtre (contenant la table évidement) vous taper le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // TABLE_horaire est le nom de la table contenant la colonne "Heure" 
     
    ghMsai est une Heure ="0600"
    i est un entier
    POUR i=0 A 59
    	ghMsai..Minute=i
    	TableAjoute(TABLE_horaire,ghMsai)
     
    FIN

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour Hemgé et merci pour ta réponse rapide !

    Je veux aller de 07h00 à 06h59 le lendemain mais en effet le principe reste le même. Par contre la date m'importe peu.
    Je suis débutant, je viens de commencer un stage de fin d'études et je travaille avec Windev Express 17.
    J'ai déjà utilisé des tables mémoires, manipulé des heures (HeureVersChaine etc), utilisé des boucles POUR également.

    Seulement là le problème est que je ne sais pas comment incrémenter des heures .. Pouvoir rajouter 1 minute à chaque fois, et repasser à 00 après 59.

    J'ai l'idée de comment faire ce que je veux, mais je ne sais pas comment l'écrire correctement.

    Voici mon idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    hHeureDébut, hHeureFin, hHeure sont des heures
    hHeureDébut = 07:00
    hHeureFin = 06:59
     
    POUR hHeure=hHeureDebut A hHeureFin
        TableAjouteLigne(Table, hHeure)
        hHeure + 1 minute (Comment le dire ?)
    FIN

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour logic_man !

    Merci pour ta réponse, c'est bien ça que je cherchais ! Je vais pouvoir me débrouiller pour incrémenter les heures maintenant

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Personnellement je partirais sur un parcours du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    H est une Heure   = "0600"
     
    h_Max est une Heure = "2359" 
     
    WHILE NOT Gauche(H,4) >= Gauche(h_Max,4)
    	H..Minute++
    	Trace(H) //ou ce que tu veux
    END

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour michel.souris !

    C'est pas mal aussi, mais peux tu m'expliquer ce que tu fais exactement ? J'ai pas très bien compris surtout le Gauche ..

    Merci !

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    A la réflexion d'ailleurs ça sert à rien le Gauche !!! c'etait pour récupérer la partie intéressant dans ton cas.. à savoir HHMM (en fait les dates/heures sont des pseudos chaines structurées)

    Sinon j'incrémente la variable H minute par minute (la gestion de l'incrémentation des heures est donc automatique du fait que la variable soit une variable de type heure) jusqu'à ce que la variable soit supérieure ou égale à 23h59 (la valeur de la variable h_max).

  9. #9
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    1 038
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1 038
    Points : 2 476
    Points
    2 476
    Par défaut
    Je suis un peu (même beaucoup) comme Hemgé.
    Il serait judicieux de commencer par le cours d'autoformation.
    Les réponses qui te seront faites (et c'est le cas ici) ne te serviront qu'à peu de choses à long terme.
    Ecoutes plutôt ceux qui t'apprennent à pêcher que ceux qui te donnent des vairons.

    A moins que tu ai investi dans WD pour rire.

  10. #10
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Sur le fond Serendib et Hemgé ont complètement raison !

  11. #11
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 451
    Points
    2 451
    Par défaut
    Si le problème est celui de l'incrémentation, vous devez vous reporter à la documentation sur les dates et les heures, ainsi que sur les Propriétés de gestion des dates et des heures
    Le principe est le même dans les deux cas : voyez les propriétés ..An, ..Mois, ..Jour, ..Heure, ..Minute etc

    En travaillant avec ces propriétés, vous vous affranchissez des problèmes de conversion :
    - par exemple, Windev va gérer l'incrémentation des secondes jusqu'à 60, mais celle des millisecondes jusqu'à 1000
    - ou si vous incrémentez des jours, il va gérer les années bissextiles pour vous

    Allez voir la doc, faites quelques exercices et vous aurez bien avancé.

    Bonne continuation

    Hemgé

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/12/2010, 11h35
  2. Réponses: 4
    Dernier message: 23/07/2010, 23h06
  3. créer une table avec des colonnes de types différents
    Par d_hazem dans le forum Composants
    Réponses: 1
    Dernier message: 15/01/2009, 15h23
  4. Créer une liste avec des noms de fichiers
    Par Jeffboj dans le forum Access
    Réponses: 5
    Dernier message: 12/05/2006, 05h48
  5. Créer une vue avec des requêtes UNION ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/04/2005, 12h37

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