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

Langage Delphi Discussion :

Récupération du nom du jour


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 81
    Points : 24
    Points
    24
    Par défaut Récupération du nom du jour
    Salut,
    je veux récupérer le nom du jour a partir d'un edit contenant une date donnée, par exemple le nom du jour du 01/02/2016 est lundi...
    j'ai essayé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TPeincipale.Timer1Timer(Sender: TObject);
    var
      myDate : TDateTime;
      day    : string;
    begin
    myDate := EncodeDate(StrToInt(edit1.text));
    day := LongDayNames[DayOfWeek(myDate)];
    label1.text :=day;
    end;
    mais ça marche pas...

    merci d'avance pour votre aides...

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    566
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 566
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    Dans un premier temps, il serait bien d'indiquer la version de Delphi utilisé. Il s'agit d'un pré-requis du forum.

    Ceci étant dit, la fonction DayOfWeek(myDate) retourne un valeur comprise entre 1 et 7. Le 1 pour lundi, etc.

    Il est donc nécessaire de créer un fonction pour obtenir le nom du jour. Tu as le choix :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function Jour(LaDate:TDateTime):string;
    begin
     
    case DayofWeek(LaDate) of
     1: Result:= 'Lundi';
     2: Result:= 'Mardi';
     3: Result:= 'Mercredi';
     4: Result:= 'Jeudi';
     5: Result:= 'Vendredi';
     6: Result:= 'Samedi';
     7: Result:= 'Dimanche';
    end;
     
    end;
    ou tu regardes cette conversion qui présente plusieurs approche http://www.developpez.net/forums/d77...jours-semaine/

    Bon courage

    A+

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 952
    Points
    40 952
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par seabs Voir le message
    Dans un premier temps, il serait bien d'indiquer la version de Delphi utilisé. Il s'agit d'un pré-requis du forum.
    C'est bien de le rappeler

    Avec D7 comme avec D3 Label1.Text:=LongDayNames[DaysOfWeek(myDate)); fonctionne parfaitement


    Citation Envoyé par samidz2014
    mais ça marche pas...
    est loin d'être explicite! qu'est-ce qui ne fonctionne pas ? est-ce la compilation qui échoue ou la valeur retournée qui est incorrecte ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 126
    Points
    13 126
    Par défaut
    EncodeDate attend trois paramètres, ça ne doit pas compiler. Utilise StrToDateTime.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 81
    Points : 24
    Points
    24
    Par défaut
    salut, et désolé pour le retard,
    j'utilise Delphi 7,

    l'erreur déclanchés :
    Not enough parameters (ligne n°6)

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 952
    Points
    40 952
    Billets dans le blog
    62
    Par défaut
    c'est donc AndNotOr qui a bien vu le hic, chapeau bas et
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 81
    Points : 24
    Points
    24
    Par défaut
    salut,
    EncodeDate attend trois paramètres, ça ne doit pas compiler. Utilise StrToDateTime.
    merci, c'est la solution.
    merci a vous tous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TPeincipale.Timer1Timer(Sender: TObject);
    var
      myDate : TDateTime;
      day    : string;
    begin
    myDate := StrToDateTime(RzLEDDisplay2.Caption);
    day := LongDayNames[DayOfWeek(myDate)];
    label1.Caption :=day;
    end;

  8. #8
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 552
    Points : 3 920
    Points
    3 920
    Par défaut
    Salut

    de mémoire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TPeincipale.Timer1Timer(Sender: TObject);
    var
      myDate : TDateTime;
    begin
      myDate := EncodeDate(StrToInt(edit1.text));
      label1.text := formatDateTime('dddd', myDate);
    end;
    devrait aussi fonctionner, formatDateTime s'appuie sur les paramètres régionaux.

    Cdlt

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

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

Discussions similaires

  1. [date]Récupération du nom du jour
    Par Katachana dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 31/10/2010, 18h57
  2. [C#] Liste des noms des jours
    Par Oberown dans le forum C#
    Réponses: 9
    Dernier message: 07/11/2005, 11h38
  3. [C#] [.NET] Récupération des noms de tables d'une base
    Par GuillaumeG dans le forum Windows Forms
    Réponses: 7
    Dernier message: 07/04/2005, 13h31
  4. [XSLT] Récupération du nom du fichier XML analysé
    Par Patkaza dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/01/2005, 11h28
  5. Récupération des noms de champs d'une table
    Par Battomura dans le forum SQL
    Réponses: 2
    Dernier message: 24/03/2003, 10h00

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