Charger tous les fichiers d'un même type

povtype Messages postés 11 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 26 septembre 2008 - 23 sept. 2008 à 12:12
povtype Messages postés 11 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 26 septembre 2008 - 23 sept. 2008 à 19:38
Bonjour à tous.

Bon j'avais déjà posté un message pour ce sujet mais j'ai perdu le lien entre temps.

Bon voilà ce que j'essaie de faire: charger tous les fichiers d'un même type dans un répertoire

Je vous montre le code que j'essaie de mettre en place:

function TForm1.getValue('C:\fichiers\'+XMLfiles.Items[XMLfiles.ItemIndex]: string;entite : string;parent : string; occurrence : integer):string;
var
   i,k,ret_val,count,comp : Integer;
   strData,Xparent: String;
begin

try


  begin

count:=1;
   comp:=0;
   DataList:=TStringList.Create;
   memo1.Clear;
   doc := CreateOleObject('Microsoft.XMLDOM')
          as IXMLDomDocument;

 for i := 0 to XMLfiles.Items.Count - 1 do
    MemoAttributes.Lines.Add(getValue(XMLfiles.Items[i], entite, parent, occurence, attribut));


Bon, je ne vais pas aller plus loin dans le code pour l'instant histoire de ne pas vous embrouiller.

La partie que j'ai changée: la boucle ainsi que la déclaration d'attribut.

mon 1er problème: XMLfiles est un menu déroulant dont j'essaie de me débarasser (ce qui est d'ailleur le but de mon travail: ne plus avoir à récupérer les fichiers un par un via ce menu)

mon 2e problème: sur un autre forum on m'a conseillé de me servir de la fonction findnext (et démerde toi)
j'ai trouvé plusieurs exemples sur le net mais aucun qui soit en application avec ce que j'essaie de faire.

Si quelqu'un peut m'aider sur la manière dont je dois mettre en place cette boucle ça m'aiderait bien.

Merci d'avance.

3 réponses

povtype Messages postés 11 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 26 septembre 2008
23 sept. 2008 à 12:13
les balise [code] ne marchent pas c'est normal?
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
23 sept. 2008 à 14:08
function LoadAll(const Path, Extention: string; Strings: TStrings);
var SR : TSearchRec;
    TS : TStringList;
    N  : integer;
begin
  if FindFirst(Path+Extention, faAnyFile, SR) = 0 then
  try
    TS := TStringList.Create;
    repeat
      if (SR.Attr and (faDirectory or faVolumeId)) = 0 then
      begin
        TS.LoadFromFile(Path+SR.Name);
        Strings.BeginUpdate;
        try
          for N := 0 to TS.count do
            Strings.Add(TS[N]);
        finally
          Strings.EndUpdate;
        end;
      end;
    until FindNext(SR) <> 0;
  finally
    TS.Free;
    FindClose(SR);
  end;
end;





<hr size="2" width="100%" />
0
povtype Messages postés 11 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 26 septembre 2008
23 sept. 2008 à 19:38
Merci beaucoup.
0
Rejoignez-nous