OSDN Git Service

BBS キャビネットのツリー構築を最適化。
authoryoffy <yoffy>
Fri, 10 Sep 2004 16:14:47 +0000 (16:14 +0000)
committeryoffy <yoffy>
Fri, 10 Sep 2004 16:14:47 +0000 (16:14 +0000)
Giko.pas

index 1094030..b1761d8 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -2223,9 +2223,9 @@ begin
                Root.ImageIndex                 := ITEM_ICON_2CH1;
                Root.SelectedIndex      := ITEM_ICON_2CH2;
                Root.Data                                               := inBBS;
-               for i := 0 to inBBS.Count - 1 do begin
+               for i := inBBS.Count - 1 downto 0 do begin
                        Category := TCategory(inBBS.Items[i]);
-                       CategoryNode := TreeView.Items.AddChild(Root, Category.Title);
+                       CategoryNode := TreeView.Items.AddChildFirst(Root, Category.Title);
                        CategoryNode.Data := Category;
                        CategoryNode.ImageIndex := ITEM_ICON_CATEGORY1;
                        CategoryNode.SelectedIndex := ITEM_ICON_CATEGORY2;
@@ -2238,10 +2238,10 @@ begin
                                Category.CustomSort(BoardSortProc);
                        end;
 
-                       for j := 0 to Category.Count - 1 do begin
+                       for j := Category.Count - 1 downto 0 do begin
                                Board := TBoard(Category.Items[j]);
                                Board.BeginUpdate;
-                               BoardNode := TreeView.Items.AddChild(CategoryNode, Board.Title);
+                               BoardNode := TreeView.Items.AddChildFirst(CategoryNode, Board.Title);
                                BoardNode.Data := Board;
                                //if (Board.LastGetTime = 0) or (Board.LastGetTime = ZERO_DATE) then begin
                                if not Board.IsLogFile then begin
@@ -8211,7 +8211,7 @@ begin
                        if FDropSpaceNode <> nil then
                                FDropSpaceNode.Free;
 
-                       FDropSpaceNode := FavoriteDM.TreeView.Items.AddChildObject(Node.Parent, '', nil );
+                       FDropSpaceNode := FavoriteDM.TreeView.Items.AddChildObjectFirst(Node.Parent, '', nil );
                        FDropSpaceNode.MoveTo( Node, naInsert );
                        FDropSpaceNode.ImageIndex := -1;
                        FDropSpaceNode.SelectedIndex := -1;