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 : Récupérer toutes les valeurs de différentes textbox avec une boucle? [ Archives / J'AI BESOIN D'AIDE !!!! :O ] (Nargzul)

lundi 29 août 2005 à 08:24:56 | Récupérer toutes les valeurs de différentes textbox avec une boucle?

Nargzul

Bonjour,

J'ai une 20 aine de textbox, qui ont leur nom formatées pareil, sauf un chiffre à la fin.

Comment récupérer toutes ces textbox avec une boucle? On ma dit qu'il y avait une astuce, mais la personne en question ne se rappelait plus.

Parce qu'en plus, sur chaque textbox, je dois effectuer un controle...

Merci!



lundi 29 août 2005 à 09:15:36 | Composants bouclés

grandvizir

http://www.delphifr.com/forum.v2.aspx?ID=341071
http://www.delphifr.com/forum.v2.aspx?ID=394630


=============
Validez les réponses si ok...

ViewVite XP : HTML

lundi 29 août 2005 à 09:44:31 | Re : Récupérer toutes les valeurs de différentes textbox avec une boucle?

Nargzul


juste:

if Form1.Components[x] is TShape then

pour les champs Edit, ya quelquechose devant, style Tedit???

Merci   


lundi 29 août 2005 à 10:15:46 | Adaptation adaptative

grandvizir

L'exemple que je t'ai donné fonctionne avec TShape. Par analogie, ça marche avec tous les composants du moment qu'ils sont considérés comme ce qu'ils sont.

var Edt : TEdit;
begin
  Edt:=nil;
  if Form1.Components[IndexSouhaité] is TEdit then
    begin
      Edt:=Form1.Components[IndexSouhaité] as TEdit;
      //ensuite, Edt se comporte comme si tu avais Edit1, Edit2, ... ou Edit20
    end;
end;


=============
Validez les réponses si ok...

ViewVite XP : HTML

lundi 29 août 2005 à 11:22:07 | Re : Récupérer toutes les valeurs de différentes textbox avec une boucle?

Nargzul

ok, et comment l'on sait que mon "edit" qui se nomme a2  a l'index 2?

lundi 29 août 2005 à 11:38:27 | Suite de l'analyse

grandvizir

var Edt : TEdit;
    NomDuComposant : string;
begin
  Edt:=nil;
  if Form1.Components[IndexSouhaité] is TEdit then
    begin
      Edt:=Form1.Components[IndexSouhaité] as TEdit;
      NomDuComposant:=LowerCase(Edt.Name);
      if NomDuComposant='a2' then
        {faire qqch} ;
    end;
end;

Ou même encore :

var Edt : TEdit;
    NumeroDuComposant : byte; //de 0 à 255
begin
  Edt:=nil;
  if Form1.Components[IndexSouhaité] is TEdit then
    begin
      Edt:=Form1.Components[IndexSouhaité] as TEdit;
      NumeroDuComposant:=StrToInt(Copy(Edt.Name,2,Length(Edt.Name))); //ne marche que pour un nom type "[UneLettre][UnNombre]"
      case NumeroDuComposant of
        0: {edit N°0} ;
        1: {edit N°1} ;
        [...]
      end;
    end;
end;


=============
Validez les réponses si ok...

ViewVite XP : HTML

lundi 29 août 2005 à 11:50:31 | Re : Récupérer toutes les valeurs de différentes textbox avec une boucle?

Nargzul


ouais mais si je dois mettre un select case pour chaque solution, ou un if pour chaque solution, j'y gagne plus grand chose... non?  


lundi 29 août 2005 à 12:36:52 | Défaut de langue

grandvizir

Je crois que tu ne vois pas l'astuce...

Le CASE que je viens juste de te donner sert si tu veux faire un traitement particulier sur un édit particulier. Mais du moment que la ligne Edt:=Form1.... est SUCCESSFUL, que Edt pointe sur Edit1, Edit2 ou le reste, son comportement sera celui du composant désigné par Form1.Machin

