Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Une boucle pour scanner des Tedit [ Archives / Divers ] (MasterJ)

mercredi 10 juillet 2002 à 15:53:45 | Une boucle pour scanner des Tedit

MasterJ

Bonjour tt le monde,

je me demandais s'il est possible de scanner plusieurs Tedit ayant un nom composé d'une racine similaire et d'un numéro ordinal a l'aide d'un for.

EX.: tab1,tab2,tab3,tab4,TEMP: Tedit;

for j := 0 to 4 do
begin
TEMP:= 'tab' + j;
if temp.text = '' then
(...)
end;

Merci
Jeff

mercredi 10 juillet 2002 à 18:01:36 | Re : Une boucle pour scanner des Tedit

PhGORMAND

Le seul moyent, est de créer un tableau de TEdit.

Exemple :


Var
TabEdit : Array[1..10] Of TEdit;


Procedure TForm1.CreeEdit(Sender : TObject);
Var
I : Integer;


Begin
For I:=1 to 10 Do
begin
TabEdit[1]:=TEdit.Create(Self);
With TabEdit[I] Do
begin
Top:=I + 20;
left:=10;
Parent:=Form1;
.....
Etc....
.....
end;
end;


Plus loin : TabEdit[1].Text := ' Toto';

Il faut penser aussi à détruire le tableau
quand on en a plus besoin :

For I:=1 to 10 Do TabEdit[I].free;

http://philippe.gormand.free.fr

Tu verras sur mon site WEB, dans la section
DELPHI\ Exemples la création d'un tableau de
boutons.
A+


-------------------------------
Réponse au message :
-------------------------------

Bonjour tt le monde,

je me demandais s'il est possible de scanner plusieurs Tedit ayant un nom composé d'une racine similaire et d'un numéro ordinal a l'aide d'un for.

EX.: tab1,tab2,tab3,tab4,TEMP: Tedit;

for j := 0 to 4 do
begin
TEMP:= 'tab' + j;
if temp.text = '' then
(...)
end;

Merci
Jeff

mercredi 10 juillet 2002 à 19:13:15 | Re : Une boucle pour scanner des Tedit

MasterJ

Salut phGORMAND
De cette facon, je ne peux pas utiliser mes Tedit deja creer. Y aurait-il une facon d'utiliser mes Tedit car je ai exactement 50 sur lequelles je dois faire du traitement. Ils sont répartient sur 5 onglets.

Merci
Jeff



-------------------------------
Réponse au message :
-------------------------------

Le seul moyent, est de créer un tableau de TEdit.

Exemple :


Var
TabEdit : Array[1..10] Of TEdit;


Procedure TForm1.CreeEdit(Sender : TObject);
Var
I : Integer;


Begin
For I:=1 to 10 Do
begin
TabEdit[1]:=TEdit.Create(Self);
With TabEdit[I] Do
begin
Top:=I + 20;
left:=10;
Parent:=Form1;
.....
Etc....
.....
end;
end;


Plus loin : TabEdit[1].Text := ' Toto';

Il faut penser aussi à détruire le tableau
quand on en a plus besoin :

For I:=1 to 10 Do TabEdit[I].free;

http://philippe.gormand.free.fr

Tu verras sur mon site WEB, dans la section
DELPHI\ Exemples la création d'un tableau de
boutons.
A+


-------------------------------
Réponse au message :
-------------------------------

Bonjour tt le monde,

je me demandais s'il est possible de scanner plusieurs Tedit ayant un nom composé d'une racine similaire et d'un numéro ordinal a l'aide d'un for.

EX.: tab1,tab2,tab3,tab4,TEMP: Tedit;

for j := 0 to 4 do
begin
TEMP:= 'tab' + j;
if temp.text = '' then
(...)
end;

Merci
Jeff


mercredi 10 juillet 2002 à 21:09:01 | Re : Une boucle pour scanner des Tedit

garnotte

Salut MasterJ,

Tu peux faire ton itération avec la méthode FindComponent. Cette méthode attend que tu passes en paramètre le nom du composant à rechercher, comme dans l'exemple ci-dessous:

var
j :Integer;
c : TComponent;

for j := 0 to 4 do
begin
{ Récupérer le composant }
c := oMaForm.FindComponent( 'nom_du_composant' ++ StrToInt( j ) );

{ Maintenant, tu fais ton traitement avec c, sans oublier de le caster en TEdit pour ton problème }
TEdit( c ).Text := 'Salut bonhomme';
end;


