ギコナビ
Revisión | 7943d8ba607463b93e2f376412deda0e41507222 (tree) |
---|---|
Tiempo | 2006-07-30 10:09:53 |
Autor | cvs2git <cvs2git> |
Commiter | cvs2git |
This commit was manufactured by cvs2svn to create tag 'v1_53_0_667'.
@@ -104,6 +104,7 @@ type | ||
104 | 104 | FURL: string; //{[hURL |
105 | 105 | FRound: Boolean; //Xbhêñ\ñ |
106 | 106 | FRoundName: string; //ñ¼ |
107 | + //FRoundName: PChar; //ñ¼ | |
107 | 108 | FRoundDate: TDateTime; //Xbhêðæ¾µ½úiñúj |
108 | 109 | FLastModified: TDateTime; //XbhêªXV³êÄ¢éúiT[o¤új |
109 | 110 | FLastGetTime: TDateTime; //XbhܽÍXbhêðÅãÉXVµ½úiT[o¤úE«ÝÉgp·éj |
@@ -1,5 +1,5 @@ | ||
1 | 1 | object GikoForm: TGikoForm |
2 | - Left = 241 | |
2 | + Left = 422 | |
3 | 3 | Top = 68 |
4 | 4 | HorzScrollBar.Visible = False |
5 | 5 | VertScrollBar.Visible = False |
@@ -159,7 +159,7 @@ object GikoForm: TGikoForm | ||
159 | 159 | object ToolBar1: TToolBar |
160 | 160 | Left = 2 |
161 | 161 | Top = 4 |
162 | - Width = 15 | |
162 | + Width = 16 | |
163 | 163 | Height = 18 |
164 | 164 | Align = alNone |
165 | 165 | AutoSize = True |
@@ -346,7 +346,7 @@ object GikoForm: TGikoForm | ||
346 | 346 | end> |
347 | 347 | EdgeBorders = [ebLeft, ebTop, ebRight] |
348 | 348 | EdgeInner = esLowered |
349 | - OnContextPopup = MainCoolBarContextPopup | |
349 | + OnContextPopup = ListCoolBarContextPopup | |
350 | 350 | OnBandInfo = ListCoolBarBandInfo |
351 | 351 | OnChevronClick = ListCoolBarChevronClick |
352 | 352 | object ListToolBar: TToolBar |
@@ -573,7 +573,7 @@ object GikoForm: TGikoForm | ||
573 | 573 | end> |
574 | 574 | EdgeBorders = [ebLeft, ebTop, ebRight] |
575 | 575 | EdgeInner = esLowered |
576 | - OnContextPopup = MainCoolBarContextPopup | |
576 | + OnContextPopup = BrowserCoolBarContextPopup | |
577 | 577 | OnBandInfo = BrowserCoolBarBandInfo |
578 | 578 | OnChevronClick = BrowserCoolBarChevronClick |
579 | 579 | object BrowserToolBar: TToolBar |
@@ -971,7 +971,7 @@ object GikoForm: TGikoForm | ||
971 | 971 | OnResize = AddressToolBarResize |
972 | 972 | object AddressComboBox: TComboBox |
973 | 973 | Left = 0 |
974 | - Top = 0 | |
974 | + Top = 1 | |
975 | 975 | Width = 177 |
976 | 976 | Height = 20 |
977 | 977 | DropDownCount = 20 |
@@ -508,6 +508,12 @@ type | ||
508 | 508 | State: TDragState; var Accept: Boolean); |
509 | 509 | procedure FavoriteTreeViewEndDrag(Sender, Target: TObject; X, |
510 | 510 | Y: Integer); |
511 | + procedure ListCoolBarContextPopup(Sender: TObject; MousePos: TPoint; | |
512 | + var Handled: Boolean); | |
513 | + procedure MainCoolBarContextPopup(Sender: TObject; MousePos: TPoint; | |
514 | + var Handled: Boolean); | |
515 | + procedure BrowserCoolBarContextPopup(Sender: TObject; MousePos: TPoint; | |
516 | + var Handled: Boolean); | |
511 | 517 | procedure FavoriteTreeBrowseBoardPopupMenuClick(Sender: TObject); |
512 | 518 | procedure BrowserTabContextPopup(Sender: TObject; MousePos: TPoint; |
513 | 519 | var Handled: Boolean); |
@@ -543,8 +549,6 @@ type | ||
543 | 549 | procedure TreeViewMouseDown(Sender: TObject; Button: TMouseButton; |
544 | 550 | Shift: TShiftState; X, Y: Integer); |
545 | 551 | procedure GetResURLMenuClick(Sender: TObject); |
546 | - procedure MainCoolBarContextPopup(Sender: TObject; MousePos: TPoint; | |
547 | - var Handled: Boolean); | |
548 | 552 | private |
549 | 553 | { Private é¾ } |
550 | 554 | FEnabledCloseButton: Boolean; |
@@ -643,6 +647,8 @@ type | ||
643 | 647 | procedure TreeDoubleClick( Node : TTreeNode ); |
644 | 648 | /// eÉ éLrlbgE BBS j [ðZbg^XV |
645 | 649 | procedure SetBBSMenu; |
650 | + /// ^uæ¾ | |
651 | + procedure GetTabURLs(AStringList: TStringList); | |
646 | 652 | /// ListColumnPopupMenu ACeÌNbNCxg |
647 | 653 | procedure ListColumnPopupMenuOnClick( Sender : TObject ); |
648 | 654 | //! ièݶñÝè |
@@ -771,6 +777,10 @@ type | ||
771 | 777 | procedure ResetBandInfo( bar : TGikoCoolBar; band : TToolBar ); |
772 | 778 | //ListViewÅIð³êÄ¢éACeðæ¾·é |
773 | 779 | procedure SelectListItem(List: TList); |
780 | + /// ^uÛ¶ | |
781 | + procedure SaveTabURLs; | |
782 | + /// ^uÇÝoµ | |
783 | + procedure LoadTabURLs; | |
774 | 784 | //wèµ½XðRs[·é |
775 | 785 | procedure KonoresCopy(Number: Integer; ReplaceTag : Boolean); |
776 | 786 | // |
@@ -1436,9 +1446,7 @@ begin | ||
1436 | 1446 | |
1437 | 1447 | //FormCrete©çÚ®B |
1438 | 1448 | if GikoSys.Setting.TabAutoLoadSave then begin |
1439 | - GikoDM.TabsOpenAction.Tag := 1; | |
1440 | - GikoDM.TabsOpenAction.Execute; | |
1441 | - GikoDM.TabsOpenAction.Tag := 0; | |
1449 | + GikoDM.TabAutoLoadAction.Execute; | |
1442 | 1450 | end; |
1443 | 1451 | |
1444 | 1452 | //ActionListÌGroupIndexð³Éß· |
@@ -1460,7 +1468,7 @@ begin | ||
1460 | 1468 | end; |
1461 | 1469 | |
1462 | 1470 | if GikoSys.Setting.TabAutoLoadSave then begin |
1463 | - GikoDM.TabsSaveAction.Execute; | |
1471 | + GikoDM.TabAutoSaveAction.Execute; | |
1464 | 1472 | end; |
1465 | 1473 | |
1466 | 1474 | if (SearchDialog <> nil) then begin |
@@ -1811,6 +1819,8 @@ begin | ||
1811 | 1819 | RoundList.LoadRoundThreadFile; |
1812 | 1820 | |
1813 | 1821 | LockWindowUpdate(0); |
1822 | + // | |
1823 | + GikoDM.TabsOpenAction.Execute; | |
1814 | 1824 | end; |
1815 | 1825 | |
1816 | 1826 | {! |
@@ -6391,6 +6401,35 @@ begin | ||
6391 | 6401 | |
6392 | 6402 | end; |
6393 | 6403 | |
6404 | +procedure TGikoForm.ListCoolBarContextPopup(Sender: TObject; | |
6405 | + MousePos: TPoint; var Handled: Boolean); | |
6406 | +begin | |
6407 | + | |
6408 | + FToolBarSettingSender := tssList; | |
6409 | + MousePos := ListCoolBar.ClientToScreen( MousePos ); | |
6410 | + MainCoolBarPopupMenu.Popup( MousePos.X, MousePos.Y ); | |
6411 | + | |
6412 | +end; | |
6413 | + | |
6414 | +procedure TGikoForm.MainCoolBarContextPopup(Sender: TObject; | |
6415 | + MousePos: TPoint; var Handled: Boolean); | |
6416 | +begin | |
6417 | + | |
6418 | + FToolBarSettingSender := tssMain; | |
6419 | + MousePos := MainCoolBar.ClientToScreen( MousePos ); | |
6420 | + MainCoolBarPopupMenu.Popup( MousePos.X, MousePos.Y ); | |
6421 | + | |
6422 | +end; | |
6423 | + | |
6424 | +procedure TGikoForm.BrowserCoolBarContextPopup(Sender: TObject; | |
6425 | + MousePos: TPoint; var Handled: Boolean); | |
6426 | +begin | |
6427 | + | |
6428 | + FToolBarSettingSender := tssBrowser; | |
6429 | + MousePos := BrowserCoolBar.ClientToScreen( MousePos ); | |
6430 | + MainCoolBarPopupMenu.Popup( MousePos.X, MousePos.Y ); | |
6431 | + | |
6432 | +end; | |
6394 | 6433 | procedure TGikoForm.SetListViewBackGroundColor(value: TColor); |
6395 | 6434 | begin |
6396 | 6435 | if FListViewBackGroundColor <> value then begin |
@@ -6877,6 +6916,89 @@ begin | ||
6877 | 6916 | end; |
6878 | 6917 | end; |
6879 | 6918 | |
6919 | +procedure TGikoForm.GetTabURLs(AStringList: TStringList); | |
6920 | +var | |
6921 | + rec : TBrowserRecord; | |
6922 | + i : Integer; | |
6923 | +begin | |
6924 | + for i := 0 to BrowserTab.Tabs.Count -1 do begin | |
6925 | + try | |
6926 | + rec := TBrowserRecord( BrowserTab.Tabs.Objects[ i ] ); | |
6927 | + if( rec <> nil) and (rec.Thread <> nil) then | |
6928 | + AStringList.Add( rec.Thread.URL ); | |
6929 | + except | |
6930 | + end; | |
6931 | + end; | |
6932 | +end; | |
6933 | + | |
6934 | +procedure TGikoForm.SaveTabURLs; | |
6935 | +const | |
6936 | + Filename = 'tab.sav'; | |
6937 | + bFilename = '~tab.sav'; | |
6938 | +var | |
6939 | + SaveStringList: TStringList; | |
6940 | +begin | |
6941 | + SaveStringList := TStringList.Create; | |
6942 | + try | |
6943 | + GetTabURLs(SaveStringList); | |
6944 | + try | |
6945 | + if FileExists( GikoSys.GetAppDir + Filename) then begin | |
6946 | + CopyFile(PChar(GikoSys.GetAppDir + Filename), | |
6947 | + PChar(GikoSys.GetAppDir + bFilename), False); | |
6948 | + end; | |
6949 | + except | |
6950 | + end; | |
6951 | + SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename); | |
6952 | + finally | |
6953 | + SaveStringList.Free; | |
6954 | + end; | |
6955 | +end; | |
6956 | + | |
6957 | +procedure TGikoForm.LoadTabURLs; | |
6958 | +const | |
6959 | + TABFILE = 'tab.sav'; | |
6960 | +var | |
6961 | + i, bound : Integer; | |
6962 | + item : TThreadItem; | |
6963 | + URLs : TStringList; | |
6964 | + GikoTab : TGikoTabAppend; | |
6965 | + fileName : string; | |
6966 | +begin | |
6967 | + GikoTab := GikoSys.Setting.BrowserTabAppend; | |
6968 | + URLs := TStringList.Create(); | |
6969 | + try | |
6970 | + fileName := ExtractFilePath(Application.ExeName) + TABFILE; | |
6971 | + if FileExists(fileName) then begin | |
6972 | + try | |
6973 | + URLs.LoadFromFile(fileName); | |
6974 | + bound := URLs.Count - 1; | |
6975 | + if bound > -1 then begin | |
6976 | + GikoSys.Setting.BrowserTabAppend := gtpLast; | |
6977 | + for i := 0 to bound do begin | |
6978 | + item := BBSsFindThreadFromURL( URLs[ i ] ); | |
6979 | + if item <> nil then | |
6980 | + InsertBrowserTab( item, false ); | |
6981 | + end; | |
6982 | + //ÅÌPÉÝè AhXÌÝè̽ßÌJÄÑ | |
6983 | + if BrowserTab.Tabs.Count > 0 then begin | |
6984 | + BrowserTab.OnChange(nil); | |
6985 | + end; | |
6986 | + end else begin | |
6987 | + // óÌt@CÌêCobNAbvðíµÈ¢½ßÉí | |
6988 | + DeleteFile(fileName); | |
6989 | + end; | |
6990 | + except | |
6991 | + on EFOpenError do ShowMessage('^ut@CªJ¯Ü¹ñ'); | |
6992 | + end; | |
6993 | + end; | |
6994 | + finally | |
6995 | + URLs.Free; | |
6996 | + GikoSys.Setting.BrowserTabAppend := GikoTab; | |
6997 | + end; | |
6998 | + | |
6999 | +end; | |
7000 | + | |
7001 | + | |
6880 | 7002 | /// ListView ÌJ¨æÑÊuÌÛ¶ |
6881 | 7003 | procedure TGikoForm.ActiveListColumnSave; |
6882 | 7004 | var |
@@ -7672,30 +7794,6 @@ begin | ||
7672 | 7794 | end; |
7673 | 7795 | end; |
7674 | 7796 | |
7675 | -procedure TGikoForm.MainCoolBarContextPopup(Sender: TObject; | |
7676 | - MousePos: TPoint; var Handled: Boolean); | |
7677 | -var | |
7678 | - pos : TPoint; | |
7679 | - coolBar: TGikoCoolBar; | |
7680 | -begin | |
7681 | - Handled := False; | |
7682 | - if (Sender <> nil) and (Sender is TGikoCoolBar) then begin | |
7683 | - coolBar := TGikoCoolBar(Sender); | |
7684 | - if (coolBar = MainCoolBar) then begin | |
7685 | - FToolBarSettingSender := tssMain; | |
7686 | - end else if (coolBar = ListCoolBar) then begin | |
7687 | - FToolBarSettingSender := tssList; | |
7688 | - end else if (coolBar = BrowserCoolBar) then begin | |
7689 | - FToolBarSettingSender := tssBrowser; | |
7690 | - end else begin | |
7691 | - FToolBarSettingSender := tssNone; | |
7692 | - end; | |
7693 | - pos := coolBar.ClientToScreen( MousePos ); | |
7694 | - MainCoolBarPopupMenu.Popup( pos.X, pos.Y ); | |
7695 | - Handled := True; | |
7696 | - end; | |
7697 | -end; | |
7698 | - | |
7699 | 7797 | initialization |
7700 | 7798 | OleInitialize(nil); |
7701 | 7799 | finalization |
@@ -1079,6 +1079,18 @@ object GikoDM: TGikoDM | ||
1079 | 1079 | OnExecute = BrowsBoradHeadActionExecute |
1080 | 1080 | OnUpdate = LogFolderOpenActionUpdate |
1081 | 1081 | end |
1082 | + object TabAutoSaveAction: TAction | |
1083 | + Category = #12501#12449#12452#12523 | |
1084 | + Caption = #12479#12502#12398#38918#30058#12434#33258#21205#20445#23384 | |
1085 | + Hint = #12479#12502#12398#38918#30058#12434#33258#21205#20445#23384 | |
1086 | + OnExecute = TabAutoSaveActionExecute | |
1087 | + end | |
1088 | + object TabAutoLoadAction: TAction | |
1089 | + Category = #12501#12449#12452#12523 | |
1090 | + Caption = #12479#12502#12398#38918#30058#12434#33258#21205#24489#20803 | |
1091 | + Hint = #12479#12502#12398#38918#30058#12434#33258#21205#24489#20803 | |
1092 | + OnExecute = TabAutoLoadActionExecute | |
1093 | + end | |
1082 | 1094 | object JumpToNumOfResAction: TAction |
1083 | 1095 | Category = #12473#12524#12483#12489 |
1084 | 1096 | Caption = #25351#23450#12375#12383#30058#21495#12398#12524#12473#12395#39131#12406 |
@@ -192,6 +192,8 @@ type | ||
192 | 192 | TabsSaveAction: TAction; |
193 | 193 | TabsOpenAction: TAction; |
194 | 194 | BrowsBoradHeadAction: TAction; |
195 | + TabAutoSaveAction: TAction; | |
196 | + TabAutoLoadAction: TAction; | |
195 | 197 | JumpToNumOfResAction: TAction; |
196 | 198 | FavoriteTreeViewCollapseAction: TAction; |
197 | 199 | RightTabCloseAction: TAction; |
@@ -306,6 +308,8 @@ type | ||
306 | 308 | procedure SelectItemSaveForDatExecute(Sender: TObject); |
307 | 309 | procedure TabsSaveActionExecute(Sender: TObject); |
308 | 310 | procedure TabsOpenActionExecute(Sender: TObject); |
311 | + procedure TabAutoSaveActionExecute(Sender: TObject); | |
312 | + procedure TabAutoLoadActionExecute(Sender: TObject); | |
309 | 313 | procedure BeLogInOutActionExecute(Sender: TObject); |
310 | 314 | procedure BeLogInOutActionUpdate(Sender: TObject); |
311 | 315 | procedure KokomadeActionExecute(Sender: TObject); |
@@ -425,8 +429,6 @@ type | ||
425 | 429 | { Public é¾ } |
426 | 430 | procedure RepaintStatusBar; |
427 | 431 | function EditorFormExists(): boolean; |
428 | - procedure GetTabURLs(AStringList: TStringList); | |
429 | - procedure OpenURLs(AStringList: TStringList); | |
430 | 432 | published |
431 | 433 | { Published é¾ } |
432 | 434 | //! TActionÅGetActiveContentªnilÈOÅLøÉÈé |
@@ -2137,107 +2139,34 @@ end; | ||
2137 | 2139 | //! ^uÌÔðÛ¶ |
2138 | 2140 | // ************************************************************************* |
2139 | 2141 | procedure TGikoDM.TabsSaveActionExecute(Sender: TObject); |
2140 | -const | |
2141 | - Filename = 'tab.sav'; | |
2142 | - bFilename = '~tab.sav'; | |
2143 | -var | |
2144 | - SaveStringList: TStringList; | |
2145 | 2142 | begin |
2146 | - SaveStringList := TStringList.Create; | |
2147 | - try | |
2148 | - GetTabURLs(SaveStringList); | |
2149 | - try | |
2150 | - if FileExists( GikoSys.GetAppDir + Filename) then begin | |
2151 | - CopyFile(PChar(GikoSys.GetAppDir + Filename), | |
2152 | - PChar(GikoSys.GetAppDir + bFilename), False); | |
2153 | - end; | |
2154 | - except | |
2155 | - end; | |
2156 | - SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename); | |
2157 | - finally | |
2158 | - SaveStringList.Free; | |
2159 | - end; | |
2143 | + GikoForm.SaveTabURLs; | |
2160 | 2144 | end; |
2161 | 2145 | // ************************************************************************* |
2162 | -//! uEU^uÉÝè³êÄ¢éXbhÌURLæ¾ | |
2146 | +//! ^uÌÔð³ | |
2163 | 2147 | // ************************************************************************* |
2164 | -procedure TGikoDM.GetTabURLs(AStringList: TStringList); | |
2165 | -var | |
2166 | - rec : TBrowserRecord; | |
2167 | - i : Integer; | |
2148 | +procedure TGikoDM.TabsOpenActionExecute(Sender: TObject); | |
2168 | 2149 | begin |
2169 | - for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin | |
2170 | - try | |
2171 | - rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] ); | |
2172 | - if( rec <> nil) and (rec.Thread <> nil) then | |
2173 | - AStringList.Add( rec.Thread.URL ); | |
2174 | - except | |
2175 | - end; | |
2150 | + GikoForm.LoadTabURLs; | |
2151 | + // TabsOpenAction.TagÍCÂêXV©çÄÎê½Æ«Í1ÉÈÁÄ¢é | |
2152 | + if (GikoForm.BrowserTab.Tabs.Count = 0) | |
2153 | + and (TabsOpenAction.Tag = 0) then begin | |
2154 | + ShowMessage('\¦·é^uª èܹñB'); | |
2176 | 2155 | end; |
2177 | 2156 | end; |
2178 | 2157 | // ************************************************************************* |
2179 | -//! wè³ê½URLðJ«CæªÌ^uÉtH[JX·é | |
2180 | -// ************************************************************************* | |
2181 | -procedure TGikoDM.OpenURLs(AStringList: TStringList); | |
2182 | -var | |
2183 | - GikoTab : TGikoTabAppend; | |
2184 | - i, bound : Integer; | |
2185 | - item : TThreadItem; | |
2186 | -begin | |
2187 | - if (AStringList <> nil) then begin | |
2188 | - GikoTab := GikoSys.Setting.BrowserTabAppend; | |
2189 | - try | |
2190 | - bound := AStringList.Count - 1; | |
2191 | - if bound > -1 then begin | |
2192 | - GikoSys.Setting.BrowserTabAppend := gtpLast; | |
2193 | - for i := 0 to bound do begin | |
2194 | - item := BBSsFindThreadFromURL( AStringList[ i ] ); | |
2195 | - if item <> nil then | |
2196 | - GikoForm.InsertBrowserTab( item, false ); | |
2197 | - end; | |
2198 | - //ÅÌPÉÝè AhXÌÝè̽ßÌJÄÑ | |
2199 | - if GikoForm.BrowserTab.Tabs.Count > 0 then begin | |
2200 | - GikoForm.BrowserTab.OnChange(nil); | |
2201 | - end; | |
2202 | - end; | |
2203 | - finally | |
2204 | - GikoSys.Setting.BrowserTabAppend := GikoTab; | |
2205 | - end; | |
2206 | - end; | |
2158 | +//! ^uÌÔð©®Û¶ | |
2159 | +// ************************************************************************* | |
2160 | +procedure TGikoDM.TabAutoSaveActionExecute(Sender: TObject); | |
2161 | +begin | |
2162 | + GikoForm.SaveTabURLs; | |
2207 | 2163 | end; |
2208 | 2164 | // ************************************************************************* |
2209 | -//! ^uÌÔð³ | |
2165 | +//! ^uÌÔð©®³ | |
2210 | 2166 | // ************************************************************************* |
2211 | -procedure TGikoDM.TabsOpenActionExecute(Sender: TObject); | |
2212 | -const | |
2213 | - TABFILE = 'tab.sav'; | |
2214 | -var | |
2215 | - URLs : TStringList; | |
2216 | - fileName : string; | |
2167 | +procedure TGikoDM.TabAutoLoadActionExecute(Sender: TObject); | |
2217 | 2168 | begin |
2218 | - URLs := TStringList.Create(); | |
2219 | - try | |
2220 | - fileName := ExtractFilePath(Application.ExeName) + TABFILE; | |
2221 | - if FileExists(fileName) then begin | |
2222 | - try | |
2223 | - URLs.LoadFromFile(fileName); | |
2224 | - if (URLs.Count = 0) then begin | |
2225 | - // óÌt@CÌêCobNAbvðíµÈ¢½ßÉí | |
2226 | - SysUtils.DeleteFile(fileName); | |
2227 | - end else begin | |
2228 | - OpenURLs(URLs); | |
2229 | - end; | |
2230 | - except | |
2231 | - on EFOpenError do ShowMessage('^ut@CªJ¯Ü¹ñ'); | |
2232 | - end; | |
2233 | - end; | |
2234 | - finally | |
2235 | - URLs.Free; | |
2236 | - end; | |
2237 | - | |
2238 | - if (GikoForm.BrowserTab.Tabs.Count = 0) then begin | |
2239 | - ShowMessage('\¦·é^uª èܹñB'); | |
2240 | - end; | |
2169 | + GikoForm.LoadTabURLs; | |
2241 | 2170 | end; |
2242 | 2171 | // ************************************************************************* |
2243 | 2172 | //! Be2chÉOC/OAEg·é |
@@ -2753,13 +2753,7 @@ function TGikoSys.GetSameIDResAnchor(const AID : string; ThreadItem: TThreadItem | ||
2753 | 2753 | var |
2754 | 2754 | i: integer; |
2755 | 2755 | body: TStringList; |
2756 | - Res: TResRec; | |
2757 | - ResLink : TResLinkRec; | |
2758 | 2756 | begin |
2759 | - // bodyÈOÍgpµÈ¢ÌÅú»µÈ¢ | |
2760 | - Res.FBody := ''; | |
2761 | - Res.FType := glt2chNew; | |
2762 | - | |
2763 | 2757 | Result := ''; |
2764 | 2758 | if (not IsNoValidID(AID)) and |
2765 | 2759 | (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin |
@@ -2768,20 +2762,21 @@ begin | ||
2768 | 2762 | GetSameIDRes(AID, ThreadItem, body); |
2769 | 2763 | if (limited) and (body.Count > 20) then begin |
2770 | 2764 | for i := body.Count - 20 to body.Count - 1 do begin |
2771 | - Res.FBody := Res.FBody + '>' + body[i] + ' '; | |
2765 | + Result := Result + '>' + body[i] + ' '; | |
2772 | 2766 | end; |
2773 | 2767 | end else begin |
2774 | 2768 | for i := 0 to body.Count - 1 do begin |
2775 | - Res.FBody := Res.FBody + '>' + body[i] + ' '; | |
2769 | + Result := Result + '>' + body[i] + ' '; | |
2776 | 2770 | end; |
2777 | 2771 | end; |
2778 | 2772 | finally |
2779 | 2773 | body.Free; |
2780 | 2774 | end; |
2781 | - ResLink.FBbs := ThreadItem.ParentBoard.BBSID; | |
2782 | - ResLink.FKey := ChangeFileExt(ThreadItem.FileName, ''); | |
2783 | - HTMLCreater.ConvRes(@Res, @ResLink, false); | |
2784 | - Result := Res.FBody; | |
2775 | + | |
2776 | + Result := HTMLCreater.ConvRes( | |
2777 | + Result, | |
2778 | + ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), | |
2779 | + 'bbs', 'key', 'st', 'to', 'nofirst', 'true', false); | |
2785 | 2780 | end; |
2786 | 2781 | end; |
2787 | 2782 |
@@ -2842,13 +2837,7 @@ function TGikoSys.GetSameIDResAnchor(AIDNum : Integer; ThreadItem: TThreadItem; | ||
2842 | 2837 | var |
2843 | 2838 | i: integer; |
2844 | 2839 | body: TStringList; |
2845 | - Res: TResRec; | |
2846 | - ResLink : TResLinkRec; | |
2847 | 2840 | begin |
2848 | - // bodyÈOÍgpµÈ¢ÌÅú»µÈ¢ | |
2849 | - Res.FBody := ''; | |
2850 | - Res.FType := glt2chNew; | |
2851 | - | |
2852 | 2841 | Result := ''; |
2853 | 2842 | if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin |
2854 | 2843 | body := TStringList.Create; |
@@ -2856,20 +2845,21 @@ begin | ||
2856 | 2845 | GetSameIDRes(AIDNum, ThreadItem, body); |
2857 | 2846 | if (limited) and (body.Count > 20) then begin |
2858 | 2847 | for i := body.Count - 20 to body.Count - 1 do begin |
2859 | - Res.FBody := Res.FBody + '>' + body[i] + ' '; | |
2848 | + Result := Result + '>' + body[i] + ' '; | |
2860 | 2849 | end; |
2861 | 2850 | end else begin |
2862 | 2851 | for i := 0 to body.Count - 1 do begin |
2863 | - Res.FBody := Res.FBody + '>' + body[i] + ' '; | |
2852 | + Result := Result + '>' + body[i] + ' '; | |
2864 | 2853 | end; |
2865 | 2854 | end; |
2866 | 2855 | finally |
2867 | 2856 | body.Free; |
2868 | 2857 | end; |
2869 | - ResLink.FBbs := ThreadItem.ParentBoard.BBSID; | |
2870 | - ResLink.FKey := ChangeFileExt(ThreadItem.FileName, ''); | |
2871 | - HTMLCreater.ConvRes(@Res, @ResLink, false); | |
2872 | - Result := Res.FBody; | |
2858 | + Result := HTMLCreater.ConvRes( | |
2859 | + Result, ThreadItem.ParentBoard.BBSID, | |
2860 | + ChangeFileExt(ThreadItem.FileName, ''), | |
2861 | + 'bbs', 'key', 'st', 'to', 'nofirst', 'true', | |
2862 | + false); | |
2873 | 2863 | end; |
2874 | 2864 | end; |
2875 | 2865 |
@@ -60,20 +60,16 @@ type | ||
60 | 60 | procedure CreateDefaultHTML (html:TBufferedWebBrowser; ThreadItem: TThreadItem; ReadList: TStringList; sTitle: string ); |
61 | 61 | procedure ConvertResAnchor(PRes: PResRec); |
62 | 62 | procedure separateNumber(var st: String; var et: String; const Text, Separator: String); |
63 | - function checkComma(const s : String; var j : Integer) : boolean; | |
63 | + function checkComma(const s : String; var j : Integer; var No : String) : boolean; | |
64 | 64 | function addResAnchor(PAddRes: PResRec; PResLink : PResLinkRec; dat : boolean; |
65 | 65 | var s : String; j : Integer; const No: String) : string; |
66 | - function appendResAnchor(PAddRes: PResRec; PResLink : PResLinkRec; | |
67 | - dat : boolean; var s : String) : string; | |
68 | - function getNumberString(const str: String;var index :Integer; var dbCharlen: Boolean; | |
69 | - sLen :Integer): String; | |
70 | - | |
71 | 66 | public |
72 | 67 | { Public é¾ } |
73 | 68 | procedure AddAnchorTag(PRes: PResRec); |
74 | 69 | function LoadFromSkin(fileName: string; ThreadItem: TThreadItem; SizeByte: Integer): string; |
75 | 70 | function SkinedRes(const skin: string; PRes: PResRec; const No: string): string; |
76 | 71 | procedure ConvRes( PRes : PResRec; PResLink : PResLinkRec; DatToHTML: boolean = false); overload; |
72 | + function ConvRes(const Body, Bbs, Key, ParamBBS, ParamKey, ParamStart, ParamTo, ParamNoFirst, ParamTrue : string; DatToHTML: boolean = false): string; overload; | |
77 | 73 | procedure CreateHTML2(Browser: TWebBrowser; ThreadItem: TThreadItem; var sTitle: string); |
78 | 74 | procedure CreateHTML3(var html: TStringList; ThreadItem: TThreadItem; var sTitle: string); |
79 | 75 | //X|bvAbvÌì¬ |
@@ -356,9 +352,6 @@ begin | ||
356 | 352 | end else |
357 | 353 | Result := AID; |
358 | 354 | end; |
359 | -//! XAJ[ÌXÔðª·é | |
360 | -// Text = '1-9' -> st = '1'; et = '9' | |
361 | -// Text = '10' -> st = '10'; et = '10' | |
362 | 355 | procedure THTMLCreate.separateNumber(var st: String; var et: String; const Text:String; const Separator: String); |
363 | 356 | var |
364 | 357 | p : Integer; |
@@ -372,58 +365,54 @@ begin | ||
372 | 365 | et := Text; |
373 | 366 | end; |
374 | 367 | end; |
375 | -//! XAJ[ªwµÄ¢éXÔ̶ñðæ¾·é | |
376 | -function THTMLCreate.getNumberString( | |
377 | - const str: String; | |
378 | - var index :Integer; var dbCharlen: Boolean; sLen :Integer) | |
379 | -: String; | |
380 | -const | |
381 | - SN = '0123456789'; | |
382 | -var | |
383 | - ch : String; | |
384 | - sw : Boolean; | |
385 | -begin | |
386 | - Result := ''; | |
387 | - sw := False; | |
388 | - while (index <= sLen) do begin | |
389 | - if (ByteType(str, index) = mbSingleByte) then begin | |
390 | - //1byte¶ | |
391 | - ch := str[index]; | |
392 | - Inc(index); | |
393 | - dbCharlen := false; | |
394 | - end else begin | |
395 | - //2byte¶ | |
396 | - ch := ZenToHan(Copy(str, index, 2)); | |
397 | - Inc(index, 2); | |
398 | - dbCharlen := true; | |
399 | - end; | |
400 | - | |
401 | - if System.Pos(ch, SN) > 0 then begin | |
402 | - Result := Result + ch; | |
403 | - end else if (ch = '-') then begin | |
404 | - if sw then break; | |
405 | - if Result = '' then break; | |
406 | - Result := Result + ch; | |
407 | - sw := true; | |
408 | - end else begin | |
409 | - break; | |
410 | - end; | |
411 | - end; | |
412 | -end; | |
413 | - | |
414 | 368 | procedure THTMLCreate.ConvRes( PRes : PResRec; PResLink : PResLinkRec; DatToHTML: boolean = false); |
415 | 369 | const |
416 | 370 | GT = '>'; |
371 | + SN = '0123456789'; | |
417 | 372 | //õÎÛ̶ñS |
418 | 373 | TOKEN : array[0..5] of string = (GT+GT, GT, '', '', '<a ', '<A '); |
419 | 374 | var |
420 | 375 | i : integer; |
421 | 376 | s : string; |
377 | + sw: boolean; | |
378 | + cm: boolean; | |
422 | 379 | No: string; |
380 | + oc : string; | |
423 | 381 | pos, pmin : integer; |
424 | 382 | j : integer; |
383 | + ch : string; | |
425 | 384 | db : boolean; |
385 | + len : integer; | |
426 | 386 | rink : string; |
387 | + | |
388 | + procedure getNumberString; | |
389 | + begin | |
390 | + while (j <= len) do begin | |
391 | + if (ByteType(s, j) = mbSingleByte) then begin | |
392 | + //1byte¶ | |
393 | + ch := s[j]; | |
394 | + Inc(j); | |
395 | + db := false; | |
396 | + end else begin | |
397 | + //2byte¶ | |
398 | + ch := ZenToHan(Copy(s, j, 2)); | |
399 | + Inc(j, 2); | |
400 | + db := true; | |
401 | + end; | |
402 | + | |
403 | + if System.Pos(ch, SN) > 0 then begin | |
404 | + No := No + ch; | |
405 | + end else if (ch = '-') then begin | |
406 | + if sw then break; | |
407 | + if No = '' then break; | |
408 | + No := No + ch; | |
409 | + sw := true; | |
410 | + end else begin | |
411 | + break; | |
412 | + end; | |
413 | + end; | |
414 | + end; | |
415 | + | |
427 | 416 | begin |
428 | 417 | //s É{¶ðSüêé |
429 | 418 | s := PRes.FBody; |
@@ -482,22 +471,43 @@ begin | ||
482 | 471 | end; |
483 | 472 | // XAJ[ªÜÜêÄ¢½ç,ª±ÀèAJ[Ƶĵ¤ |
484 | 473 | if i <= 3 then begin |
485 | - appendResAnchor(PRes, PResLink, DatToHTML, s ); | |
474 | + No := ''; | |
475 | + j := 1; | |
476 | + len := Length(s); | |
477 | + cm := checkComma(s, j, No); | |
478 | + len := Length(s); | |
479 | + while cm do begin | |
480 | + oc := ''; | |
481 | + No := ''; | |
482 | + sw := false; | |
483 | + db := false; | |
484 | + getNumberString; | |
485 | + //I[ÜÅsÁÄÌI¹©`FbN | |
486 | + if j <= len then begin | |
487 | + if db then j := j - 2 | |
488 | + else j := j - 1; | |
489 | + end; | |
490 | + addResAnchor(PRes, PResLink, DatToHTML, s, j, No); | |
491 | + j := 1; | |
492 | + len := Length(s); | |
493 | + cm := checkComma(s, j, No); | |
494 | + end; | |
486 | 495 | end; |
487 | 496 | end else begin |
488 | 497 | //½©µç©Â©Á½p^[ |
489 | 498 | j := Length(TOKEN[i]) + 1; |
499 | + oc := ''; | |
500 | + No := ''; | |
501 | + sw := false; | |
490 | 502 | db := false; |
491 | - No := getNumberString(s, j, db, Length(s) ); | |
503 | + len := Length(s); | |
504 | + getNumberString; | |
492 | 505 | //I[ÜÅsÁÄÌI¹©`FbN |
493 | - if j <= Length(s) then begin | |
506 | + if j <= len then begin | |
494 | 507 | if db then j := j - 2 |
495 | 508 | else j := j - 1; |
496 | 509 | end; |
497 | 510 | addResAnchor(PRes, PResLink, DatToHTML, s, j, No); |
498 | - | |
499 | - // , ª±ÀèXAJ[Ƶķé | |
500 | - appendResAnchor(PRes, PResLink, DatToHTML, s ); | |
501 | 511 | end; |
502 | 512 | end; |
503 | 513 | if Length(s) > 0 then begin |
@@ -506,7 +516,8 @@ begin | ||
506 | 516 | end; |
507 | 517 | function THTMLCreate.checkComma( |
508 | 518 | const s : String; |
509 | - var j : Integer | |
519 | + var j : Integer; | |
520 | + var No : String | |
510 | 521 | ) : boolean; |
511 | 522 | var |
512 | 523 | bType : TMbcsByteType; |
@@ -521,38 +532,10 @@ begin | ||
521 | 532 | Inc(j) |
522 | 533 | else |
523 | 534 | Inc(j, 2); |
535 | + No := ''; | |
524 | 536 | end; |
525 | 537 | end; |
526 | 538 | end; |
527 | -function THTMLCreate.appendResAnchor( | |
528 | - PAddRes: PResRec; PResLink : PResLinkRec; dat : boolean; | |
529 | - var s : String) : string; | |
530 | -var | |
531 | - No{, ch, oc}: String; | |
532 | - len, j : Integer; | |
533 | - cm, {sw,} db : Boolean; | |
534 | - | |
535 | -begin | |
536 | - No := ''; | |
537 | - j := 1; | |
538 | - cm := checkComma(s, j); | |
539 | - len := Length(s); | |
540 | - while cm do begin | |
541 | - db := false; | |
542 | - No := getNumberString(s, j, db, len ); | |
543 | - | |
544 | - //I[ÜÅsÁÄÌI¹©`FbN | |
545 | - if j <= len then begin | |
546 | - if db then j := j - 2 | |
547 | - else j := j - 1; | |
548 | - end; | |
549 | - addResAnchor(PAddRes, PResLink, dat, s, j, No); | |
550 | - j := 1; | |
551 | - len := Length(s); | |
552 | - cm := checkComma(s, j); | |
553 | - end; | |
554 | -end; | |
555 | - | |
556 | 539 | function THTMLCreate.addResAnchor( |
557 | 540 | PAddRes: PResRec; PResLink : PResLinkRec; dat : boolean; |
558 | 541 | var s : String; j : Integer; const No: String) : string; |
@@ -579,6 +562,186 @@ begin | ||
579 | 562 | Delete(s, 1, j - 1); |
580 | 563 | end; |
581 | 564 | |
565 | +(************************************************************************* | |
566 | + * | |
567 | + * from HotZonu | |
568 | + *************************************************************************) | |
569 | +function THTMLCreate.ConvRes(const Body, Bbs, Key, | |
570 | + ParamBBS, ParamKey, ParamStart, ParamTo, ParamNoFirst, ParamTrue : string; | |
571 | + DatToHTML: boolean = false): string; | |
572 | +const | |
573 | + GT = '>'; | |
574 | + SN = '0123456789'; | |
575 | + FORMAT_LINK = '<a href="../test/read.cgi?%s=%s&%s=%s&%s=%s&%s=%s&%s=%s" target="_blank">'; | |
576 | + //õÎÛ̶ñS | |
577 | + TOKEN : array[0..5] of string = (GT+GT, GT, '', '', '<a ', '<A '); | |
578 | +var | |
579 | + i : integer; | |
580 | + s : string; | |
581 | + sw: boolean; | |
582 | + cm: boolean; | |
583 | + No: string; | |
584 | + oc : string; | |
585 | + pos, pmin : integer; | |
586 | + j : integer; | |
587 | + ch : string; | |
588 | + db : boolean; | |
589 | + len : integer; | |
590 | + rink : string; | |
591 | + function addResAnchor(const Left :string) : string; | |
592 | + var | |
593 | + st,et : string; | |
594 | + begin | |
595 | + //I[ÜÅsÁÄÌI¹©`FbN | |
596 | + if j <= len then begin | |
597 | + if db then j := j - 2 | |
598 | + else j := j - 1; | |
599 | + end; | |
600 | + //½àª©Â©çȢƫ | |
601 | + if No = '' then begin | |
602 | + Result := Left + Copy(s, 1, j - 1); | |
603 | + end else begin | |
604 | + separateNumber(st, et, No, '-'); | |
605 | + | |
606 | + if not DatToHTML then begin | |
607 | + Result := Left + Format(FORMAT_LINK, | |
608 | + [ParamBBS, Bbs, ParamKey, Key, ParamStart, st, ParamTo, et, ParamNoFirst, ParamTrue]); | |
609 | + end else begin | |
610 | + Result := Left + Format('<a href="#%s">', [st]); | |
611 | + end; | |
612 | + Result := Result + Copy(s, 1, j - 1) + '</a>'; | |
613 | + end; | |
614 | + Delete(s, 1, j - 1); | |
615 | + end; | |
616 | + | |
617 | + procedure getNumberString; | |
618 | + begin | |
619 | + while (j <= len) do begin | |
620 | + if (ByteType(s, j) = mbSingleByte) then begin | |
621 | + //1byte¶ | |
622 | + ch := s[j]; | |
623 | + Inc(j); | |
624 | + db := false; | |
625 | + end else begin | |
626 | + //2byte¶ | |
627 | + ch := ZenToHan(Copy(s, j, 2)); | |
628 | + Inc(j, 2); | |
629 | + db := true; | |
630 | + end; | |
631 | + | |
632 | + if System.Pos(ch, SN) > 0 then begin | |
633 | + No := No + ch; | |
634 | + end else if (ch = '-') then begin | |
635 | + if sw then break; | |
636 | + if No = '' then break; | |
637 | + No := No + ch; | |
638 | + sw := true; | |
639 | + end else begin | |
640 | + break; | |
641 | + end; | |
642 | + end; | |
643 | + end; | |
644 | + | |
645 | + function checkComma : boolean; | |
646 | + begin | |
647 | + j := 1; | |
648 | + len := Length(s); | |
649 | + if ((len > 0) and (s[j] = ',')) or ((len > 1) and (ZenToHan(Copy(s, j ,2)) = ',')) then begin | |
650 | + Result := true; | |
651 | + if (ByteType(s, j) = mbSingleByte) then | |
652 | + Inc(j) | |
653 | + else | |
654 | + Inc(j, 2); | |
655 | + No := ''; | |
656 | + end else begin | |
657 | + Result := false; | |
658 | + end; | |
659 | + end; | |
660 | +begin | |
661 | + //s É{¶ðSüêé | |
662 | + s := Body; | |
663 | + //ÊðNA | |
664 | + Result := ''; | |
665 | + | |
666 | + // | |
667 | + while Length(s) > 2 do begin | |
668 | + pmin := Length(s) + 1; | |
669 | + i := Length(token); | |
670 | + for j := 0 to 5 do begin | |
671 | + pos := AnsiPos(TOKEN[j], s); | |
672 | + if pos <> 0 then begin | |
673 | + if pos < pmin then begin | |
674 | + //ÇêÅqbgµ½©Û¶ | |
675 | + i := j; | |
676 | + //ŬlðXV | |
677 | + pmin := pos; | |
678 | + end; | |
679 | + end; | |
680 | + end; | |
681 | + | |
682 | + //qbgµ½¶ñÌêÂèOÜÅÊÉRs[ | |
683 | + Result := Result + Copy(s, 1, pmin - 1); | |
684 | + Delete(s, 1, pmin - 1); | |
685 | + | |
686 | + if i = 6 then begin | |
687 | + //qbgȵ | |
688 | + end else if (i = 4) or (i = 5) then begin | |
689 | + //'<a ' or '<A' Åqbg '</a>' or '</A>' ÜÅRs[ | |
690 | + pmin := AnsiPos('</a>' , s); | |
691 | + pos := AnsiPos('</A>' , s); | |
692 | + if (pmin <> 0) and (pos <> 0) then begin | |
693 | + if (pmin > pos) then begin | |
694 | + pmin := pos; | |
695 | + end; | |
696 | + end else if (pos <> 0) then begin | |
697 | + pmin := pos; | |
698 | + end; | |
699 | + rink := Copy(s, 1, pmin + 3); | |
700 | + Result := Result + rink; | |
701 | + Delete(s, 1, pmin + 3); | |
702 | + | |
703 | + pmin := Length(rink); | |
704 | + i := Length(TOKEN); | |
705 | + for j := 0 to 3 do begin | |
706 | + pos := AnsiPos(TOKEN[j], rink); | |
707 | + if pos <> 0 then begin | |
708 | + if pos < pmin then begin | |
709 | + //ÇêÅqbgµ½©Û¶ | |
710 | + i := j; | |
711 | + //ŬlðXV | |
712 | + pmin := pos; | |
713 | + end; | |
714 | + end; | |
715 | + end; | |
716 | + // XAJ[ªÜÜêÄ¢½ç,ª±ÀèAJ[Ƶĵ¤ | |
717 | + if i <= 3 then begin | |
718 | + No := ''; | |
719 | + cm := checkComma; | |
720 | + len := Length(s); | |
721 | + while cm do begin | |
722 | + oc := ''; | |
723 | + No := ''; | |
724 | + sw := false; | |
725 | + db := false; | |
726 | + getNumberString; | |
727 | + Result := addResAnchor(Result); | |
728 | + cm := checkComma; | |
729 | + end; | |
730 | + end; | |
731 | + end else begin | |
732 | + //½©µç©Â©Á½p^[ | |
733 | + j := Length(TOKEN[i]) + 1; | |
734 | + oc := ''; | |
735 | + No := ''; | |
736 | + sw := false; | |
737 | + db := false; | |
738 | + len := Length(s); | |
739 | + getNumberString; | |
740 | + Result := addResAnchor(Result); | |
741 | + end; | |
742 | + end; | |
743 | + Result := Result + s; | |
744 | +end; | |
582 | 745 | |
583 | 746 | procedure THTMLCreate.ConvertResAnchor(PRes: PResRec); |
584 | 747 | const |
@@ -1468,8 +1631,7 @@ begin | ||
1468 | 1631 | finally |
1469 | 1632 | dirs.Free; |
1470 | 1633 | end; |
1471 | -end; | |
1472 | -{! | |
1634 | +end;{! | |
1473 | 1635 | \brief datt@CÌêCðªð |
1474 | 1636 | \param Line datt@Cð\¬·é 1 s |
1475 | 1637 | \return Xîñ |
@@ -289,26 +289,17 @@ begin | ||
289 | 289 | Result := CustomStringReplace(Result, '|', 'b'); |
290 | 290 | end; |
291 | 291 | (************************************************************************* |
292 | - * ³øÈID©Ì`FbNi³øáFID:??? , ID:???X) | |
292 | + * ³øÈID©Ì`FbNi³øáFID:??? , ID:???0) | |
293 | 293 | *************************************************************************) |
294 | 294 | function IsNoValidID( inID :String): Boolean; |
295 | -var | |
296 | - bTail : Boolean; | |
297 | 295 | begin |
298 | - Result := True; | |
299 | 296 | inID := Trim(inID); |
300 | - if (Length(inID) > 0) then begin | |
297 | + if inID = '' then Result := True | |
298 | + else begin | |
301 | 299 | inID := Copy(inID, AnsiPos(':', inID) + 1, Length(inID) ); |
302 | - bTail := False; | |
303 | - // öª?ÈO© | |
304 | - if Length(inID) > 0 then begin | |
305 | - bTail := (inID[Length(inID)] <> '?'); | |
306 | - end; | |
307 | 300 | inID := CustomStringReplace(inID, '?', ''); |
308 | - if (Length(inID) > 0) and (not | |
309 | - ((Length(inID) = 1) and (bTail))) then begin | |
310 | - Result := False; | |
311 | - end; | |
301 | + if (inID = '') or (inID = '0') then Result := True | |
302 | + else Result := False; | |
312 | 303 | end; |
313 | 304 | end; |
314 | 305 |
@@ -61,7 +61,6 @@ var | ||
61 | 61 | Item: TNewBoardItem; |
62 | 62 | URL : String; |
63 | 63 | protocol, host, path, document, port, bookmark: String; |
64 | - TabURLs: TStringList; | |
65 | 64 | begin |
66 | 65 | try |
67 | 66 | MessageMemo.Clear; |
@@ -82,16 +81,12 @@ begin | ||
82 | 81 | if FAbort then |
83 | 82 | Exit; |
84 | 83 | if Item.FContent <> '' then begin |
85 | - TabURLs := TStringList.Create; | |
86 | - try | |
87 | - GikoDM.GetTabURLs(TabURLs); | |
88 | - if (UpdateURL(Item.FContent)) then begin | |
89 | - GikoForm.ReloadBBS; | |
90 | - end; | |
91 | - GikoDM.OpenURLs(TabURLs); | |
92 | - finally | |
93 | - TabURLs.Free; | |
94 | - end; | |
84 | + GikoDM.TabsOpenAction.Tag := 1; | |
85 | + GikoDM.TabsSaveAction.Execute; | |
86 | + if (UpdateURL(Item.FContent)) then begin | |
87 | + GikoForm.ReloadBBS; | |
88 | + end; | |
89 | + GikoDM.TabsOpenAction.Tag := 0; | |
95 | 90 | end else |
96 | 91 | MessageMemo.Lines.Add('_E[hª¸sµÜµ½[' + IntToStr(Item.FResponseCode) + ']'); |
97 | 92 | finally |
@@ -1,6 +1,6 @@ | ||
1 | 1 | object RoundDialog: TRoundDialog |
2 | - Left = 256 | |
3 | - Top = 175 | |
2 | + Left = 249 | |
3 | + Top = 137 | |
4 | 4 | Width = 600 |
5 | 5 | Height = 427 |
6 | 6 | BorderIcons = [biSystemMenu] |
@@ -190,7 +190,7 @@ object RoundDialog: TRoundDialog | ||
190 | 190 | Top = 4 |
191 | 191 | Bitmap = { |
192 | 192 | 494C010104000900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 |
193 | - 0000000000003600000028000000400000003000000001001000000000000018 | |
193 | + 0000000000003600000028000000400000003000000001002000000000000030 | |
194 | 194 | 0000000000000000000000000000000000000000000000000000000000000000 |
195 | 195 | 0000000000000000000000000000000000000000000000000000000000000000 |
196 | 196 | 0000000000000000000000000000000000000000000000000000000000000000 |
@@ -324,64 +324,256 @@ object RoundDialog: TRoundDialog | ||
324 | 324 | 0000000000000000000000000000000000000000000000000000000000000000 |
325 | 325 | 0000000000000000000000000000000000000000000000000000000000000000 |
326 | 326 | 0000000000000000000000000000000000000000000000000000000000000000 |
327 | - 0000000000000000000000000000000000000000000010421863186318631863 | |
328 | - 1863186318631863186318631863000000000000000000000000000000000000 | |
329 | 327 | 0000000000000000000000000000000000000000000000000000000000000000 |
330 | - 0000000000000000000000000000000000000000000010421042104210421042 | |
331 | - 104210421042104210421042000000000000000000001042FF7FFF7FFF7FFF7F | |
332 | - FF7FFF7FFF7FFF7FFF7FFF7F1863000000000000000000000000000000000000 | |
333 | 328 | 0000000000000000000000000000000000000000000000000000000000000000 |
334 | - 000000000000000000000000000000000000000000001042FF7F1863E07F1863 | |
335 | - E07F1863E07F1863E07F1042000000000000000000001042FF7F104210421042 | |
336 | - 10421042104210421042FF7F1863000000000000000000000000000000000000 | |
337 | 329 | 0000000000000000000000000000000000000000000000000000000000000000 |
338 | - 00000000000000000000000000000000000000001042FF7F1863E07F1863E07F | |
339 | - 1863E07F1863E07F18630000104200000000000000001042FF7FFF7FFF7FFF7F | |
340 | - FF7FFF7FFF7FFF7FFF7FFF7F186300000000000000000000FF7FFF7FFF7FFF7F | |
341 | - FF7FFF7FFF7FFF7F000000000000000000000000000000000000000000001042 | |
342 | - FF7F0000000000000000000000000000000010421042FF7FE07F1863E07F1863 | |
343 | - E07F1863E07F186310420000000000000000000000001042FF7F104210421042 | |
344 | - 10421042104210421042FF7F1863000000000000000000001042104200000000 | |
345 | - 00000000FF7FFF7F000000000000000000000000000000000000000010421042 | |
346 | - FF7FFF7F00000000000000000000000000001042FF7FE07F1863E07F1863E07F | |
347 | - 1863E07F1863E07F00001863186300000000000000001042FF7FFF7FFF7FFF7F | |
348 | - FF7FFF7FFF7FFF7FFF7FFF7F1863000000000000000000000000104200000000 | |
349 | - 00000000FF7F0000000000000000000000000000000000000000000010420000 | |
350 | - 0000FF7F00000000000000000000000000001042FF7FFF7FFF7FFF7FFF7FFF7F | |
351 | - FF7FFF7FFF7F104200001F00FF7F18630000000000001042FF7F104210421042 | |
352 | - 10421042104210421042FF7F1863000000000000000000000000104210420000 | |
353 | - 0000FF7FFF7F0000000000000000000000000000000000000000104210420000 | |
354 | - 0000FF7FFF7F0000000000000000000000000000104210421042104210421042 | |
355 | - 10421042104210421042FF7FFF7F00000000000000001042FF7FFF7FFF7FFF7F | |
356 | - FF7FFF7FFF7FFF7FFF7FFF7F1863000000000000000000000000000010420000 | |
357 | - 0000FF7F00000000000000000000000000000000000000000000104200000000 | |
358 | - 00000000FF7F00000000000000000000000000001042FF7FE07F18631042FF7F | |
359 | - FF7F1F0018631F00FF7FFF7F000000000000000000001042FF7F104210421042 | |
360 | - 10421042104210421042FF7F1863000000000000000000000000000010421042 | |
361 | - FF7FFF7F00000000000000000000000000000000000000001042104200000000 | |
362 | - 00000000FF7FFF7F0000000000000000000000001042FF7F1863E07F18631042 | |
363 | - FF7FFF7F1F00FF7FFF7F0000104200000000000000001042FF7FFF7FFF7FFF7F | |
364 | - FF7FFF7FFF7FFF7FFF7FFF7F1863000000000000000000000000000000001042 | |
365 | - FF7F000000000000000000000000000000000000000000001042104210421042 | |
366 | - 10421042104210420000000000000000000000001042FF7FE07F1863E07F1863 | |
367 | - 1042FF7FFF7FFF7F00001042104200000000000000001042FF7F104210421042 | |
368 | - 10421042104210421042FF7F1863000000000000000000000000000000000000 | |
369 | 330 | 0000000000000000000000000000000000000000000000000000000000000000 |
370 | - 000000000000000000000000000000000000000000001042FF7FFF7FFF7FFF7F | |
371 | - 10421042FF7F000000000000000000000000000000001042FF7FFF7FFF7FFF7F | |
372 | - FF7FFF7FFF7FFF7F000000000000000000000000000000000000000000000000 | |
373 | 331 | 0000000000000000000000000000000000000000000000000000000000000000 |
374 | - 0000000000000000000000000000000000000000000000001042104210421042 | |
375 | - 000000000000000000000000000000000000000000001042FF7FFF7FFF7FFF7F | |
376 | - FF7FFF7FFF7FFF7F1863FF7F1042000000000000000000000000000000000000 | |
377 | 332 | 0000000000000000000000000000000000000000000000000000000000000000 |
378 | 333 | 0000000000000000000000000000000000000000000000000000000000000000 |
379 | - 000000000000000000000000000000000000000000001042FF7FFF7FFF7FFF7F | |
380 | - FF7FFF7FFF7FFF7F186310420000000000000000000000000000000000000000 | |
381 | 334 | 0000000000000000000000000000000000000000000000000000000000000000 |
382 | 335 | 0000000000000000000000000000000000000000000000000000000000000000 |
383 | - 0000000000000000000000000000000000000000000010421042104210421042 | |
384 | - 1042104210421042104200000000000000000000000000000000000000000000 | |
336 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
337 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
338 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
339 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
340 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
341 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
342 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
343 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
344 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
345 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
346 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
347 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
348 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
349 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
350 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
351 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
352 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
353 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
354 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
355 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
356 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
357 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
358 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
359 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
360 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
361 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
362 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
363 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
364 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
365 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
366 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
367 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
368 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
369 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
370 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
371 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
372 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
373 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
374 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
375 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
376 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
377 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
378 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
379 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
380 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
381 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
382 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
383 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
384 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
385 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
386 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
387 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
388 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
389 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
390 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
391 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
392 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
393 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
394 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
395 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
396 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
397 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
398 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
399 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
400 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
401 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
402 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
403 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
404 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
405 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
406 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
407 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
408 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
409 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
410 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
411 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
412 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
413 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
414 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
415 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
416 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
417 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
418 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
419 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
420 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
421 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
422 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
423 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
424 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
425 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
426 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
427 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
428 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
429 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
430 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
431 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
432 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
433 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
434 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
435 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
436 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
437 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
438 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
439 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
440 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
441 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
442 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
443 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
444 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
445 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
446 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
447 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
448 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
449 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
450 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
451 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
452 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
453 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
454 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
455 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
456 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
457 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
458 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
459 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
460 | + 000000000000000000000000000000000000000000000000000084848400C6C6 | |
461 | + C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6 | |
462 | + C600C6C6C600C6C6C60000000000000000000000000000000000000000000000 | |
463 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
464 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
465 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
466 | + 0000000000000000000000000000000000000000000000000000848484008484 | |
467 | + 8400848484008484840084848400848484008484840084848400848484008484 | |
468 | + 840084848400000000000000000000000000000000000000000084848400FFFF | |
469 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF | |
470 | + FF00FFFFFF00C6C6C60000000000000000000000000000000000000000000000 | |
471 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
472 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
473 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
474 | + 000000000000000000000000000000000000000000000000000084848400FFFF | |
475 | + FF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FF | |
476 | + FF0084848400000000000000000000000000000000000000000084848400FFFF | |
477 | + FF00848484008484840084848400848484008484840084848400848484008484 | |
478 | + 8400FFFFFF00C6C6C60000000000000000000000000000000000000000000000 | |
479 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
480 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
481 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
482 | + 0000000000000000000000000000000000000000000084848400FFFFFF00C6C6 | |
483 | + C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6 | |
484 | + C60000000000848484000000000000000000000000000000000084848400FFFF | |
485 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF | |
486 | + FF00FFFFFF00C6C6C6000000000000000000000000000000000000000000FFFF | |
487 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 | |
488 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
489 | + 0000000000000000000084848400FFFFFF000000000000000000000000000000 | |
490 | + 0000000000000000000000000000000000008484840084848400FFFFFF0000FF | |
491 | + FF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C6008484 | |
492 | + 840000000000000000000000000000000000000000000000000084848400FFFF | |
493 | + FF00848484008484840084848400848484008484840084848400848484008484 | |
494 | + 8400FFFFFF00C6C6C60000000000000000000000000000000000000000008484 | |
495 | + 84008484840000000000000000000000000000000000FFFFFF00FFFFFF000000 | |
496 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
497 | + 0000000000008484840084848400FFFFFF00FFFFFF0000000000000000000000 | |
498 | + 00000000000000000000000000000000000084848400FFFFFF0000FFFF00C6C6 | |
499 | + C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF000000 | |
500 | + 0000C6C6C600C6C6C6000000000000000000000000000000000084848400FFFF | |
501 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF | |
502 | + FF00FFFFFF00C6C6C60000000000000000000000000000000000000000000000 | |
503 | + 00008484840000000000000000000000000000000000FFFFFF00000000000000 | |
504 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
505 | + 000000000000848484000000000000000000FFFFFF0000000000000000000000 | |
506 | + 00000000000000000000000000000000000084848400FFFFFF00FFFFFF00FFFF | |
507 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00848484000000 | |
508 | + 0000FF000000FFFFFF00C6C6C60000000000000000000000000084848400FFFF | |
509 | + FF00848484008484840084848400848484008484840084848400848484008484 | |
510 | + 8400FFFFFF00C6C6C60000000000000000000000000000000000000000000000 | |
511 | + 000084848400848484000000000000000000FFFFFF00FFFFFF00000000000000 | |
512 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
513 | + 000084848400848484000000000000000000FFFFFF00FFFFFF00000000000000 | |
514 | + 0000000000000000000000000000000000000000000084848400848484008484 | |
515 | + 8400848484008484840084848400848484008484840084848400848484008484 | |
516 | + 8400FFFFFF00FFFFFF000000000000000000000000000000000084848400FFFF | |
517 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF | |
518 | + FF00FFFFFF00C6C6C60000000000000000000000000000000000000000000000 | |
519 | + 000000000000848484000000000000000000FFFFFF0000000000000000000000 | |
520 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
521 | + 00008484840000000000000000000000000000000000FFFFFF00000000000000 | |
522 | + 0000000000000000000000000000000000000000000084848400FFFFFF0000FF | |
523 | + FF00C6C6C60084848400FFFFFF00FFFFFF00FF000000C6C6C600FF000000FFFF | |
524 | + FF00FFFFFF00000000000000000000000000000000000000000084848400FFFF | |
525 | + FF00848484008484840084848400848484008484840084848400848484008484 | |
526 | + 8400FFFFFF00C6C6C60000000000000000000000000000000000000000000000 | |
527 | + 0000000000008484840084848400FFFFFF00FFFFFF0000000000000000000000 | |
528 | + 0000000000000000000000000000000000000000000000000000000000008484 | |
529 | + 84008484840000000000000000000000000000000000FFFFFF00FFFFFF000000 | |
530 | + 0000000000000000000000000000000000000000000084848400FFFFFF00C6C6 | |
531 | + C60000FFFF00C6C6C60084848400FFFFFF00FFFFFF00FF000000FFFFFF00FFFF | |
532 | + FF0000000000848484000000000000000000000000000000000084848400FFFF | |
533 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF | |
534 | + FF00FFFFFF00C6C6C60000000000000000000000000000000000000000000000 | |
535 | + 0000000000000000000084848400FFFFFF000000000000000000000000000000 | |
536 | + 0000000000000000000000000000000000000000000000000000000000008484 | |
537 | + 8400848484008484840084848400848484008484840084848400848484000000 | |
538 | + 0000000000000000000000000000000000000000000084848400FFFFFF0000FF | |
539 | + FF00C6C6C60000FFFF00C6C6C60084848400FFFFFF00FFFFFF00FFFFFF000000 | |
540 | + 000084848400848484000000000000000000000000000000000084848400FFFF | |
541 | + FF00848484008484840084848400848484008484840084848400848484008484 | |
542 | + 8400FFFFFF00C6C6C60000000000000000000000000000000000000000000000 | |
543 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
544 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
545 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
546 | + 000000000000000000000000000000000000000000000000000084848400FFFF | |
547 | + FF00FFFFFF00FFFFFF00FFFFFF008484840084848400FFFFFF00000000000000 | |
548 | + 000000000000000000000000000000000000000000000000000084848400FFFF | |
549 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 | |
550 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
551 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
552 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
553 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
554 | + 0000000000000000000000000000000000000000000000000000000000008484 | |
555 | + 8400848484008484840084848400000000000000000000000000000000000000 | |
556 | + 000000000000000000000000000000000000000000000000000084848400FFFF | |
557 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6 | |
558 | + C600FFFFFF008484840000000000000000000000000000000000000000000000 | |
559 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
560 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
561 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
562 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
563 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
564 | + 000000000000000000000000000000000000000000000000000084848400FFFF | |
565 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6 | |
566 | + C600848484000000000000000000000000000000000000000000000000000000 | |
567 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
568 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
569 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
570 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
571 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
572 | + 0000000000000000000000000000000000000000000000000000848484008484 | |
573 | + 8400848484008484840084848400848484008484840084848400848484008484 | |
574 | + 8400000000000000000000000000000000000000000000000000000000000000 | |
575 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
576 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
385 | 577 | 0000000000000000000000000000000000000000000000000000000000000000 |
386 | 578 | 000000000000000000000000000000000000424D3E000000000000003E000000 |
387 | 579 | 2800000040000000300000000100010000000000800100000000000000000000 |
@@ -38,6 +38,9 @@ type | ||
38 | 38 | property Count[RoundType: TGikoRoundType]: Integer read GetCount; |
39 | 39 | property OldFileRead: Boolean read FOldFileRead; |
40 | 40 | property Items[Index: integer; RoundType: TGikoRoundType]: TRoundItem read GetRoundItem; |
41 | + //procedure SetRoundName(Board: TBoard; RoundName: string); overload; | |
42 | + //procedure SetRoundName(ThreadItem: TThreadItem; RoundName: string); overload; | |
43 | + | |
41 | 44 | procedure LoadRoundBoardFile; |
42 | 45 | procedure LoadRoundThreadFile; |
43 | 46 | procedure SaveRoundFile; |
@@ -47,21 +50,30 @@ type | ||
47 | 50 | |
48 | 51 | TRoundItem = class(TObject) |
49 | 52 | private |
53 | +// | |
50 | 54 | FItem : TObject; |
55 | +// FBBSType: TGikoBBSType; | |
56 | + FRoundName: string; | |
51 | 57 | FRoundType: TGikoRoundType; |
58 | + //Item : TObject; | |
59 | + //FURL : string; | |
60 | + //FBoardTitle: string; | |
61 | + //FThreadTitle: string; | |
62 | + //FFileName: string; | |
52 | 63 | FTmpURL : string; |
53 | 64 | FBoolData: Boolean; //¢ë¢ëg¤å£ |
54 | 65 | function GetBoardTitle : string; |
55 | 66 | function GetThreadTitle : string; |
56 | 67 | function GetURL : string; |
57 | 68 | function GetFileName : string; |
58 | - //! ñ¼æ¾ | |
59 | - function GetRoundName : string; | |
60 | 69 | public |
70 | + | |
61 | 71 | constructor Create; |
62 | 72 | property Item : TObject read FItem; |
63 | - property RoundName: string read GetRoundName; | |
73 | + //property BBSType: TGikoBBSType read FBBSType write FBBSType; | |
74 | + property RoundName: string read FRoundName write FRoundName; | |
64 | 75 | property RoundType: TGikoRoundType read FRoundType write FRoundType; |
76 | + //property Item : TObject read FItem write FItem; | |
65 | 77 | property URL : string read GetURL; |
66 | 78 | property TmpURL : string read FTmpURL write FTmpURL; |
67 | 79 | property BoardTitle: string read GetBoardTitle; |
@@ -80,12 +92,10 @@ const | ||
80 | 92 | ROUND_INDEX_VERSION: string = '2.00'; |
81 | 93 | ERROR_BOARD_FILENAME: string = 'ErrorBoard.2ch'; //ErrorsðÛÇ·é |
82 | 94 | ERROR_ITEM_FILENAME: string = 'ErrorItem.2ch'; //ErrorsðÛÇ·é |
83 | -//! ñACeRXgN^ | |
84 | 95 | constructor TRoundItem.Create; |
85 | 96 | begin |
86 | 97 | inherited Create; |
87 | 98 | end; |
88 | -//! Â¼æ¾ | |
89 | 99 | function TRoundItem.GetBoardTitle : string; |
90 | 100 | begin |
91 | 101 | Result := ''; |
@@ -97,7 +107,6 @@ begin | ||
97 | 107 | end; |
98 | 108 | end; |
99 | 109 | end; |
100 | -//! Xbh¼æ¾ | |
101 | 110 | function TRoundItem.GetThreadTitle : string; |
102 | 111 | begin |
103 | 112 | Result := ''; |
@@ -107,7 +116,6 @@ begin | ||
107 | 116 | end; |
108 | 117 | end; |
109 | 118 | end; |
110 | -//! URLæ¾ | |
111 | 119 | function TRoundItem.GetURL : string; |
112 | 120 | begin |
113 | 121 | Result := ''; |
@@ -119,7 +127,6 @@ begin | ||
119 | 127 | end; |
120 | 128 | end; |
121 | 129 | end; |
122 | -//! XbhÌt@C¼æ¾ | |
123 | 130 | function TRoundItem.GetFileName : string; |
124 | 131 | begin |
125 | 132 | Result := ''; |
@@ -129,19 +136,6 @@ begin | ||
129 | 136 | end; |
130 | 137 | end; |
131 | 138 | end; |
132 | -//! ñ¼æ¾ | |
133 | -function TRoundItem.GetRoundName : string; | |
134 | -begin | |
135 | - Result := ''; | |
136 | - if( Self.FItem <> nil) then begin | |
137 | - if( Self.FItem is TBoard) then begin | |
138 | - Result := TBoard(Self.FItem).RoundName; | |
139 | - end else if( Self.FItem is TThreadItem) then begin | |
140 | - Result := TThreadItem(Self.FItem).RoundName; | |
141 | - end; | |
142 | - end; | |
143 | -end; | |
144 | -//! ñXgRXgN^ | |
145 | 139 | constructor TRoundList.Create; |
146 | 140 | begin |
147 | 141 | inherited; |
@@ -152,7 +146,7 @@ begin | ||
152 | 146 | RoundNameList.Duplicates := dupIgnore; |
153 | 147 | FOldFileRead := false; |
154 | 148 | end; |
155 | -//! ñXgfXgN^ | |
149 | + | |
156 | 150 | destructor TRoundList.Destroy; |
157 | 151 | begin |
158 | 152 | RoundNameList.Free; |
@@ -161,7 +155,7 @@ begin | ||
161 | 155 | FItemList.Free; |
162 | 156 | //inherited; |
163 | 157 | end; |
164 | -//! ñ\ñÇÁiÂj | |
158 | + | |
165 | 159 | function TRoundList.Add(Board: TBoard): Integer; |
166 | 160 | var |
167 | 161 | idx: Integer; |
@@ -169,15 +163,22 @@ var | ||
169 | 163 | begin |
170 | 164 | Result := -1; |
171 | 165 | idx := Find(Board); |
166 | + //RoundNameList.Add(Board.RoundName); | |
172 | 167 | if idx = -1 then begin |
173 | 168 | Item := TRoundItem.Create; |
174 | 169 | Item.FItem := Board; |
175 | 170 | // Item.BBSType := gbt2ch; //Æè ¦¸ |
176 | 171 | Item.RoundType := grtBoard; |
172 | +// Item.Item := Board; | |
173 | + //Item.URL := Board.URL; | |
174 | + //Item.BoardTitle := Board.Title; | |
175 | + //Item.ThreadTitle := ''; | |
176 | + //Item.FileName := ''; | |
177 | + Item.RoundName := Board.RoundName; | |
177 | 178 | Result := FBoardList.Add(Item); |
178 | 179 | end; |
179 | 180 | end; |
180 | -//! ñ\ñÇÁiXbhj | |
181 | + | |
181 | 182 | function TRoundList.Add(ThreadItem: TThreadItem): Integer; |
182 | 183 | var |
183 | 184 | idx: Integer; |
@@ -185,18 +186,26 @@ var | ||
185 | 186 | begin |
186 | 187 | Result := -1; |
187 | 188 | idx := Find(ThreadItem); |
189 | + //RoundNameList.Add(ThreadItem.RoundName); | |
188 | 190 | if idx = -1 then begin |
189 | 191 | Item := TRoundItem.Create; |
190 | 192 | Item.FItem := ThreadItem; |
191 | 193 | // Item.BBSType := gbt2ch; //Æè ¦¸ |
192 | 194 | Item.RoundType := grtItem; |
195 | +// Item.Item := ThreadItem; | |
196 | + //Item.URL := Threaditem.URL; | |
197 | + //Item.BoardTitle := ThreadItem.ParentBoard.Title; | |
198 | + //Item.ThreadTitle := ThreadItem.Title; | |
199 | + //Item.FileName := ThreadItem.FileName; | |
200 | + Item.RoundName := ThreadItem.RoundName; | |
193 | 201 | Result := FItemList.Add(Item); |
194 | 202 | end; |
195 | 203 | end; |
196 | -//! ñ\ñíiÂj | |
204 | + | |
197 | 205 | procedure TRoundList.Delete(Board: TBoard); |
198 | 206 | var |
199 | 207 | idx: Integer; |
208 | +// Item: TRoundItem; | |
200 | 209 | begin |
201 | 210 | idx := Find(Board); |
202 | 211 | if idx <> -1 then begin |
@@ -205,10 +214,11 @@ begin | ||
205 | 214 | FBoardList.Delete(idx); |
206 | 215 | end; |
207 | 216 | end; |
208 | -//! ñ\ñíiXbhj | |
217 | + | |
209 | 218 | procedure TRoundList.Delete(ThreadItem: TThreadItem); |
210 | 219 | var |
211 | 220 | idx: Integer; |
221 | +// Item: TRoundItem; | |
212 | 222 | begin |
213 | 223 | idx := Find(ThreadItem); |
214 | 224 | if idx <> -1 then begin |
@@ -217,7 +227,7 @@ begin | ||
217 | 227 | FItemList.Delete(idx); |
218 | 228 | end; |
219 | 229 | end; |
220 | -//! ñ\ñÁ | |
230 | + | |
221 | 231 | procedure TRoundList.Clear; |
222 | 232 | var |
223 | 233 | i: Integer; |
@@ -235,7 +245,7 @@ begin | ||
235 | 245 | end; |
236 | 246 | FItemList.Capacity := FItemList.Count; |
237 | 247 | end; |
238 | -//! ñ\ñõiÂj | |
248 | + | |
239 | 249 | function TRoundList.Find(Board: TBoard): Integer; |
240 | 250 | var |
241 | 251 | i: Integer; |
@@ -251,7 +261,7 @@ begin | ||
251 | 261 | end; |
252 | 262 | end; |
253 | 263 | end; |
254 | -//! ñ\ñõiXbhj | |
264 | + | |
255 | 265 | function TRoundList.Find(ThreadItem: TThreadItem): Integer; |
256 | 266 | var |
257 | 267 | i: Integer; |
@@ -267,7 +277,6 @@ begin | ||
267 | 277 | end; |
268 | 278 | end; |
269 | 279 | end; |
270 | -//! ñ\ñõiURL{ACe^Cvj | |
271 | 280 | function TRoundList.Find(URL: string; RoundType: TGikoRoundType): Integer; |
272 | 281 | var |
273 | 282 | i: Integer; |
@@ -294,7 +303,6 @@ begin | ||
294 | 303 | end; |
295 | 304 | end; |
296 | 305 | end; |
297 | -//! ñ\ñíiURL{ACe^Cvj | |
298 | 306 | procedure TRoundList.Delete(URL: string; RoundType: TGikoRoundType); |
299 | 307 | var |
300 | 308 | idx: Integer; |
@@ -310,6 +318,7 @@ begin | ||
310 | 318 | board := TBoard(Item); |
311 | 319 | Item.Free; |
312 | 320 | FBoardList.Delete(idx); |
321 | + //board := BBSsFindBoardFromURL(URL); | |
313 | 322 | if board <> nil then begin |
314 | 323 | board.Round := False; |
315 | 324 | board.RoundName := ''; |
@@ -320,6 +329,7 @@ begin | ||
320 | 329 | Item.Free; |
321 | 330 | FItemList.Delete(idx); |
322 | 331 | |
332 | + //threadItem := BBSsFindThreadFromURL(URL); | |
323 | 333 | if threadItem <> nil then begin |
324 | 334 | threadItem.Round := false; |
325 | 335 | threadItem.RoundName := ''; |
@@ -327,7 +337,32 @@ begin | ||
327 | 337 | end; |
328 | 338 | end; |
329 | 339 | end; |
330 | -//! ñ\ñæ¾ | |
340 | +{ | |
341 | +procedure TRoundList.SetRoundName(Board: TBoard; RoundName: string); | |
342 | +var | |
343 | + idx: Integer; | |
344 | + Item: TRoundItem; | |
345 | +begin | |
346 | + idx := Find(Board); | |
347 | + if idx <> -1 then begin | |
348 | + Item := TRoundItem(FBoardList[idx]); | |
349 | + Item.RoundName := RoundName; | |
350 | + end; | |
351 | +end; | |
352 | +} | |
353 | +{ | |
354 | +procedure TRoundList.SetRoundName(ThreadItem: TThreadItem; RoundName: string); | |
355 | +var | |
356 | + idx: Integer; | |
357 | + Item: TRoundItem; | |
358 | +begin | |
359 | + idx := Find(ThreadItem); | |
360 | + if idx <> -1 then begin | |
361 | + Item := TRoundItem(FItemList[idx]); | |
362 | + Item.RoundName := RoundName; | |
363 | + end; | |
364 | +end; | |
365 | +} | |
331 | 366 | function TRoundList.GetCount(RoundType: TGikoRoundType): Integer; |
332 | 367 | begin |
333 | 368 | Result := 0; |
@@ -336,7 +371,7 @@ begin | ||
336 | 371 | else if RoundType = grtItem then |
337 | 372 | Result := FItemList.Count; |
338 | 373 | end; |
339 | -//! ñ\ñæ¾ | |
374 | + | |
340 | 375 | function TRoundList.GetRoundItem(Index: Integer; RoundType: TGikoRoundType): TRoundItem; |
341 | 376 | begin |
342 | 377 | Result := nil; |
@@ -348,7 +383,6 @@ begin | ||
348 | 383 | Result := TRoundItem(FItemList[Index]); |
349 | 384 | end; |
350 | 385 | end; |
351 | -//! {[hñ\ñt@CÇÝÝ | |
352 | 386 | procedure TRoundList.LoadRoundBoardFile; |
353 | 387 | var |
354 | 388 | i: Integer; |
@@ -356,6 +390,7 @@ var | ||
356 | 390 | FileName, bFileName: string; |
357 | 391 | errorSl: TStringList; |
358 | 392 | errorFileName: string; |
393 | + //Item: TRoundItem; | |
359 | 394 | delCount: Integer; |
360 | 395 | begin |
361 | 396 | sl := TStringList.Create; |
@@ -411,16 +446,20 @@ begin | ||
411 | 446 | sl.Free; |
412 | 447 | end; |
413 | 448 | end; |
414 | -//! Xbhñ\ñt@CÇÝÝ | |
415 | 449 | procedure TRoundList.LoadRoundThreadFile; |
416 | 450 | var |
417 | 451 | i: Integer; |
452 | +// j: Integer; | |
418 | 453 | sl: TStringList; |
419 | 454 | FileName, bFileName: string; |
420 | 455 | errorSl: TStringList; |
421 | 456 | errorFileName: string; |
457 | +// Item: TRoundItem; | |
422 | 458 | delCount: Integer; |
459 | +// boardList : TStringList; | |
423 | 460 | begin |
461 | +// boardList := TStringList.Create; | |
462 | +// boardList.Duplicates := dupIgnore; | |
424 | 463 | errorSl := TStringList.Create; |
425 | 464 | errorSl.Duplicates := dupIgnore; |
426 | 465 | sl := TStringList.Create; |
@@ -462,15 +501,21 @@ begin | ||
462 | 501 | end; |
463 | 502 | end; |
464 | 503 | end; |
504 | +// j := boardList.Count - 1; | |
505 | +// while j >= 0 do begin | |
506 | +// GikoSys.ReadSubjectFile( BBSsFindBoardFromURL( boardList[j] ) ); | |
507 | +// boardList.Delete(j); | |
508 | +// Dec(j); | |
509 | +// end; | |
465 | 510 | if errorSl.Count > 0 then |
466 | 511 | errorSl.SaveToFile(errorFileName); |
467 | 512 | end; |
468 | 513 | finally |
469 | 514 | errorSl.Free; |
470 | 515 | sl.Free; |
516 | +// boardList.Free; | |
471 | 517 | end; |
472 | 518 | end; |
473 | -//! ñ\ñt@CÛ¶ | |
474 | 519 | procedure TRoundList.SaveRoundFile; |
475 | 520 | var |
476 | 521 | i: integer; |
@@ -112,12 +112,6 @@ LICENSE | ||
112 | 112 | @IE7(beta)ðCXg[·éÆXAJ[Ì|bvAbvÅ\¦³êÈ¢sïÌC³ |
113 | 113 | @µ½çÎJBBSÂXVªA®ìµÈ¢sïÌC³ |
114 | 114 | @^uÌ©®Û¶ÅA^uªÈ¢óÔàÛ¶·éæ¤ÉdlðÏX |
115 | -@ÂêXVð·éÆA^uÌÛ¶t@CªXV³êésïÌC³ | |
116 | -@ñ\ñ¼ÌÏXª½f³êÈ¢sïÌC³ | |
117 | -@ðíɺ¤sïÌC³ | |
118 | -@J}ÅA±·éXAJ[ÉNªÝè³êÈ¢sïÌC³ | |
119 | -@ | |
120 | - | |
121 | 115 | |
122 | 116 | 2006/06/18 |
123 | 117 | Version ÊÞÀ52 |