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 :

Comment mettre aucune valeur dans Array of integer?


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 321
    Par défaut Comment mettre aucune valeur dans Array of integer?
    Bonsoir,
    Je me suis fait un tableau INTEGER dynamique à une dimension de cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Myarray : array of integer;
    Ma question est: Et-il possible de mette aucun valeur par example à l'emplacement 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Myarray[1] :=  1;
    Myarray[2] :=  2;
    Myarray[3] :=  Ici je voudrais mettre aucune valeur ????
    Myarray[4] :=  4;

    pour obtenir quelque chose comme cela [1,2,,4]

    Merci beaucoup pour l'aide, salutations

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    Je ne voudrais pas dire une betise mais lorsque tu cré une variable elle se "remplie" forcement avec des valeur quelquonque, donc tu as grand interet a y mettre des valeur, le mieux dans ton cas serait peut etre de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Myarray[1] :=  1;
    Myarray[2] :=  2;
    Myarray[3] :=  -1; //ou une toute autre valeur que tu choisira
    Myarray[4] :=  4;
    Tout depend de ce que tu veux faire de ces valeurs, donne plus de detail.
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 321
    Par défaut
    A vrai dire j'ai mis des 9999999, en espèrent de ne jamais atteindre ce chiffre!
    J'ai aussi posté juste pour savoir si c'était aussi possible de mettre une valeur symbolisant rien...
    un peu comment avec les array of string
    example:
    Myarray[3] := '';
    avec un sting on obtient ceci ['1','2','','4']
    donc j'ai pensé avec Integer on pouvait peut-être atteindre ceci [1,2,,4] !

  4. #4
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Tu peux aussi créer un tableau à 2 colonnes. La deuxième booleenne spécifiant si la valeur à été utilisée ou non (NULL) . SI il n'y à pas trop de valeurs tu peux travailler avec des variants.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Bonjour,

    vous avez un array of integer, et un integer est toujours rempli.

    soit vous utiliser une valeur indiquant vide (-1, high(integer), low(integer) etc.)

    soit vous n'utiliser pas des integer mais des variants. Les variants peuvent êtres mis a nul ou a une valeur entière donc null peut être la valeur vide.

    Attention, vous devrez impérativement vérifier si la valeur est null ( isNull(maVariant) ) avant d'essayer de l'utiliser comme integer. Mettre un null dans un integer plante.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 25
    Par défaut
    Bonjour,
    Pour info:
    Myarray[3] := '';
    '' est un string , vide mais un string quand même.

  7. #7
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par domlagagne
    '' est un string , vide mais un string quand même.
    Remarque pertinente, il y a surtout une occupation mémoire quasi null.
    En gros il manque à Delphi Win32 le type nullable de .NET.

    Quant aux variants c'est une trés bonne approche, qui auto-documente le code, mais elle se fera au détriment des performances.

    Peut être travailler avec des types pointeur afin d'utiliser la valeur Nil, mais là ce sera au détriment de la maintenance et de la lisibilité du code.

    L'ajout des types nullable, ça c'est une vrai demande à formuler auprès de Codegear

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 10/01/2012, 21h40
  2. [Débutant] comment mettre la valeur d'un pixel dans un vecteur?
    Par Imène_23 dans le forum Images
    Réponses: 1
    Dernier message: 20/06/2011, 16h33
  3. [TDBChart]Comment mettre les valeurs DANS les barres
    Par SubZero2 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/09/2008, 08h43
  4. Réponses: 5
    Dernier message: 12/06/2006, 12h05

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