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' Formulaire dans Word et Delphi7 [ par urza45 ] Bonjour,Après avoir consulter les forums, je n'ai pas trouvé de réponse qui me convienne pour mon petit problème.Voilà, j'ai créé un formulaire dans W DBGrid et Edit??? [ par damomospike ] Bonjour,j'ai créé une base en paradox7. J'utilise un DBGrid pour visualiser cette base. J'aimerais pouvoir entrer des valeurs dans ma base de donnés q pb de timer [ par exyacc ] voila le pb...j'utilise un timer et fais une boucle de 90000 pour simuler un traitement quelconque (genre requete,etc.), le timer me sert a faire avan récupérer une entrée en mode console [ par hendrix ] Bonjour à tousJe cherche à faire un petit programme simple en mode console, je voudrais récupérer le résultat en entrée dans le style suivant:echo "te Récupérer le message d'accueil (Greeting) d'un FTP [ par Lineath ] J'aimerai savoir comment récupérer le message d'accueil pouvant être mis sur certains serveurs FTP du style :"230-Bienvenue sur ce serveur..." Où 230 editbox [ par valkyrie ] Bonjour a tous les gensj ai une question docteurj ai une fenetre avec plein d editboxes et j aimerais pouvoir sauvegarder les valeurs qu il y a a l in Récupérer la date du poste serveur à partir d'un poste client [ par Mezerette ] Bonjour,j'ai une application, développée en Delphi 3, située sur un poste serveur et que j'execute à partir d'un poste client. J'aimerai récupérer la boucle avec indice des objets [ par neysand ] Comment peut-on réaliser une boucle avec les indices d'un panel?par exemple:for i:=1 to 52panel(i).borderstyle:=bssingle...je sais que panel(i) ne mar Query avec paradox [ par bundyboss ] Salut a vous!!Dans mon programme j ai une boucle qui fait defilé les enregistrements de ma query (query.next). A la fin de cette boucle j aimerai me r


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

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,312 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é.