[fpc-pascal]directory tree in memory
Michael Van Canneyt
michael.vancanneyt at wisa.be
Mon Oct 15 09:33:52 CEST 2001
On Mon, 15 Oct 2001, Ivan Montes wrote:
> Maybe it's a bit off-topic, sorry for any incovenience.
> In my library I need to have a repressentation of a directorty tree in memory, to search for files etc.
> I'm using a tList like this :
> pMyDirsItem = ^mydirsitem;
> myDirsItem =RECORD
> info :tFileInfo; //name, size, time/date ...
> sub :tList;
> myDirs :tList;
> What I do is store the file/directory name and the like in DirsItem.info and if it's a directory "sub" points to another tList with the contents of that directory.
> It works but I would like to know if someone have a better solution for this problem. I'm not very happy with the performance when I have to find a file in it.
Use a TStringList object instead of a Tlist.
Store the name in the string, and in the Object, store
Into : TFileInfo;
Sub : TStringList;
If the stringlist object is sorted (Sorted:=True) then any search will use a binary search,
thus speeding up the search quite a lot.
More information about the fpc-pascal