Prenons la ligne...
    Edt:=Form1.Components[IndexSouhaité] as TEdit;
...et supposons que Form1.Components[IndexSouhaité]=Edit4.

Alors, si tu fais par exemple: Edt.Color:=clBlack, c'est comme si tu faisais Edit4.Color:=clBlack.

Edt n'est qu'un composant virtuel qui se fait passer pour le composant qu'il désigne.

Ce que je comprend dans ta question, c'est que tu veux récupérer l'objet d'après son nom. Voilà, c'est fait ! Tu n'as plus qu'à considérer le composant dont tu connais le nom via la variable Edt.

=============
Validez les réponses si ok...

ViewVite XP : HTML

lundi 29 août 2005 à 14:21:25 | Re : Récupérer toutes les valeurs de différentes textbox avec une boucle?

Nargzul


oui mais je dois mettre les différents a1, a2---> a20 dans un tableau nommé a[] et ayant les meme identifiants, ca eut dire que je dois faire 20 différents cas dans le select case


lundi 29 août 2005 à 14:32:47 | Aspirine demandée !!!!

grandvizir

Réponse acceptée !
Je te code en live un truc, car çà devient sans fin cette histoire.

var i : integer;
    Cp : TComponent;
    Tbl : array[1..20] of string;
begin
  for i:=1 to 20 do
    begin
      Cp:=Form1.FindComponent('a'+IntToStr(i));
      if Cp is TEdit then
        Tbl[i]:=(Cp as TEdit).Text;
    end;
end;



=============
Validez les réponses si ok...

ViewVite XP : HTML


1 2

Cette discussion est classé dans : textbox, boucle, récupérer, valeurs, différentes


Répondre à ce message

Sujets en rapport avec ce message

Récupérer infos Fichier ini [ par Arthemis ] Bonjour, je débute en Pascal sur Délphi 6.0.Voilà j'arrive à récupérer les informations des valeurs entre [] dans un fichier .ini mais je voudrais qu' attribuer des valeurs aléatoires toutes différentes [ par john726 ] bonjour a tous, j'ai un pti projet scolaire en delphi, mais le probleme c'est que je n'arrive pas a coder deux choses. Dans la premiere, j'ai besoin d Légende Tchart Delphi [ par floppy41 ] Bonjour, j'ai créer au sein de mon entreprise un petit exécutable qui va chercher des valeurs dans un fichier texte pour les générer par la suite sous récupérer le nom (ou le handle) de la fenêtre actuellement active du windows) [ par bazbazus ] salut a tous je veut récupérer le nom (ou le handle) de la fenêtre actuellement active du windows)? . j'ai chercher sur le site et jai pas trouver. Drawgrid insertion images (Boucles imbriquées) [ par djzeg ] Bonjour a tous Je suis actuellement en train de creer un logiciel utilisant une draw grid  pour  inserer des images le probleme est dans l'insertion d J'ai une question de méthodologie [ par vieuxpere ] Bonjour,J'ai le code suivant qui marche très bien, le problème c'est que j'ai besoin de faire des requêtes SQL dans une boucle et dans la boucle de la [Ada] Tri de liste (pointeurs) [ par dj_titeuf ] Bonsoir,Je cherche à réaliser un petit programme, dont voici les spécificités:- Saisir des valeurs entières comprises dans un certain intervalle fourn Joystick [ par Nicolas___ ] Bonjour , j'ai une question par rapport a l'utilisation d'un joystick en Delphi  : je me sers de JOYINFOEX pour récupérer les informations de mon Joy la boucle for [ par daysara21 ] salut j'ai un probleme dans mon application: j'ai une erreur dans cette procedure La variable de contrôle de boucle FOR doit être une variable local t edit [ par nmacines ] bonjour a tous je developpe une ptitt application et je souhaite savoir kelke truc  comment faire pour limiter certaines valeurs dans un t edit ?  c'e


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,374 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é.