Remplir des edit depuis un stringgrid

Résolu
mohamedredha Messages postés 18 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 18 février 2010 - 24 mars 2008 à 14:05
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016 - 26 mars 2008 à 11:26
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

mohamedredha Messages postés 18 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 18 février 2010
26 mars 2008 à 09:29
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 !!!!
3
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
26 mars 2008 à 11:26
il faut faire un clear de la stringgrid
pour lire un fichier text vous pouvez passer par un stringlist

CDT
3
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
24 mars 2008 à 17:02
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
0
mohamedredha Messages postés 18 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 18 février 2010
24 mars 2008 à 17:07
je veut  faire genre :

edit(I).text := stringgrig1.cells[0,(J)]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HAFTARIFOUAD Messages postés 256 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 6 janvier 2011
24 mars 2008 à 18:40
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;
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
24 mars 2008 à 21:50
for i := 0 to ComponentCount-1 do






ne marche que si le conteneur est une forme..

cantador
0
mohamedredha Messages postés 18 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 18 février 2010
25 mars 2008 à 10:02
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
0
mohamedredha Messages postés 18 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 18 février 2010
25 mars 2008 à 10:04
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
0
mohamedredha Messages postés 18 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 18 février 2010
25 mars 2008 à 10:11
désolé pour la repétition du message je me suis trompé lors de la correction

merci
0
HAFTARIFOUAD Messages postés 256 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 6 janvier 2011
25 mars 2008 à 14:13
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;
0
HAFTARIFOUAD Messages postés 256 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 6 janvier 2011
25 mars 2008 à 14:14
Je pense que c'est claire, bonne chance et bonne programmation.

HAFTARI Fouad
0
mohamedredha Messages postés 18 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 18 février 2010
25 mars 2008 à 15:29
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
0
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
25 mars 2008 à 19:53
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
0
mohamedredha Messages postés 18 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 18 février 2010
26 mars 2008 à 11:15
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é
0
Rejoignez-nous