try
SaveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>');
SaveList.Add('<favorite>');
- AddSaveString(TreeView.Items.GetFirstNode, SaveList);
+ AddSaveString(TreeView.Items.GetFirstNode.getFirstChild, SaveList);
SaveList.Add('</favorite>');
SaveList.SaveToFile(FileName);
finally
procedure TFavoriteDM.AddSaveString(Node: TTreeNode; SaveList: TStringList);
var
- i: Integer;
s: string;
FavBoard: TFavoriteBoardItem;
FavThread: TFavoriteThreadItem;
+ data : Pointer;
begin
- for i := 0 to Node.Count - 1 do begin
- if TObject(Node.Item[i].Data) is TFavoriteFolder then begin
- if Node.Item[ i ].Expanded then
- s := Format('<folder title="%s" expanded="true">', [HtmlEncode(Node.Item[i].Text)])
+ while Node <> nil do begin
+ data := Node.Data;
+ if TObject(data) is TFavoriteFolder then begin
+ if Node.Expanded then
+ s := Format('<folder title="%s" expanded="true">', [HtmlEncode(Node.Text)])
else
- s := Format('<folder title="%s" expanded="false">', [HtmlEncode(Node.Item[i].Text)]);
+ s := Format('<folder title="%s" expanded="false">', [HtmlEncode(Node.Text)]);
SaveList.Add(s);
- AddSaveString(Node.Item[i], SaveList);
+ AddSaveString(Node.getFirstChild, SaveList);
SaveList.Add('</folder>');
- end else if TObject(Node.Item[i].Data) is TFavoriteBoardItem then begin
- FavBoard := TFavoriteBoardItem(Node.Item[i].Data);
+ end else if TObject(data) is TFavoriteBoardItem then begin
+ FavBoard := TFavoriteBoardItem(data);
s := Format('<favitem type="2ch" favtype="board" url="%s" title="%s"/>',
- [HtmlEncode( FavBoard.URL ), HtmlEncode(Node.Item[ i ].Text)]);
+ [HtmlEncode( FavBoard.URL ), HtmlEncode(Node.Text)]);
SaveList.Add(s);
- end else if TObject(Node.Item[i].Data) is TFavoriteThreadItem then begin
- FavThread := TFavoriteThreadItem(Node.Item[i].Data);
+ end else if TObject(data) is TFavoriteThreadItem then begin
+ FavThread := TFavoriteThreadItem(data);
s := Format('<favitem type="2ch" favtype="thread" url="%s" title="%s"/>',
- [HtmlEncode( FavThread.URL ), HtmlEncode(Node.Item[ i ].Text)]);
+ [HtmlEncode( FavThread.URL ), HtmlEncode(Node.Text)]);
SaveList.Add(s);
end;
+ Node := Node.getNextSibling;
end;
end;