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 TObject en int


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 TObject en int
    Bonjour a tous,

    J'ai une THashedStringList avec des elements auxquels j'associe des TObject grace a la fonction AddObject. Je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var
        compteursRecordsTxt: THashedStringList;
        compteurTemp: Integer;
        dateFixe: TDateTime;
    begin
    ...
    compteurTemp := 0;   
    compteursRecordsTxt.AddObject( DateToStr( dateFixe ), TObject(
    compteurTemp ));
    Apres j'aimerai afficher mon objet avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    objet := compteursRecordsTxt.Objects[0];
    int temp := int(objet);
    memo1.Lines.Add( IntToStr( temp ) );
    mais le "castage" de objet en int ne fonctionne pas ! Comment puis je m'y prendre? Merci

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    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 089
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var
        compteursRecordsTxt: THashedStringList;
        compteurTemp: Integer;
        dateFixe: TDateTime;
    begin
    ...
    compteurTemp := 0;   
    compteursRecordsTxt.AddObject( DateToStr( dateFixe ), Pointer(
    compteurTemp ));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    memo1.Lines.Add( IntToStr( Integer(compteursRecordsTxt.Objects[0])) );
    Attention, on n'utilise pas de pointeur, on sert des 4 octet du pointer pour stocker un entier ne pas confondre avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    type
      PInteger = ^Integer;
    var
        compteursRecordsTxt: THashedStringList;
        compteurTemp: PInteger;
        dateFixe: TDateTime;
    begin
    ...
    New(compteurTemp);
    compteurTemp^ := 0;   
    compteursRecordsTxt.AddObject( DateToStr( dateFixe ), Pointer(
    compteurTemp ));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    memo1.Lines.Add( IntToStr( PInteger (compteursRecordsTxt.Objects[0])^ ) );
    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

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int temp := INTEGER(objet);
    devrait fonctionner sans probleme.

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

Discussions similaires

  1. Caster un String en int avec un arrondi
    Par Sennad dans le forum Langage
    Réponses: 7
    Dernier message: 10/09/2014, 16h34
  2. caster/tronquer float en int
    Par bossbebes dans le forum Embarqué
    Réponses: 5
    Dernier message: 16/04/2012, 18h28
  3. Caster un string en int.
    Par pazze dans le forum Débuter
    Réponses: 5
    Dernier message: 14/11/2008, 12h35
  4. Caster en int le contenu d'un vector
    Par MinsK dans le forum Langage
    Réponses: 6
    Dernier message: 31/05/2007, 16h59
  5. caster un TDateTime en TObject
    Par Art19 dans le forum Delphi
    Réponses: 4
    Dernier message: 02/04/2007, 17h09

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