procedure readadr(fichier : string); var u,v,z :integer; begin u :=0; v:=0; TS:= tstringlist.Create; adr:= tstringlist.create; TS.LoadFromFile(fichier); repeat if copy(TS[u],1,7) ='E2EDKA2' then begin inc(u); inc(v); adr.add(copy(TS[u],93,746)); end else inc(u); until u > 45; end;
{ parametres : aFileName : string, nom du fichier à scanner aAddress : TStrings, objet descendant de TStrings pour récéptionner les adresses trouvées. cClearOld : boolean, True efface aAddress avant ajout, False n'efface pas les aAddress avant ajout. retour : integer, -3 fichier non trouvé, -2 aAddress non assigné, -1 erreur d'ouverture du fichier ou d'allocation memoire, 0 aucune entrée trouvée, sinon renvois le nombre d'adresses ajoutées à la liste. } function readAddress(aFileName: string; aAddress: TStrings; const cClearOld: boolean= true): integer; var FL : TStringList; N : Integer; begin result := -3; if not FileExists(aFileName) then exit; result := -2; if not Assigned(aAddress) then exit; result := -1; FL := TStringList.Create; try FL.LoadFromFile(aFileName); if FL.Count > 0 then begin aAddress.BeginUpdate; try if cClearOld then aAddress.Clear; result := 0; for N := 0 to FL.Count-1 do if pos('E2EDKA2', FL[N]) = 1 then begin aAddress.add(copy(FL[N], 93, 746)); inc(result); end; finally aAddress.EndUpdate; end; result := aAddress.Count; end; finally FL.Free; end; end;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question