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

Delphi Discussion :

caster un TDateTime en TObject


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 210
    Par défaut caster un TDateTime en TObject
    bonjour a tous,

    Je voudrais utiliser les THashedStringList. A chaque string de ma liste j'associe un objet grace a la methode AddObject. Cette objet est une date au format TDateTime. Comment faire pour passer cette date dans la methode AddObject?? Et comment faire pour afficher un TObject dans un ShowMessage?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var
         data: THashedStringList;
         objet: TOjbect;
    begin
          data := THashedStringList.Create();
          data.AddObject('maString', heure);
          objet := data.Objects[0];
          ShowMessage(objet)
    avec heure une TDateTime (double). Merci

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    deux solution

    a la barbare
    si l'heure et object est un entier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      data := THashedStringList.Create();
      data.AddObject('maString',Tobject(heure));
      objet := Integer(data.Objects[0]);
      ShowMessage(format(%d,[objet]))
    ou à la civilisé (poo)

    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
    Tobjdatetime = Tobject
       fValue : Tdatetime;
       Constructor Create(value : Tdatetime);
       Value : Tdatetime read fValue write read
    end;
     
    ...
    Constructor Tobjdatetime.Create(value : Tdatetime);
    begin
      fvalue := value;
    end;
     
    ...
      data := THashedStringList.Create();
      data.AddObject('maString',Tobjdatetime.create(heure));
      ShowMessage(formatdatetime('hh',(data.Objects[0] as Tobjdatetime).value));
    @+ Phil

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 093
    Par défaut
    THashedStringList mince alors elle existait, lol, j'ai pondu ma THashStringList mais pour Delphi 3 ... ^_^

    Bon, je vais la regarder sinon ...

    je dirais que ton AddObject ne doit pas compiler, voici un exemple basé sur le tient, et je pense que j'ai une méthode encore plus barbare

    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
     
    type
      PDateTime = ^TDateTime;
    var
         data: THashedStringList;
         objet: TOjbect;
         heure: PDateTime ;
    begin
          new(heure);
          heure^ := Now();
     
          data := THashedStringList.Create();
          data.AddObject('maString', Pointer(heure));
          objet := data.Objects[0];
          ShowMessage(DateTimeToStr( PDateTime(objet)^))
    end;
    bien sur un dispose sera indispensable ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 210
    Par défaut
    oki merci ShaiLeTroll

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 093
    Par défaut
    De rien, ...

    Pour la THashedStringList, j'ai vu, ce n'est pas ce que je pensais, mais c'est intéressant, le code est sympa, et je pourrais modifier ma THashStringList pour indexer différent mes hash ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. caster un TObject en int
    Par Art19 dans le forum Delphi
    Réponses: 2
    Dernier message: 02/04/2007, 19h02
  2. [Debutant(e)]caster un Object
    Par bart64 dans le forum Langage
    Réponses: 4
    Dernier message: 24/09/2004, 16h26
  3. Résultats erroné différence entre deux types TDateTime
    Par Alghero dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/03/2004, 17h03
  4. Record et TObject
    Par spirale dans le forum Langage
    Réponses: 2
    Dernier message: 13/09/2002, 12h06
  5. TObject->Color et composantes RGB
    Par Flo. dans le forum C++Builder
    Réponses: 10
    Dernier message: 14/06/2002, 17h07

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