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 :

[Borland C++ Builder 6] Comment utiliser strcpy [Débutant(e)]


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Points : 58
    Points
    58
    Par défaut [Borland C++ Builder 6] Comment utiliser strcpy
    Bonjour,

    Je dois faire un projet pour l'école dans lequel je dois inserer deux edit box puis quand l'utilisateur écris quelque chose sur le premier edit box et appuie sur "enter", le message qu'il a écrit devrait se recopier sur le deuxieme Edit Box. Le truc c'est que je dois faire ca avec une fonction char. Puis j'ai trouver la fonction strcpy() : Copie le contenue d'ne châine dans la chaîne cible. Mais comment je dois faire pour pouvoir utiliser ca ?

    J'ai essayer comme ca mais ca marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void __fastcall TfmMain::Button1Click(TObject *Sender)
    {
    int main(void);
     
       char monText[10];
       char *str1 = "" ;
     
       edSaisie->Text = str1 ;
       strcpy(monText, str1);
       printf("%s\n", monText);
     
    edTextIntroduit->Text = monText ;
    }

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Les composants VCL manipulent des AnsiString, il n'y a aucune raison de repasser par des tableaux de char.

    Pourquoi pas simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    edTextIntroduit->Text = edSaisie->Text;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Points : 58
    Points
    58
    Par défaut
    Le truc c'est que je dois faire ce projet pour m'entrainer avec ces fonctions.

    Mais maintenant comment je fais pour que le text se recopie quand j'appuie sur enter et pas sur le btn ?

    Merci

  4. #4
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut
    Salut,
    tu as un évennements OnKeyPress, il te suffit de tester si c'est "Entrer". Il se déclenche avant que la touche pressé soit inscrite dans le Edit et te donne la touche pressé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(Key == VK_RETURN)
        edTextIntroduit->Text = edSaisie->Text;

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Citation Envoyé par El-Diablo-
    Le truc c'est que je dois faire ce projet pour m'entrainer avec ces fonctions.
    Tu es sur que tu dois utiliser C++ BUilder ?
    Parce que sous Builder on n'utilise strcpy qu'avec des API externes en général (Windows ou autre). Toute la VCL travaille avec des AnsiString qui sont bien plus faciles à manipuler.
    Neilos

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    Oui je dois faire avec C++ Builder. Mais bon tampis.

    Maintenant j'aie cnore un deuxieme projet a faire, qui consiste a faire un edit box dans le quel on peut tapper du texte puis faire deux boutons un pour avancer et pour reculer. Je m'explique: Si j'écris bonjour dans l'edit box, quand j'appuie sur le bouton avant une fois il y aurait le caractere "b" qui apparait dans un autre edit box, puis si j'appui encore une fois sur avancer il y aurait le "o" sur l'edit box.

    Quelqu'un sais comment pourrais-je faire ca ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Points : 58
    Points
    58
    Par défaut
    Au fait encore une question, si je veux envoier un projet a quelqu'un qui n'as pas borland c++ builder, comment je fais ?

  8. #8
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut
    Sans vouloir jouer les rabajoies, sur le site de developpez il y a aussi une FAQ dans lequel beaucoup de points sont expliqué pour débuter avec C++ Builder.
    Tu peux aussi utiliser l'aide de C++ Builder en appuyant sur F1. Enfin, une dernière solution pour voir ce qu'il existe est de taper le nom du composant ou de la variable et de faire "->" ou "." pour voir les méthodes proposés.


    Pour ta question, les TEdit retournent une chaîne de type AnsiString (différentes des char*). Recherche plutôt de ce côté, tu peux recopier, de la même manière que tu l'as fait pour la chaîne entière, une partie de la chaîne avec la méthode SubString:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int index,count;
    AnsiString Texte = Edit1->Text;
    Texte.SubString(index, count);//à toi de voir les paramètres à rentrer
    index indique le numéro du carctère de début de la chaîne que tu veux récupérer, et Count le nombre de caractère.

    Attention, le premier caractère d'une AnsiString est l'indice 1 !! pas 0 comme pour les char*.

    Pour envoyer ton projet, recherche sur la FAQ ou le forum, ca a déjà été résolu.

  9. #9
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Citation Envoyé par El-Diablo-
    Au fait encore une question, si je veux envoier un projet a quelqu'un qui n'as pas borland c++ builder, comment je fais ?
    Envoie le fichier exécutable (exe). N'oublie pas de lire http://c.developpez.com/faq/bcb/?pag...bleindependant
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Je ne peux que reprendre ce qu'à déjà dit bandy boy.
    D'une part avant de poster tu dois chercher sur developpez.com. Dans les FAQs puis dans les forum sans oublier le site lui même.

    Si tu ne trouve pas alors tu peux ouvrir un sujet sur le forum.
    Cependant évite de poser plusieurs questions concernant des problématiques différentes dans le même sujet. Tu devrais plutôt ouvrir un sujet par problème.

    Merci d'avance !
    Neilos

Discussions similaires

  1. Borland C Builder : comment compiler ?
    Par genetin dans le forum C++Builder
    Réponses: 4
    Dernier message: 23/10/2007, 11h26
  2. Réponses: 18
    Dernier message: 25/06/2007, 09h45
  3. Réponses: 10
    Dernier message: 27/03/2007, 21h40
  4. [C++ builder] Comment utiliser un générateur d'ID?
    Par Nicodemus dans le forum Débuter
    Réponses: 2
    Dernier message: 17/05/2004, 13h25

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