For i :=0 to 3 do !

Delphiturbo Messages postés 68 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 29 juillet 2008 - 1 mai 2008 à 13:52
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 1 mai 2008 à 21:33
Salut

ou puis je ajouter und autre (begin, End) dans le Code ?

procedure TForm1.FormCreate(Sender: TObject);
var node: TTreeNode;
I: Integer;
data: PMyData;
Begin
  node:=TreeView1.Items.GetFirstNode;
  while node <> nil do
   if node.level = 1 then
    begin
    for i:= 0 to 3 do
    new( data);
    data.Url := ListBox1.Items[i];
    Node.Data := data;
    node := node.GetNext;

  end;

7 réponses

h60 Messages postés 46 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 5 février 2012 1
1 mai 2008 à 13:54
Deplace ton
begin
après le for
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
1 mai 2008 à 14:11
procedure TForm1.FormCreate(Sender: TObject);
var
 node: TTreeNode;
 I: Integer;
 data: PMyData;
Begin
 node:=TreeView1.Items.GetFirstNode;
 while Node <> nil do
  if Node.level = 1 then
   for i:= 0 to 3 do
    begin
     new( data);
     data.Url := ListBox1.Items[i];
     Node.Data := data;
     Node := Node.GetNext;
    end;
End;
0
Delphiturbo Messages postés 68 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 29 juillet 2008
1 mai 2008 à 15:56
Salut

mais il y a un Problem dans [while Node <> nil do]
le program ne peut pas demarer !!!
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
1 mai 2008 à 18:28
c'est ça d'indenter le code sans ajouter de begin...end !!!
Je pense que tu voulais faire ça :

procedure TForm1.FormCreate(Sender: TObject);
var
Node: TTreeNode;
I: Integer;
Data: PMyData;
begin
Node := TreeView1.Items.GetFirstNode;
while Node <> nil do
begin
if Node.Level = 1 then
for I := 0 to 3 do
begin
New(Data);
Data^.Url := ListBox1.Items[I];
Node.Data := Data;
end;
Node := Node.GetNext;
end;
end;

Avec une bonne convention d'écriture, on évite des erreurs "à la con".
Ici, tu n'allais au node suivant que s'il sa propriété Level = 1.
Autrement, tu entrais dans une boucle infinie !
Logique que ton programme ne démarrait pas !
0

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

Posez votre question
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
1 mai 2008 à 18:56
Salut Flo..tu as droit un brin de muguet..

cantador
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
1 mai 2008 à 20:16
Merci à toi pour ce don !
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
1 mai 2008 à 21:33
de nada florenth..

cantador
0
Rejoignez-nous