Remplir des edit depuis un stringgrid [Résolu]

mohamedredha 18 Messages postés lundi 20 juin 2005Date d'inscription 18 février 2010 Dernière intervention - 24 mars 2008 à 14:05 - Dernière réponse : fbalien 265 Messages postés dimanche 7 décembre 2003Date d'inscription 11 novembre 2016 Dernière intervention
- 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
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
mohamedredha 18 Messages postés lundi 20 juin 2005Date d'inscription 18 février 2010 Dernière intervention - 26 mars 2008 à 09:29
3
Merci
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 !!!!

Merci mohamedredha 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de mohamedredha
Meilleure réponse
fbalien 265 Messages postés dimanche 7 décembre 2003Date d'inscription 11 novembre 2016 Dernière intervention - 26 mars 2008 à 11:26
3
Merci
il faut faire un clear de la stringgrid
pour lire un fichier text vous pouvez passer par un stringlist

CDT

Merci fbalien 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

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

edit(I).text := stringgrig1.cells[0,(J)]
Commenter la réponse de mohamedredha
HAFTARIFOUAD 298 Messages postés mercredi 5 septembre 2007Date d'inscription 6 janvier 2011 Dernière intervention - 24 mars 2008 à 18:40
0
Merci
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;
Commenter la réponse de HAFTARIFOUAD
HAFTARIFOUAD 298 Messages postés mercredi 5 septembre 2007Date d'inscription 6 janvier 2011 Dernière intervention - 24 mars 2008 à 18:41
0
Merci
J'ai oublie de vous souhaiter bonne chance et bon courage

HAFTARIFOUAD
Commenter la réponse de HAFTARIFOUAD
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 24 mars 2008 à 21:50
0
Merci
for i := 0 to ComponentCount-1 do






ne marche que si le conteneur est une forme..

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

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

HAFTARI Fouad
Commenter la réponse de HAFTARIFOUAD
mohamedredha 18 Messages postés lundi 20 juin 2005Date d'inscription 18 février 2010 Dernière intervention - 25 mars 2008 à 15:29
0
Merci
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
Commenter la réponse de mohamedredha
fbalien 265 Messages postés dimanche 7 décembre 2003Date d'inscription 11 novembre 2016 Dernière intervention - 25 mars 2008 à 19:53
0
Merci
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
Commenter la réponse de fbalien
mohamedredha 18 Messages postés lundi 20 juin 2005Date d'inscription 18 février 2010 Dernière intervention - 26 mars 2008 à 11:15
0
Merci
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é
Commenter la réponse de mohamedredha

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.