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 :

identification de mon edit


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    44
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 44
    Par d�faut identification de mon edit
    salut
    i'ai un probleme d'itentifier mon edit apres la cr�ation voila mon code que je travaille sur lui il est bien executer
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    int x=20;
     TEdit*ed ;
     TEdit*ad ;
     TLabel *lb ;
     TLabel *lab;
     int k;
     for( k=0;k<Edit1->Text.ToInt();k++)
     {
        ed=new TEdit(Panel1);
        ad=new TEdit(Panel1);
        lb=new TLabel(Panel1);
        lab=new TLabel(Panel1);
        ed->Parent=Panel1  ;
        ad->Parent=Panel1  ;
        lb->Parent=Panel1  ;
        lab->Parent=Panel1  ;
        ed->Name="myed" +IntToStr(k+1);
        ad->Name="myad" +IntToStr(k+1);
        lb->Name="mylb" +IntToStr(k+1);
        lab->Name="mylab" +IntToStr(k+1);
        ed->Width=100;
        ad->Width=100;
        ed->Text="";
        ad->Text="";
        lb->Caption="x =" + IntToStr(k+1);
         lab->Caption="y =" + IntToStr(k+1);
        ed->Left=x;
        ad->Left=x+120;
        lb->Left=x-15 ;
        lab->Left=x+120-15 ;
        ed->Top=x+30*k;
        lb->Top=x+30*k;
        ad->Top=x+30*k;
        lab->Top=x+30*k;
     }
    mais ares que je veux l'identifier j'ai pas trouver la solution
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    int s,p;
    for(k=0;k<Edit1->Text.ToInt();k++)
       p= myad IntToStr(k+1+1)->Text.ToInt() -myad IntToStr(k+1-1)->Text.ToInt
    il ne travaille pas

  2. #2
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par d�faut
    salu aboishak,

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    p= myad IntToStr(k+1+1)->Text.ToInt() -myad IntToStr(k+1-1)->Text.ToInt
    ton 'myad' c'est quoi au juste?

  3. #3
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par d�faut
    Peut etre avec FindComponent :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    p = StrToIntDef( ((TEdit*) FindComponent("myad" + IntToStr(k+1+1)))->Text, -1 )
      - StrToIntDef( ((TEdit*) FindComponent("myad" + IntToStr(k+1-1)))->Text, -1 )

  4. #4
    Membre confirm� Avatar de Poilou
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    59
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 59
    Par d�faut
    Bonjour,

    il y a la possibilit� de passer par une TList

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    int x=20;
     TList* List_ed = new TList;
     TList* List_ad = new TList;
     
     TEdit*ed ;
     TEdit*ad ;
     TLabel *lb ;
     TLabel *lab;
     int k;
     for( k=0;k<Edit1->Text.ToInt();k++)
     {
        ed=new TEdit(Panel1);
        ad=new TEdit(Panel1);
        lb=new TLabel(Panel1);
        lab=new TLabel(Panel1);
        ed->Parent=Panel1  ;
        ad->Parent=Panel1  ;
        lb->Parent=Panel1  ;
        lab->Parent=Panel1  ;
        ed->Name="myed" +IntToStr(k+1);
        ad->Name="myad" +IntToStr(k+1);
        lb->Name="mylb" +IntToStr(k+1);
        lab->Name="mylab" +IntToStr(k+1);
        ed->Width=100;
        ad->Width=100;
        ed->Text="";
        ad->Text="";
        lb->Caption="x =" + IntToStr(k+1);
         lab->Caption="y =" + IntToStr(k+1);
        ed->Left=x;
        ad->Left=x+120;
        lb->Left=x-15 ;
        lab->Left=x+120-15 ;
        ed->Top=x+30*k;
        lb->Top=x+30*k;
        ad->Top=x+30*k;
        lab->Top=x+30*k;
     
         //Sauvegarde des pointeurs dans les listes
        List_ed->Add(ed);
        List_ad->Add(ad);
     
     }
    Ensuite pour rappeler le bon edit :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    int s,p;
    for(k=0;k<Edit1->Text.ToInt();k++)
       p= ((TEdit)List_ad->Items[k+1+1])->Text.ToInt() - ((TEdit)List_ad->Items[k])->Text.ToInt();
    Il faut par contre que les lists soit d�clar�es en global et attention lors du delete, il faut vider les list avant de deleter le pointeur !

    En esp�rant que �a vous aide

    PS : j'ai pas tester le code, il doit y avoir des erreurs de syntaxe.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 412
    Par d�faut
    Salut !

    ed=new TEdit(Panel1);
    ad=new TEdit(Panel1);
    lb=new TLabel(Panel1);
    lab=new TLabel(Panel1);
    Panel1 est propri�taire des TEdit, par cons�quent on peut se servir de Components.
    Si Panel1 n'est propri�taire que de ces objets l�, dans ce cas, on peut consid�rer que Components refl�te l'ordre de cr�ation des objets.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    ((TEdit*)Panel1->Components[0]) <<-- ed
    ((TEdit*)Panel1->Components[1]) <<-- ad
    ((TLabel*)Panel1->Components[2]) <<-- lb
    ((TLabel*)Panel1->Components[3]) <<-- lab
    Cette mani�re de r�diger peut sembler longue mais reste valable, en tout cas beaucoup plus pertinente (et surtout beaucoup plus rapide en terme d'ex�cution) que FindComponent.
    A ce stade, on n'a pas besoin de donner de nom aux composants cr��s; du point de vue dynamique cel� n'a pas de sens !

    Par contre, il ne faut pas h�siter � obj�tiser (avec BCB on a tout ce qu'il faut sous la main pour l'envisager) !
    On peut d�velopper une classe d�riv�e de TPanel qui se chargera de cr�er les objets.
    Et dans ce cas, rien n'emp�che de d�finir, pour cette classe, un pointeur par objet !
    Cel� permet d'avoit une meilleure vision de ce que l'on fait, sans parler d'une meilleure accessibilit� aux objets eux-m�mes !
    Au fond, c'est l'art et la mani�re de pr�parer le d�veloppement : soit on d�veloppe � la vol�e (jusqu'� se trouver le dos au mur), soit on obj�tise (pour �loigner le mur) !

    A plus !

  6. #6
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    44
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 44
    Par d�faut
    j'ai deux probleme le premier c'est que je n'arive pas rendre k+1+1 a une valeur donne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    int p,m,s=0;
     for( int k=0;k<Edit1->Text.ToInt();k++)
     {
     if(k+1+1>  Edit1->Text.ToInt())
     {
     k+1+1=1;
     
    p = StrToIntDef( ((TEdit*) FindComponent("myad" + IntToStr(k+1+1)))->Text, -1 )
      - StrToIntDef( ((TEdit*) FindComponent("myad" + IntToStr(k+1-1)))->Text, -1 )  ;
     m=(StrToIntDef (((TEdit*) FindComponent("myed" +IntToStr(k+1)))->Text, -1))*p;
     Edit2->Text=IntToStr(s+m);
     }
     if (k+1-1=0)
     {
     (k+1-1)=Edit1->Text.ToInt();
     p = StrToIntDef( ((TEdit*) FindComponent("myad" + IntToStr(k+1+1)))->Text, -1 )
      - StrToIntDef( ((TEdit*) FindComponent("myad" + IntToStr(k+1-1)))->Text, -1 )  ;
     m=(StrToIntDef (((TEdit*) FindComponent("myed" +IntToStr(k+1)))->Text, -1))*p;
     Edit2->Text=IntToStr(s+m);
     }
     else
     {
     p = StrToIntDef( ((TEdit*) FindComponent("myad" + IntToStr(k+1+1)))->Text, -1 )
      - StrToIntDef( ((TEdit*) FindComponent("myad" + IntToStr(k+1-1)))->Text, -1 )  ;
     m=(StrToIntDef (((TEdit*) FindComponent("myed" +IntToStr(k+1)))->Text, -1))*p;
     Edit2->Text=IntToStr(s+m);
     }
     }
    le deuxieme c'est comment j'arive a redonner une 2ieme valeur a edit1 pour r�ecr� les composant

Discussions similaires

  1. [D�butant] ecrire en arabe sur mon edit dans mon interface
    Par roubase dans le forum C++Builder
    R�ponses: 2
    Dernier message: 26/01/2012, 11h04
  2. Identification de mon syst�me : besoin d'aide
    Par Goffer dans le forum Math�matiques
    R�ponses: 0
    Dernier message: 23/05/2010, 19h27
  3. [Edit] Aligner mon texte � droite
    Par touhami dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 20/05/2008, 20h14
  4. Demander une identification sur mon site
    Par vxe01 dans le forum S�curit�
    R�ponses: 3
    Dernier message: 29/06/2007, 13h49
  5. cacher curseur sur mon edit?
    Par kheldoun ahmed dans le forum Delphi
    R�ponses: 3
    Dernier message: 19/05/2007, 20h50

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