J'espère que ça va t'aider.

Bonne journée!

-------------------------------
Réponse au message :
-------------------------------

Bonjour tt le monde,

je me demandais s'il est possible de scanner plusieurs Tedit ayant un nom composé d'une racine similaire et d'un numéro ordinal a l'aide d'un for.

EX.: tab1,tab2,tab3,tab4,TEMP: Tedit;

for j := 0 to 4 do
begin
TEMP:= 'tab' + j;
if temp.text = '' then
(...)
end;

Merci
Jeff

mercredi 10 juillet 2002 à 21:29:47 | Re : Une boucle pour scanner des Tedit

Manu93

Je veux juste corriger une petite erreur de garnotte.

c := oMaForm.FindComponent( 'nom_du_composant' ++ StrToInt( j ) );

IL faut remplacer le StrToInt par IntToStr.
Et ca marchera


-------------------------------
Réponse au message :
-------------------------------

Salut phGORMAND
De cette facon, je ne peux pas utiliser mes Tedit deja creer. Y aurait-il une facon d'utiliser mes Tedit car je ai exactement 50 sur lequelles je dois faire du traitement. Ils sont répartient sur 5 onglets.

Merci
Jeff



-------------------------------
Réponse au message :
-------------------------------

Le seul moyent, est de créer un tableau de TEdit.

Exemple :


Var
TabEdit : Array[1..10] Of TEdit;


Procedure TForm1.CreeEdit(Sender : TObject);
Var
I : Integer;


Begin
For I:=1 to 10 Do
begin
TabEdit[1]:=TEdit.Create(Self);
With TabEdit[I] Do
begin
Top:=I + 20;
left:=10;
Parent:=Form1;
.....
Etc....
.....
end;
end;


Plus loin : TabEdit[1].Text := ' Toto';

Il faut penser aussi à détruire le tableau
quand on en a plus besoin :

For I:=1 to 10 Do TabEdit[I].free;

http://philippe.gormand.free.fr

Tu verras sur mon site WEB, dans la section
DELPHI\ Exemples la création d'un tableau de
boutons.
A+


-------------------------------
Réponse au message :
-------------------------------

Bonjour tt le monde,

je me demandais s'il est possible de scanner plusieurs Tedit ayant un nom composé d'une racine similaire et d'un numéro ordinal a l'aide d'un for.

EX.: tab1,tab2,tab3,tab4,TEMP: Tedit;

for j := 0 to 4 do
begin
TEMP:= 'tab' + j;
if temp.text = '' then
(...)
end;

Merci
Jeff



mercredi 10 juillet 2002 à 21:49:32 | Re : Une boucle pour scanner des Tedit

MasterJ

Merci Garnotte

C'est exactement ce que je voulais et cela fonctionne a la perfection.

Une petite correction s'impose !!!
Dans la ligne suivante :

c := oMaForm.FindComponent( 'nom_du_composant' ++ StrToInt( j ) );

il faut caster j dans un string avec inttostr() et pour concaténer on utilise seulement un + donc ca donne ceci :

c := MaForm.FindComponent( 'nom_du_composant' + IntToStr( j ) );

Et le code fonctionne a merveille

@later
Jeff



-------------------------------
Réponse au message :
-------------------------------

Salut MasterJ,

Tu peux faire ton itération avec la méthode FindComponent. Cette méthode attend que tu passes en paramètre le nom du composant à rechercher, comme dans l'exemple ci-dessous:

var
j :Integer;
c : TComponent;

for j := 0 to 4 do
begin
{ Récupérer le composant }
c := oMaForm.FindComponent( 'nom_du_composant' ++ StrToInt( j ) );

{ Maintenant, tu fais ton traitement avec c, sans oublier de le caster en TEdit pour ton problème }
TEdit( c ).Text := 'Salut bonhomme';
end;


J'espère que ça va t'aider.

Bonne journée!

-------------------------------
Réponse au message :
-------------------------------

Bonjour tt le monde,

je me demandais s'il est possible de scanner plusieurs Tedit ayant un nom composé d'une racine similaire et d'un numéro ordinal a l'aide d'un for.

EX.: tab1,tab2,tab3,tab4,TEMP: Tedit;

for j := 0 to 4 do
begin
TEMP:= 'tab' + j;
if temp.text = '' then
(...)
end;

Merci
Jeff


