X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Favorite.pas;fp=Favorite.pas;h=ea0b032e13a897955e1ac732c954cfad5d6c23ea;hb=0fd528957839aa934d3e278112598327b7108c62;hp=79663d7e81fb33ca55673cdd90b26b2d0532674d;hpb=31be0e323fe5afc1d1b73d5719df9b91fc1b3611;p=gikonavigoeson%2Fgikonavi.git diff --git a/Favorite.pas b/Favorite.pas index 79663d7..ea0b032 100644 --- a/Favorite.pas +++ b/Favorite.pas @@ -616,7 +616,7 @@ end; procedure TFavoriteDM.URLReplace(oldURLs: TStringList; newURLs: TStringList); var - i, j : Integer; + i : Integer; tmpURL: string; oldHost: string; oldBoardName: string; @@ -626,6 +626,7 @@ var favBoard : TFavoriteBoardItem; favThread : TFavoriteThreadItem; favorites : TTreeNodes; + Node : TTreeNode; begin // –Ê“|‚¾‚¯‚Çthread‚Í‚»‚ꂼ‚êURL‚ðƒ`ƒFƒbƒN‚µ‚È‚ª‚ç‚â‚Á‚Ä‚©‚È‚«‚á‚¢‚¯‚È‚¢B @@ -639,18 +640,19 @@ begin newHost := Copy(tmpURL, 1, LastDelimiter('/', tmpURL) ); newBoardName := Copy(tmpURL, LastDelimiter('/', tmpURL), Length(tmpURL) ) + '/'; - for j := favorites.Count - 1 downto 0 do begin + Node := favorites.GetFirstNode.getFirstChild; + while Node <> nil do begin try - if TObject( favorites.Item[ j ].Data ) is TFavoriteBoardItem then begin - favBoard := TFavoriteBoardItem( favorites.Item[ j ].Data ); + if TObject( Node.Data ) is TFavoriteBoardItem then begin + favBoard := TFavoriteBoardItem( Node.Data ); if favBoard = nil then continue; tempString := favBoard.URL; if ( AnsiPos(oldBoardName, tempString) <> 0 ) and ( AnsiPos(oldHost, tempString ) <> 0 ) then begin tempString := StringReplace(tempString, oldHost, newHost,[]); favBoard.URL := tempString; end; - end else if TObject( favorites.Item[ j ].Data ) is TFavoriteThreadItem then begin - favThread := TFavoriteThreadItem( favorites.Item[ j ].Data ); + end else if TObject( Node.Data ) is TFavoriteThreadItem then begin + favThread := TFavoriteThreadItem( Node.Data ); if favThread = nil then continue; tempString := favThread.URL; if ( AnsiPos(oldBoardName, tempString) <> 0 ) and ( AnsiPos(oldHost, tempString ) <> 0 ) then begin @@ -660,6 +662,7 @@ begin end; except end; + Node := Node.GetNext; end; except end;