povtype
Messages postés11Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention26 septembre 2008
-
23 sept. 2008 à 12:12
povtype
Messages postés11Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention26 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.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 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;