mercredi 10 juillet 2002 à 22:49:43 | Re : Une boucle pour scanner des Tedit

garnotte


Ah, je pense que j'me suis accroché dans le + deux fois. Je me suis gourré aussi dans le nom de la fonction à appeler. C'est ça qui arrive quand tu n'essaie pas de compiler ton code avant de l'envoyer à quelqu'un!


-------------------------------
Réponse au message :
-------------------------------

Merci Garnotte

C'est exactement ce que je voulais et cela fonctionne a la perfection.

Une petite correction s'impose !!!
Dans la ligne suivante :

c := oMaForm.FindComponent( 'nom_du_composant' ++ StrToInt( j ) );

il faut caster j dans un string avec inttostr() et pour concaténer on utilise seulement un + donc ca donne ceci :

c := MaForm.FindComponent( 'nom_du_composant' + IntToStr( j ) );

Et le code fonctionne a merveille

@later
Jeff



-------------------------------
Réponse au message :
-------------------------------

Salut MasterJ,

Tu peux faire ton itération avec la méthode FindComponent. Cette méthode attend que tu passes en paramètre le nom du composant à rechercher, comme dans l'exemple ci-dessous:

var
j :Integer;
c : TComponent;

for j := 0 to 4 do
begin
{ Récupérer le composant }
c := oMaForm.FindComponent( 'nom_du_composant' ++ StrToInt( j ) );

{ Maintenant, tu fais ton traitement avec c, sans oublier de le caster en TEdit pour ton problème }
TEdit( c ).Text := 'Salut bonhomme';
end;


J'espère que ça va t'aider.

Bonne journée!

-------------------------------
Réponse au message :
-------------------------------

Bonjour tt le monde,

je me demandais s'il est possible de scanner plusieurs Tedit ayant un nom composé d'une racine similaire et d'un numéro ordinal a l'aide d'un for.

EX.: tab1,tab2,tab3,tab4,TEMP: Tedit;

for j := 0 to 4 do
begin
TEMP:= 'tab' + j;
if temp.text = '' then
(...)
end;

Merci
Jeff





Cette discussion est classé dans : boucle, temp, for, scanner, tedit


Répondre à ce message

Sujets en rapport avec ce message

Probleme sur delphie console! [ par Good_Stuf ] Je voudrais savoir comment faire un tableau multidimensionnel a deux colone qui s'incrémente tout seul avec une boucle FOR et ce biensur en applicatio Sortir d'une boucle for [ par Filipe35 ] Salut, J'ai une boucle for, le code (ke je souhaiterai) est le suivant; For conditionBEGIN  If temp := 1 then Exit For  (&nb boucle incorrecte [ par POLCAP ] Salut, je rencontre un problème avec une boucle For. Dans une function j'initialise une collection et je la parcours avec ma boucle for , jusque la contrôle de composants par une boucle [ par soulet ] j'ai plusieurs barres de défilement nommées sb1,sb2,sb3 etc queje veux controler par une boucle for.genre for x:= 1 to 3 dosb(x).position:=0comment pu vérification d'une chaîne [ par stevenleferran ] Bonjour,j'ai un problème avec un morceau de code en Turbo Pascal.Pourriez-vous m'aider?Le programme rentre dans une boulce while puis dans la boucle f peut-on sauter une itération dans une boucle [ par olator ] Est il possible en delphi dans sauter une itération dans une boucle for dans certain condition.exempleFor i:= 1 to 7 do(si variable x>6 passe a l'itér Débutant : Problème boucle for... [ par the.snake.plisken ] Je débute et j'aimerais faire une boucle comme en visual basic du type : for a = 1 to 300 step 3 mais sous delphi, je n'arrive pas à placer le step qu Boucle FOR avec un pas defferent [ par apz ] Salut, Comment specifier un pas a pas dans la boucle For. For i:=1 to 10 ---> avec un (STEP) pas=2 i: 1, 3, 5, 7, 9 l'inverse de For i:=10 to 1 Downto COMMENT FAIRE UNE BOUCLE FOR ? [ par LeKamé ] salut !!jutilise delphi 5 !!et je voudrait savoir comment on peut faire un boucle qui traite sur la valeur asciid'une phraseexemple: je déclare une va Initialisation d'une variable de boucle FOR ? [ par kbogos ] Salut à tous !!Je souhaiterai savoir s'il est possible de déclarer une variable dans une boucle for ? en delphi il me semble que l'on peut seulement


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.