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 :

Test d'une valeur nulle


Sujet :

Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 64
    Par défaut Test d'une valeur nulle
    Bonjour à tous !

    Je ne suis pas un pro en Delphi et comme vous vous en doutez je cherche de l'aide pour mon problème que voilà :

    J'ai une instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    try Result := round( Val);
      except Result := 0;
      end;
    Et je souhaiterai dans un if qui test si Val est nulle. Comment faire ? J'ai déjà essayé quelques méthodes mais sans succès.
    Merci d'avance à tous ceux qui répondront !

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    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 086
    Par défaut
    Lorsque tu parles de valeur nulle, tu parles du zéro ? ou de IsNaN?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if val = 0 then 
      ...
    else
       ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if IsNaN(val) then 
      ...
    else
       ...
    Round ne doit même jamais déclencher d'exception, sauf le cas du IsNan ou IsInfinite
    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 confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 64
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Lorsque tu parles de valeur nulle, tu parles du zéro ? ou de IsNaN?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if val = 0 then 
      ...
    else
       ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if IsNaN(val) then 
      ...
    else
       ...
    Round ne doit même jamais déclencher d'exception, sauf le cas du IsNan ou IsInfinite
    Je cherche à savoir si la variable est nulle au sens null. Pas si sa valeur est zéro mais si, lors d'un debug j'affiche sa valeur j'obtiens "Null". Le IsNan n'est pas utile je pense alors ?

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    les variables qui peuvent être
    nulles au sens null
    sont des pointeurs ou des variants, non ?

    quel est le type de ta variable ? où est-elle déclarée ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  5. #5
    Membre très actif
    Homme Profil pro
    Santé
    Inscrit en
    Septembre 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Santé
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 290
    Par défaut
    Citation Envoyé par Z4ng3tsu Voir le message
    Je cherche à savoir si la variable est nulle au sens null. Pas si sa valeur est zéro mais si, lors d'un debug j'affiche sa valeur j'obtiens "Null". Le IsNan n'est pas utile je pense alors ?
    AIDE :
    Utilisez Assigned pour déterminer si le pointeur ou la procédure référencée par P a la valeur nil. P doit être une référence variable d'un pointeur ou d'un type procédural. Assigned(P) correspond au test P<>nil dans le cas d'une variable pointeur et à@P <>nil dans le cas d'une variable procédurale.

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    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 086
    Par défaut
    Si le débugguer affiche "Null" cela doit être un variante
    utilise pour cela VarIsEmpty ou VarIsNull ou encore VarIsClear

    Pour un pointeur, pour Delphi, cela utilise plutôt "nil" et pas "Null", je n'en ai pas fait depuis un an, mais je ne crois pas me trompé !
    Maintenant, je suis en C++Builder, et c'est "NULL" et "Null" subtil ! non ?
    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

Discussions similaires

  1. [AC-2007] Test d'une valeur pour savoir si elle est nulle
    Par glooping dans le forum IHM
    Réponses: 2
    Dernier message: 01/10/2009, 11h26
  2. [vb.net] tester une valeur nulle de maniere elegante
    Par graphicsxp dans le forum Windows Forms
    Réponses: 5
    Dernier message: 22/08/2005, 15h36
  3. test d'une valeur stocké dans une table
    Par EssaiEncore dans le forum ASP
    Réponses: 3
    Dernier message: 18/02/2005, 11h39
  4. Affcecter une valeur NULL dans une requete paramétrée
    Par thiouwz2 dans le forum Bases de données
    Réponses: 7
    Dernier message: 05/11/2004, 15h02
  5. Passer une valeur Null dans un argument de procédure
    Par preempalver dans le forum VBA Access
    Réponses: 5
    Dernier message: 30/12/2003, 20h52

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