Bonjour,
je viens de parcourir le forum et la FAQ ainsi que google mais sans succès pour resoudre mon probleme.

Je tente de faire un procedure qui va lister tous les fichiers appelés dans des scripts de tests.
je m'explique :
1-les scripts sont des fichiers texte contenant des lignes de commande
2-ils contiennent aussi des appels à d'autres scripts
3-je souhaite lister tous les fichiers impliqués dans l'appel d'un script.

ce que j'ai fait :
1-j'ouvre le fichier texte et parcourir les lignes une à une
a-si je trouve un appel (.CALL) à un autre script :
i-j'ouvre le fichier texte et parcourir les lignes une à une...

et ainsi de suite...

j'ai essayé de faire cela en ecrivant une procedure qui s'appelle elle meme pour effectuer le traitement de maniere la plus élégante possible. Mais il s'avère que la récursivité cela ne fonctionne pas...(ou du moins je l'utilise mal) une fois appelée la procédure ne revient pas pour effectuer le reste du traitement...
je ne sais pas si je suis très clair mais je suis malade comme un chien... alors excusez moi...

Kanter,
malade...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.SearchFile(Fichier : String);
var
  Index : Integer;
  WorkFile : TStrings;
  Buffer,
  Dest : String;
 
begin
  WorkFile := TStringList.Create;
  WorkFile.LoadFromFile(Fichier);
 
  for Index := 0 to WorkFile.Count - 1 do
  begin
    if Pos('.CALL',WorkFile.Strings[Index]) <> 0 then
    begin
        Dest := Traitement(WorkFile.Strings[Index]);   //Retire .CALL
        RichEdit.Lines.Add(Dest);
        SearchFile(Dest);
     end;
  end;
end;