Remplir des edit depuis un stringgrid

[Résolu]
Signaler
Messages postés
18
Date d'inscription
lundi 20 juin 2005
Statut
Membre
Dernière intervention
18 février 2010
-
Messages postés
251
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
11 novembre 2016
-
boujour tous le monde ou a ceux qui sont entrain de me lire

 
je vient de débuter dans ce domaine et mes premiers pas sont baser sur les forums, voila mon petit probleme

 
 
je veut remplir des Edits depuis un Stringgrid sont faire genre

 
edit1.Text:=cells [0,0] ;

edit2.Text:=cells [0,1] ;

edit3.Text:=cells [0,2] ;

 
merci de votre gentiesse et votre patience avec les débutant

14 réponses

Messages postés
18
Date d'inscription
lundi 20 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

j'ai compris, sauf que ma form contien d'autres edit qui ne sont pas concernés pas le remplissage.
j'ai essayé ça et ca marche tres bien :

begin
         For i:=4 To 20 Do
        Begin
               Edit:=TEdit(Form1.FindComponent('Edit'+IntToStr(i)));
               Edit.Text:= stringgrid1.cells[0,i-4];
        end;
 end;

Merci pour tous, je serai surement ammené a soliciter votre aide !!!!
Messages postés
251
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
11 novembre 2016

il faut faire un clear de la stringgrid
pour lire un fichier text vous pouvez passer par un stringlist

CDT
Messages postés
251
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
11 novembre 2016

Bonjour

il faudrait preciser la question car là j'ai pas bien compris
ce que vous voullez ou ne pas faire .

pour acceder aux données d'un stringgrid
stringgrig1.cells[0,0] := 'test' pour afficher un text
ou edit1.text := stringgrig1.cells[0,0] pour avoir le text

CDT
Messages postés
18
Date d'inscription
lundi 20 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

je veut  faire genre :

edit(I).text := stringgrig1.cells[0,(J)]
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

Bonjour tt le monde


utilisez le code suivante, je pense qu'il vous sera util  :-(





Var i : integer;
begin
for i := 0 to ComponentCount-1 do
begin
if (Components[i] is TEdit) then
(Components[i] as TEdit).Text: =stringgrig1.cells[0,i]

end;
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
for i := 0 to ComponentCount-1 do






ne marche que si le conteneur est une forme..

cantador
Messages postés
18
Date d'inscription
lundi 20 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

C'est ce que j'ai fait:

procedure TForm1.Button5Click(Sender: TObject);

 Var i : integer;
     j : integer;
 begin
       for i := 10 to ComponentCount   do es ce que  le -1 aprés ComponentCount                                                                     est essentiel parceque lors                                                                                        du remplissage des edit j'ai les valeurs                                                                        les cells impaire
begin
      for j := 0 to 4 do
begin
     if (Components[i] is TEdit) then
     (Components[i] as TEdit).Text:=stringgrid1.cells[0,j]

end;
end;
end;
end.

le message d'erreur que je reçoi:
[Avertissement] Unit1.pas(174): La variable de contrôle de boucle FOR doit être une variable locale simple
Messages postés
18
Date d'inscription
lundi 20 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

C'est ce que j'ai fait:

procedure TForm1.Button5Click(Sender: TObject);

 Var i : integer;
     j : integer;
 begin
       for i := 10 to ComponentCount   do es ce que  le -1 aprés ComponentCount est essentiel parceque lors  du remplissage des edit j'ai les valeurs les cells impaire
begin
      for j := 0 to 4 do
begin
     if (Components[i] is TEdit) then
     (Components[i] as TEdit).Text:=stringgrid1.cells[0,j]

end;
end;
end;
end.

le message d'erreur que je reçoi:
[Avertissement] Unit1.pas(174): La variable de contrôle de boucle FOR doit être une variable locale simple
Messages postés
18
Date d'inscription
lundi 20 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

désolé pour la repétition du message je me suis trompé lors de la correction

merci
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

Bonjour


Merci de nous montrer le nombre des TEdit, qui contient votre TForm?


et pour la variable i;


For I:=PremierNombreDesTEdit to DernierNombreDesTEdit-1    do


si vous pousez 5TEdit dans une TForm le code sera


For i:=0 to 5-1 do
// votre code ici
end;
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

Je pense que c'est claire, bonne chance et bonne programmation.

HAFTARI Fouad
Messages postés
18
Date d'inscription
lundi 20 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

oui ca marche mais mon seul problème maintenant c que les Edit contiennent les cellule impaire du stringgrid soit :

Edit 1 = stringgrid 1
Edit 2 = stringgrid 3
Edit 3 = stringgrid 5

je croi que sa a une relation avec Le ComponentCount -1

jespère que je suis clair

merci encors HAFTARI Fouad
Messages postés
251
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
11 novembre 2016

pourquoi faire une seconde boucle ?
pourquoi commencer la premiere boucle avec 10 ?
le mieux dans votre cas serait de mettre une valeur dans le TAG des Tedit
cette valeur corespondant a la ligne ou collonne de la Grille
puis le code comme suit

for i := 0 to ComponentCount-1 do  // on enumere tous les composant sur la form
 
if (Components[i] is TEdit) then  // on test voir si c'est bien un Tedit
    (Components[i] as TEdit).Text: =stringgrid1.cells[0, (Components[i] as TEdit).Tag];

CDT
Messages postés
18
Date d'inscription
lundi 20 juin 2005
Statut
Membre
Dernière intervention
18 février 2010

bonjour
ditent moi s'il vous plais voila mon problème : (je sais que c un truc d'actualisation)

je suis entrain de remplir des edit depuis des fichiers texte j'ai pas trouvé un autre moyen que de passer par un stringgrid ; le problème c'est quand je selectionne le premier ficher texte (qui contien 5 lignes de données) les 5 edit m'affiche les données du ficher texte
mais quant aprés je choisi le 2em ficher texte (qui lui contien 2 lignes de données) le 2 premier edit m'affiche les 2 ligne du fichier texte mais les trois restant m'affiche les 3 ligne du fichier précedant, meme si je fait clear des edit

jespère que je me suis bien expliqué