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 :

[DELPHI] Comment savoir si une variable est initialisée ?


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [DELPHI] Comment savoir si une variable est initialisée ?
    Hello tout le monde !

    Je me pose une question depuis un moment en Delphi : Comment savoir si une variable existe (enfin a été initialisée plutôt) ?

    J'avais pensé à faire ça :

    if Ptr(x) = nil then Form1.Caption := 'Variable vide'
    else Form1.Caption := 'Variable initialisée';


    mais je suis pas sûr que ça soit exacte (x est ici un Integer).

    Je voudrais savoir si c'est correct ou s'il y a une fonction du genre VarExists(x) ?

    Merci d'avance

  2. #2
    Membre éclairé
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Points : 746
    Points
    746
    Par défaut
    à ma connaissance il n'existe rien de tel, c'est pour ça qu'il faut toujours initialiser tes variables
    une solution (un peu lourde mon avis) serait d'utiliser des pointeurs pour tes types de variables. un petit exemple avec deux Boutons et un SpinEdit :
    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
     
    type
      TPInteger = ^Integer;
     
    var
      PInt : TPInteger;
     
    procedure TForm1.Button1Click(Sender: TObject);
    // insère une valeur dans la variable
    begin
      if PInt = nil then
        new(PInt);
      PInt^ := SpinEdit1.Value;
    end;
     
    procedure TForm1.Button2Click(Sender: TObject);
    // recherche et affiche la valeur
    begin
      if PInt = nil then
        ShowMessage('nop')
      else
        ShowMessage('yup ; il vaut ' + IntToStr(PInt^));
    end;
    Donnez un poisson à un homme et il mangera pendant un jour... Apprenez-lui à pêcher et il s'assiéra dans une barque et boira de la bière toute la journée

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Points : 76
    Points
    76
    Par défaut
    A partir du moment où une variable est déclarée de type entier alors elle existe... si elle n'existait pas alors ton compilateur ne compilerait pas. Par contre j'ai un doute sur le fait que delphi initialise les entiers (à 0)...

    Bruno

  4. #4
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Ok merci pour ces explications
    En utilisant mon exemple avec Ptr(x) ça marche donc. Merci à vous 2

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

Discussions similaires

  1. Comment savoir si une variable est vide ?
    Par Antoun dans le forum Windows
    Réponses: 5
    Dernier message: 25/05/2008, 00h31
  2. [débutant] Comment savoir si une variable est définie
    Par guidav dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/11/2006, 17h47
  3. Réponses: 2
    Dernier message: 13/03/2006, 11h47
  4. Réponses: 9
    Dernier message: 06/02/2006, 14h12
  5. Comment savoir si une variable est initialisée ?
    Par nabix dans le forum Général Python
    Réponses: 8
    Dernier message: 10/03/2005, 15h12

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