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++ Discussion :

Ecriture d'un Char avec caractères de controle dans un StringGrid


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 23
    Points
    23
    Par défaut Ecriture d'un Char avec caractères de controle dans un StringGrid
    Bonjour,

    Langage: C++ Builder 6.

    je cherche un moyen d'écrire une ligne de texte (char) dans une case d'un TStringGrid afin de pouvoir examiner tous les caractères de cette ligne et plus particulièrement les caractères de contrôle (c'est là le problème) tels que \t ou \r (par exemple).

    Peut-être n'est-ce pas possible (?).

    Merci par avance pour toute aide.

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Et bien, tu lis la documentation de TStringGrid pour chercher un constructeur, un opérateur de copie (=) ou une fonction du type assign
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    Merci pour cette réponse rapide. Pourrais-tu m'en dire un peu plus, je ne programme pas depuis longtemps.

  4. #4
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    En fait, non, car je ne sais même pas ce qu'est un TStringGrid, ni d'où ca vient.
    Je soupçonne vaguement du CBuilder, mais je n'oserai l'affirmer.

    Quoiqu'il en soit, mon conseil reste valable. Avant d'utiliser quelque chose qu'on ne connait pas, on se renseigne dessus.
    Par exemple, avant de sauter en parachute, j'apprends à l'ouvrir et à bien sortir de l'avion. Ce qui est indiqué dans les notices d'évacuation
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    C'est un plaisir de recevoir ce genre de réponse constructive qui aide beaucoup, sans aucun sarcasme.

    Merci beaucoup.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    C'est un plaisir de recevoir ce genre de réponse constructive qui aide beaucoup, sans aucun sarcasme.
    T'aurais préféré un simple RTFM ?

    En plus, t'es débutant et tu prends un truc antique que plus personne de raisonnable n'utilise depuis plus de 10ans, tu cherches pas à te simplifier la vie (ni la notre).

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Faut pas pousser, sans connaître rien à C++ Builder ni ce fameux TStringGrid, Google lui en sait pas mal, à condition de lui demander
    http://lmgtfy.com/?q=c%2B%2B+builder...nggrid+example
    Dont un résultat à la scrollbar bien petite et sûrement plein d'infos

    je cherche un moyen d'écrire une ligne de texte (char) dans une case d'un TStringGrid afin de pouvoir examiner tous les caractères de cette ligne et plus particulièrement les caractères de contrôle (c'est là le problème) tels que \t ou \r (par exemple).
    C'est quoi le problème ? Ta phrase n'est pas claire.
    Tu sais pas insérer une ligne dans ton truc ?
    Tu sais pas récupérer une ligne de ton truc ?
    Tu sais pas parcourir une string caractère par caractère ?
    Ou tu ne sais pas écrire '\t' ou '\r' pour reconnaître un caractère spécial ?
    Ta question n'a rien de clair, mais y'a plus que fort à parier que n'importe quelle doc te fournira les infos, parce que ça parait assez trivial comme utilisation.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    La première réponse était quand même bien conne: La question est "peut-on faire du multi-ligne avec TStringGrid" et la première réponse "cherche un exemple basique sur TStringGrid pour faire des trucs ordinaires."
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Je pense que vous n 'avez pas compris sa question.

    Voici un exemple de ce l'auteur de la discussion souhaite faire:

    Si char a[100]="1.2\t2.3\t6.6\r\n"
    et char b[100]="2.3\t4.3\t9.6\r\n"

    Il veut afficher ces chaines de caractère sans aucune interprétation des tabulations et des retours chariot dans un tableau en utilisant un Tstingrid soit visuellement:
    1.2\t2.3\t6.6\r\n
    2.3\t4.3\t9.6\r\n

    Personnellement je n ai pas la réponse. La réponse n'est pas aussi facile à trouver que certains le disent en cherchant sur Google ou autres.

    Le problème n'est pas Borland (que certains disent obsolètes (la version 6)), avec QT par exemple comment pourrait-on le faire en utilisant un QTableView?

    Bref il est facile de critiquer sans apporter de réponse.

  10. #10
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    "\n", par exemple, devient "\\n" (soit { '\\', 'n', '\0' }). C'est du search and replace, je n'y vois pas grande difficulté.

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Le remplacement de caractères dans une string c'est... connu et effectué depuis des décennies ?
    D'ailleurs ce forum est floodée de ce genre de questions, généralement bien plus claires à comprendre, et est muni d'une fonction recheche
    Au hasard sur la première page de résultats http://www.developpez.net/forums/d15...us-chaine-cpp/
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  12. #12
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Effectivement qu'il est possible de faire du search and replace.. et que c est tres facile à coder par cette méthode.


    Mais cela devient très lent si on veut traiter des centaines de méga de données.. d'où la question si on ne peut pas faire autrement..

    L'auteur du sujet veut traiter des résultats provenant de signaux temporelles. Suivant la personne qui lui passe, le formatage est diffèrent (ca serait trop facile sinon).... Il est fréquent qu'il est 700-900 Mo pour un fichier...


    Sachant que vu le nombre de caractère de contrôle possible si on doit les remplacer tous... ca peut prendre un certain temps.....

  13. #13
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Le plus gros problème, c'est l'augmentation de taille qui vient avec l'échappement.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  14. #14
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Visiblement tu as accès à des précisions sur le cas d'utilisation de l'OP qui nous sont inconnues.. Et comment sait-on que c'est lent ? Où sont les résultats du profiling ?

    De toute manière il n'y a pas vraiment le choix, à un endroit ou un autre du pipeline de sortie il faut bien analyser la chaîne et intervenir.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/08/2011, 22h49
  2. [Débutant][char]incrémenter caractère
    Par k4eve dans le forum Langage
    Réponses: 5
    Dernier message: 08/08/2007, 12h54
  3. Gros bug SQL Server avec caractère "²"
    Par Oluha dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 26/05/2005, 14h31
  4. Réponses: 3
    Dernier message: 11/10/2004, 17h26
  5. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12

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