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

C++Builder Discussion :

Sans effet: StringGrid1->Cells[1][1][2] = c ?


Sujet :

C++Builder

  1. #1
    Membre habitué
    Homme Profil pro
    Chercheur génie électrique
    Inscrit en
    Mai 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur génie électrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Points : 136
    Points
    136
    Par défaut Sans effet: StringGrid1->Cells[1][1][2] = c ?
    Je souhaite changer un caractère dans un cellule de StringGrid1 pour convertir le séparateur décimal:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char c='.';
    StringGrid1->Cells[1][1] = "5,025"; 
    StringGrid1->Cells[1][1][2] = '.';
    Mais sans aucun effet.

    Qulqu'un peut m'aider ?
    Merci
    Xavier

  2. #2
    Membre chevronné
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Points : 1 911
    Points
    1 911
    Par défaut
    Il faut passer par un AnsiString intermédiaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    AnsiString A;
    StringGrid1->Cells[1][1]="5,025";
    A=StringGrid1->Cells[1][1];
    A[2]='.';
    StringGrid1->Cells[1][1]=A;
    Même si StringGrid1->Cells[1][1] est un AnsiString, vous ne bénéficiez des possibilités dans AnsiString qu'après avoir fait passer la cellule dans un AnsiString, que ce soit l'accès à un caractère particulier via une syntaxe du type A[n] ou toute méthode M via A.M (ou A.P pour une propriété de l'AnsiString A). Sans être spécialiste des questions de compilation, je suppose que le problème vient d'un conflit entre -> et . car si C->A est un AnsiString d'un composant C, on accéderait à une propriété P via une syntaxe du type C->A.P avec conflit entre -> et . (c'est mon interprétation). L'expérience montre qu'il faut donc décomposer en mettant d'abord C->A dans un AnsiString puis ensuite accéder à toutes les méthodes et propriétés de l'AnsiString en utilisant le point (A.M ou A.P) sinon le résultat est aléatoire.

    À bientôt
    Gilles

  3. #3
    Membre régulier
    Avatar de bebeours
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 103
    Points : 123
    Points
    123
    Par défaut
    Il faut utiliser la méthode de Gilles Louïse car je pense que la méthode Cells[1][1] renvoie une copie de l'AnsiString contenue dans le TStringGrid et non un pointeur. Donc forcément si tu travailles sur la copie, il n'y a pas d'effet sur l'original.

  4. #4
    Membre habitué
    Homme Profil pro
    Chercheur génie électrique
    Inscrit en
    Mai 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur génie électrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Points : 136
    Points
    136
    Par défaut
    Merci tous les deux!

    Xavier

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

Discussions similaires

  1. lien sans effet
    Par cisqo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/08/2006, 18h14
  2. [forms 6i]execute_query sans effet
    Par pjcejbpojo dans le forum Forms
    Réponses: 11
    Dernier message: 28/04/2006, 17h08
  3. [AJAX] Fontion JS sans effet
    Par LoK dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2006, 14h43
  4. Combo sans effet
    Par GBW067 dans le forum Sécurité
    Réponses: 5
    Dernier message: 29/01/2006, 07h48
  5. Requête UPDATE sans effet
    Par Death83 dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/01/2006, 01h23

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