void Spider(xTreeItem CurrentItem) { CString spaces, xStr, DirectoryBar, currentpath, currenturl; if(CurrentItem.IsBranch()) { CurrentLevel ++; currentpath = BasePath; currenturl = BaseURL; CurrentItem.FileName = "index.txt"; CurrentItem.Level = CurrentLevel; DirectoryL[CurrentLevel] = CurrentItem.Directory; for(int l = 1; l <= CurrentLevel; l ++) { currentpath += "\\" + DirectoryL[l]; currenturl += "/" + DirectoryL[l]; } CurrentItem.LocalHtmlPath=currentpath + "\\index.html"; CurrentItem.Url = currenturl + "/index.html"; currentpath += "\\index.txt"; xTreeItems.Add(xTreeItem(CurrentItem)); InputIndexFile[CurrentLevel].Open(currentpath, CFile::modeRead | CFile::typeText); HrefL[CurrentLevel] = CurrentItem.MakeHref(); for(;;) { if(InputIndexFile[CurrentLevel].ReadString(xStr)) { xTreeItem NewTreeItem; NewTreeItem.InitFromTxtEntry(xStr); Spider(NewTreeItem); } else { InputIndexFile[CurrentLevel].Close(); CurrentLevel --; break; } } } else { if(CurrentItem.Url) { CurrentItem.Level = CurrentLevel + 1; xTreeItems.Add(xTreeItem(CurrentItem)); for(;;) { if(InputIndexFile[CurrentLevel].ReadString(xStr)) { CurrentItem.InitFromTxtEntry(xStr); CurrentItem.Level = CurrentLevel + 1; xTreeItems.Add(xTreeItem(CurrentItem)); } else { break; } } } } }