• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

ギコナビ


Commit MetaInfo

Revisión7943d8ba607463b93e2f376412deda0e41507222 (tree)
Tiempo2006-07-30 10:09:53
Autorcvs2git <cvs2git>
Commitercvs2git

Log Message

This commit was manufactured by cvs2svn to create tag 'v1_53_0_667'.

Cambiar Resumen

Diferencia incremental

--- a/BoardGroup.pas
+++ b/BoardGroup.pas
@@ -104,6 +104,7 @@ type
104104 FURL: string; //ƒ{[ƒhURL
105105 FRound: Boolean; //ƒXƒŒƒbƒhˆê——„‰ñ—\–ñ
106106 FRoundName: string; //„‰ñ–¼
107+ //FRoundName: PChar; //„‰ñ–¼
107108 FRoundDate: TDateTime; //ƒXƒŒƒbƒhˆê——‚ðŽæ“¾‚µ‚½“úŽži„‰ñ“úŽžj
108109 FLastModified: TDateTime; //ƒXƒŒƒbƒhˆê——‚ªXV‚³‚ê‚Ä‚¢‚é“úŽžiƒT[ƒo‘¤“úŽžj
109110 FLastGetTime: TDateTime; //ƒXƒŒƒbƒh‚Ü‚½‚̓XƒŒƒbƒhˆê——‚ðÅŒã‚ɍXV‚µ‚½“úŽžiƒT[ƒo‘¤“úŽžE‘‚«ž‚ÝŽž‚ÉŽg—p‚·‚éj
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -1,5 +1,5 @@
11 object GikoForm: TGikoForm
2- Left = 241
2+ Left = 422
33 Top = 68
44 HorzScrollBar.Visible = False
55 VertScrollBar.Visible = False
@@ -159,7 +159,7 @@ object GikoForm: TGikoForm
159159 object ToolBar1: TToolBar
160160 Left = 2
161161 Top = 4
162- Width = 15
162+ Width = 16
163163 Height = 18
164164 Align = alNone
165165 AutoSize = True
@@ -346,7 +346,7 @@ object GikoForm: TGikoForm
346346 end>
347347 EdgeBorders = [ebLeft, ebTop, ebRight]
348348 EdgeInner = esLowered
349- OnContextPopup = MainCoolBarContextPopup
349+ OnContextPopup = ListCoolBarContextPopup
350350 OnBandInfo = ListCoolBarBandInfo
351351 OnChevronClick = ListCoolBarChevronClick
352352 object ListToolBar: TToolBar
@@ -573,7 +573,7 @@ object GikoForm: TGikoForm
573573 end>
574574 EdgeBorders = [ebLeft, ebTop, ebRight]
575575 EdgeInner = esLowered
576- OnContextPopup = MainCoolBarContextPopup
576+ OnContextPopup = BrowserCoolBarContextPopup
577577 OnBandInfo = BrowserCoolBarBandInfo
578578 OnChevronClick = BrowserCoolBarChevronClick
579579 object BrowserToolBar: TToolBar
@@ -971,7 +971,7 @@ object GikoForm: TGikoForm
971971 OnResize = AddressToolBarResize
972972 object AddressComboBox: TComboBox
973973 Left = 0
974- Top = 0
974+ Top = 1
975975 Width = 177
976976 Height = 20
977977 DropDownCount = 20
--- a/Giko.pas
+++ b/Giko.pas
@@ -508,6 +508,12 @@ type
508508 State: TDragState; var Accept: Boolean);
509509 procedure FavoriteTreeViewEndDrag(Sender, Target: TObject; X,
510510 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);
511517 procedure FavoriteTreeBrowseBoardPopupMenuClick(Sender: TObject);
512518 procedure BrowserTabContextPopup(Sender: TObject; MousePos: TPoint;
513519 var Handled: Boolean);
@@ -543,8 +549,6 @@ type
543549 procedure TreeViewMouseDown(Sender: TObject; Button: TMouseButton;
544550 Shift: TShiftState; X, Y: Integer);
545551 procedure GetResURLMenuClick(Sender: TObject);
546- procedure MainCoolBarContextPopup(Sender: TObject; MousePos: TPoint;
547- var Handled: Boolean);
548552 private
549553 { Private éŒ¾ }
550554 FEnabledCloseButton: Boolean;
@@ -643,6 +647,8 @@ type
643647 procedure TreeDoubleClick( Node : TTreeNode );
644648 /// ŠeŠ‚É‚ ‚éƒLƒƒƒrƒlƒbƒgE BBS ƒƒjƒ…[‚ðƒZƒbƒg^XV
645649 procedure SetBBSMenu;
650+ /// ƒ^ƒuŽæ“¾
651+ procedure GetTabURLs(AStringList: TStringList);
646652 /// ListColumnPopupMenu ƒAƒCƒeƒ€‚̃NƒŠƒbƒNƒCƒxƒ“ƒg
647653 procedure ListColumnPopupMenuOnClick( Sender : TObject );
648654 //! i‚荞‚Ý•¶Žš—ñÝ’è
@@ -771,6 +777,10 @@ type
771777 procedure ResetBandInfo( bar : TGikoCoolBar; band : TToolBar );
772778 //ListView‚Å‘I‘ð‚³‚ê‚Ä‚¢‚éƒAƒCƒeƒ€‚ðŽæ“¾‚·‚é
773779 procedure SelectListItem(List: TList);
780+ /// ƒ^ƒu•Û‘¶
781+ procedure SaveTabURLs;
782+ /// ƒ^ƒu“ǂݏo‚µ
783+ procedure LoadTabURLs;
774784 //Žw’肵‚½ƒŒƒX‚ðƒRƒs[‚·‚é
775785 procedure KonoresCopy(Number: Integer; ReplaceTag : Boolean);
776786 //
@@ -1436,9 +1446,7 @@ begin
14361446
14371447 //FormCrete‚©‚çˆÚ“®B
14381448 if GikoSys.Setting.TabAutoLoadSave then begin
1439- GikoDM.TabsOpenAction.Tag := 1;
1440- GikoDM.TabsOpenAction.Execute;
1441- GikoDM.TabsOpenAction.Tag := 0;
1449+ GikoDM.TabAutoLoadAction.Execute;
14421450 end;
14431451
14441452 //ActionList‚ÌGroupIndex‚ðŒ³‚É–ß‚·
@@ -1460,7 +1468,7 @@ begin
14601468 end;
14611469
14621470 if GikoSys.Setting.TabAutoLoadSave then begin
1463- GikoDM.TabsSaveAction.Execute;
1471+ GikoDM.TabAutoSaveAction.Execute;
14641472 end;
14651473
14661474 if (SearchDialog <> nil) then begin
@@ -1811,6 +1819,8 @@ begin
18111819 RoundList.LoadRoundThreadFile;
18121820
18131821 LockWindowUpdate(0);
1822+ //
1823+ GikoDM.TabsOpenAction.Execute;
18141824 end;
18151825
18161826 {!
@@ -6391,6 +6401,35 @@ begin
63916401
63926402 end;
63936403
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;
63946433 procedure TGikoForm.SetListViewBackGroundColor(value: TColor);
63956434 begin
63966435 if FListViewBackGroundColor <> value then begin
@@ -6877,6 +6916,89 @@ begin
68776916 end;
68786917 end;
68796918
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–‡‚ÉÝ’è ƒAƒhƒŒƒX‚̐ݒè‚Ì‚½‚߂̃Jƒ‰ŒÄ‚Ñ
6983+ if BrowserTab.Tabs.Count > 0 then begin
6984+ BrowserTab.OnChange(nil);
6985+ end;
6986+ end else begin
6987+ // ‹ó‚̃tƒ@ƒCƒ‹‚̏ꍇCƒoƒbƒNƒAƒbƒv‚ðíœ‚µ‚È‚¢‚½‚߂ɍ폜
6988+ DeleteFile(fileName);
6989+ end;
6990+ except
6991+ on EFOpenError do ShowMessage('ƒ^ƒuƒtƒ@ƒCƒ‹‚ªŠJ‚¯‚Ü‚¹‚ñ');
6992+ end;
6993+ end;
6994+ finally
6995+ URLs.Free;
6996+ GikoSys.Setting.BrowserTabAppend := GikoTab;
6997+ end;
6998+
6999+end;
7000+
7001+
68807002 /// ListView ‚̃Jƒ‰ƒ€•‚¨‚æ‚шʒu‚Ì•Û‘¶
68817003 procedure TGikoForm.ActiveListColumnSave;
68827004 var
@@ -7672,30 +7794,6 @@ begin
76727794 end;
76737795 end;
76747796
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-
76997797 initialization
77007798 OleInitialize(nil);
77017799 finalization
--- a/GikoDataModule.dfm
+++ b/GikoDataModule.dfm
@@ -1079,6 +1079,18 @@ object GikoDM: TGikoDM
10791079 OnExecute = BrowsBoradHeadActionExecute
10801080 OnUpdate = LogFolderOpenActionUpdate
10811081 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
10821094 object JumpToNumOfResAction: TAction
10831095 Category = #12473#12524#12483#12489
10841096 Caption = #25351#23450#12375#12383#30058#21495#12398#12524#12473#12395#39131#12406
--- a/GikoDataModule.pas
+++ b/GikoDataModule.pas
@@ -192,6 +192,8 @@ type
192192 TabsSaveAction: TAction;
193193 TabsOpenAction: TAction;
194194 BrowsBoradHeadAction: TAction;
195+ TabAutoSaveAction: TAction;
196+ TabAutoLoadAction: TAction;
195197 JumpToNumOfResAction: TAction;
196198 FavoriteTreeViewCollapseAction: TAction;
197199 RightTabCloseAction: TAction;
@@ -306,6 +308,8 @@ type
306308 procedure SelectItemSaveForDatExecute(Sender: TObject);
307309 procedure TabsSaveActionExecute(Sender: TObject);
308310 procedure TabsOpenActionExecute(Sender: TObject);
311+ procedure TabAutoSaveActionExecute(Sender: TObject);
312+ procedure TabAutoLoadActionExecute(Sender: TObject);
309313 procedure BeLogInOutActionExecute(Sender: TObject);
310314 procedure BeLogInOutActionUpdate(Sender: TObject);
311315 procedure KokomadeActionExecute(Sender: TObject);
@@ -425,8 +429,6 @@ type
425429 { Public éŒ¾ }
426430 procedure RepaintStatusBar;
427431 function EditorFormExists(): boolean;
428- procedure GetTabURLs(AStringList: TStringList);
429- procedure OpenURLs(AStringList: TStringList);
430432 published
431433 { Published éŒ¾ }
432434 //! TAction‚ÅGetActiveContent‚ªnilˆÈŠO‚Å—LŒø‚É‚È‚é
@@ -2137,107 +2139,34 @@ end;
21372139 //! ƒ^ƒu‚̏‡”Ô‚ð•Û‘¶
21382140 // *************************************************************************
21392141 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2140-const
2141- Filename = 'tab.sav';
2142- bFilename = '~tab.sav';
2143-var
2144- SaveStringList: TStringList;
21452142 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;
21602144 end;
21612145 // *************************************************************************
2162-//! ƒuƒ‰ƒEƒUƒ^ƒu‚ɐݒ肳‚ê‚Ä‚¢‚éƒXƒŒƒbƒh‚ÌURLŽæ“¾
2146+//! ƒ^ƒu‚̏‡”Ԃ𕜌³
21632147 // *************************************************************************
2164-procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2165-var
2166- rec : TBrowserRecord;
2167- i : Integer;
2148+procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
21682149 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”ˆꗗXV‚©‚çŒÄ‚΂ꂽ‚Æ‚«‚Í1‚É‚È‚Á‚Ä‚¢‚é
2152+ if (GikoForm.BrowserTab.Tabs.Count = 0)
2153+ and (TabsOpenAction.Tag = 0) then begin
2154+ ShowMessage('•\Ž¦‚·‚éƒ^ƒu‚ª‚ ‚è‚Ü‚¹‚ñB');
21762155 end;
21772156 end;
21782157 // *************************************************************************
2179-//! Žw’肳‚ꂽURL‚ðŠJ‚«Cæ“ª‚̃^ƒu‚ɃtƒH[ƒJƒX‚·‚é
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–‡‚ÉÝ’è ƒAƒhƒŒƒX‚̐ݒè‚Ì‚½‚߂̃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;
22072163 end;
22082164 // *************************************************************************
2209-//! ƒ^ƒu‚̏‡”Ԃ𕜌³
2165+//! ƒ^ƒu‚̏‡”Ô‚ðŽ©“®•œŒ³
22102166 // *************************************************************************
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);
22172168 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ƒ‹‚̏ꍇCƒoƒbƒNƒAƒbƒv‚ðíœ‚µ‚È‚¢‚½‚߂ɍ폜
2226- SysUtils.DeleteFile(fileName);
2227- end else begin
2228- OpenURLs(URLs);
2229- end;
2230- except
2231- on EFOpenError do ShowMessage('ƒ^ƒuƒtƒ@ƒ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;
22412170 end;
22422171 // *************************************************************************
22432172 //! Be2ch‚ɃƒOƒCƒ“/ƒƒOƒAƒEƒg‚·‚é
--- a/GikoSystem.pas
+++ b/GikoSystem.pas
@@ -2753,13 +2753,7 @@ function TGikoSys.GetSameIDResAnchor(const AID : string; ThreadItem: TThreadItem
27532753 var
27542754 i: integer;
27552755 body: TStringList;
2756- Res: TResRec;
2757- ResLink : TResLinkRec;
27582756 begin
2759- // bodyˆÈŠO‚ÍŽg—p‚µ‚È‚¢‚̂ŏ‰Šú‰»‚µ‚È‚¢
2760- Res.FBody := '';
2761- Res.FType := glt2chNew;
2762-
27632757 Result := '';
27642758 if (not IsNoValidID(AID)) and
27652759 (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
@@ -2768,20 +2762,21 @@ begin
27682762 GetSameIDRes(AID, ThreadItem, body);
27692763 if (limited) and (body.Count > 20) then begin
27702764 for i := body.Count - 20 to body.Count - 1 do begin
2771- Res.FBody := Res.FBody + '&gt;' + body[i] + ' ';
2765+ Result := Result + '&gt;' + body[i] + ' ';
27722766 end;
27732767 end else begin
27742768 for i := 0 to body.Count - 1 do begin
2775- Res.FBody := Res.FBody + '&gt;' + body[i] + ' ';
2769+ Result := Result + '&gt;' + body[i] + ' ';
27762770 end;
27772771 end;
27782772 finally
27792773 body.Free;
27802774 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);
27852780 end;
27862781 end;
27872782
@@ -2842,13 +2837,7 @@ function TGikoSys.GetSameIDResAnchor(AIDNum : Integer; ThreadItem: TThreadItem;
28422837 var
28432838 i: integer;
28442839 body: TStringList;
2845- Res: TResRec;
2846- ResLink : TResLinkRec;
28472840 begin
2848- // bodyˆÈŠO‚ÍŽg—p‚µ‚È‚¢‚̂ŏ‰Šú‰»‚µ‚È‚¢
2849- Res.FBody := '';
2850- Res.FType := glt2chNew;
2851-
28522841 Result := '';
28532842 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
28542843 body := TStringList.Create;
@@ -2856,20 +2845,21 @@ begin
28562845 GetSameIDRes(AIDNum, ThreadItem, body);
28572846 if (limited) and (body.Count > 20) then begin
28582847 for i := body.Count - 20 to body.Count - 1 do begin
2859- Res.FBody := Res.FBody + '&gt;' + body[i] + ' ';
2848+ Result := Result + '&gt;' + body[i] + ' ';
28602849 end;
28612850 end else begin
28622851 for i := 0 to body.Count - 1 do begin
2863- Res.FBody := Res.FBody + '&gt;' + body[i] + ' ';
2852+ Result := Result + '&gt;' + body[i] + ' ';
28642853 end;
28652854 end;
28662855 finally
28672856 body.Free;
28682857 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);
28732863 end;
28742864 end;
28752865
--- a/HTMLCreate.pas
+++ b/HTMLCreate.pas
@@ -60,20 +60,16 @@ type
6060 procedure CreateDefaultHTML (html:TBufferedWebBrowser; ThreadItem: TThreadItem; ReadList: TStringList; sTitle: string );
6161 procedure ConvertResAnchor(PRes: PResRec);
6262 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;
6464 function addResAnchor(PAddRes: PResRec; PResLink : PResLinkRec; dat : boolean;
6565 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-
7166 public
7267 { Public éŒ¾ }
7368 procedure AddAnchorTag(PRes: PResRec);
7469 function LoadFromSkin(fileName: string; ThreadItem: TThreadItem; SizeByte: Integer): string;
7570 function SkinedRes(const skin: string; PRes: PResRec; const No: string): string;
7671 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;
7773 procedure CreateHTML2(Browser: TWebBrowser; ThreadItem: TThreadItem; var sTitle: string);
7874 procedure CreateHTML3(var html: TStringList; ThreadItem: TThreadItem; var sTitle: string);
7975 //ƒŒƒXƒ|ƒbƒvƒAƒbƒv‚̍쐬
@@ -356,9 +352,6 @@ begin
356352 end else
357353 Result := AID;
358354 end;
359-//! ƒŒƒXƒAƒ“ƒJ[‚̃ŒƒX”ԍ†‚𕪊„‚·‚é
360-// Text = '1-9' -> st = '1'; et = '9'
361-// Text = '10' -> st = '10'; et = '10'
362355 procedure THTMLCreate.separateNumber(var st: String; var et: String; const Text:String; const Separator: String);
363356 var
364357 p : Integer;
@@ -372,58 +365,54 @@ begin
372365 et := Text;
373366 end;
374367 end;
375-//! ƒŒƒXƒAƒ“ƒJ[‚ªŽ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-
414368 procedure THTMLCreate.ConvRes( PRes : PResRec; PResLink : PResLinkRec; DatToHTML: boolean = false);
415369 const
416370 GT = '&gt;';
371+ SN = '0123456789';
417372 //ŒŸõ‘Ώۂ̕¶Žš—ñŒS
418373 TOKEN : array[0..5] of string = (GT+GT, GT, '„„', '„', '<a ', '<A ');
419374 var
420375 i : integer;
421376 s : string;
377+ sw: boolean;
378+ cm: boolean;
422379 No: string;
380+ oc : string;
423381 pos, pmin : integer;
424382 j : integer;
383+ ch : string;
425384 db : boolean;
385+ len : integer;
426386 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+
427416 begin
428417 //s ‚É–{•¶‚ð‘S•”“ü‚ê‚é
429418 s := PRes.FBody;
@@ -482,22 +471,43 @@ begin
482471 end;
483472 // ƒŒƒXƒAƒ“ƒJ[‚ªŠÜ‚Ü‚ê‚Ä‚¢‚½‚ç,‚ª‘±‚­ŒÀ‚èƒAƒ“ƒJ[‚Æ‚µ‚Ĉµ‚¤
484473 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—¹‚©ƒ`ƒFƒbƒN
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;
486495 end;
487496 end else begin
488497 //‰½‚©‚µ‚猩‚‚©‚Á‚½ƒpƒ^[ƒ“
489498 j := Length(TOKEN[i]) + 1;
499+ oc := '';
500+ No := '';
501+ sw := false;
490502 db := false;
491- No := getNumberString(s, j, db, Length(s) );
503+ len := Length(s);
504+ getNumberString;
492505 //I’[‚܂ōs‚Á‚Ă̏I—¹‚©ƒ`ƒFƒbƒN
493- if j <= Length(s) then begin
506+ if j <= len then begin
494507 if db then j := j - 2
495508 else j := j - 1;
496509 end;
497510 addResAnchor(PRes, PResLink, DatToHTML, s, j, No);
498-
499- // , ‚ª‘±‚­ŒÀ‚背ƒXƒAƒ“ƒJ[‚Æ‚µ‚ďˆ—‚·‚é
500- appendResAnchor(PRes, PResLink, DatToHTML, s );
501511 end;
502512 end;
503513 if Length(s) > 0 then begin
@@ -506,7 +516,8 @@ begin
506516 end;
507517 function THTMLCreate.checkComma(
508518 const s : String;
509- var j : Integer
519+ var j : Integer;
520+ var No : String
510521 ) : boolean;
511522 var
512523 bType : TMbcsByteType;
@@ -521,38 +532,10 @@ begin
521532 Inc(j)
522533 else
523534 Inc(j, 2);
535+ No := '';
524536 end;
525537 end;
526538 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—¹‚©ƒ`ƒFƒbƒN
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-
556539 function THTMLCreate.addResAnchor(
557540 PAddRes: PResRec; PResLink : PResLinkRec; dat : boolean;
558541 var s : String; j : Integer; const No: String) : string;
@@ -579,6 +562,186 @@ begin
579562 Delete(s, 1, j - 1);
580563 end;
581564
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 = '&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—¹‚©ƒ`ƒFƒbƒN
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+ //Œ‹‰Ê‚ðƒNƒŠƒA
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+ //‚Ç‚ê‚Ńqƒbƒg‚µ‚½‚©•Û‘¶
675+ i := j;
676+ //Å¬’l‚ðXV
677+ pmin := pos;
678+ end;
679+ end;
680+ end;
681+
682+ //ƒqƒbƒg‚µ‚½•¶Žš—ñ‚̈ê‚ÂŽè‘O‚Ü‚ÅŒ‹‰Ê‚ɃRƒs[
683+ Result := Result + Copy(s, 1, pmin - 1);
684+ Delete(s, 1, pmin - 1);
685+
686+ if i = 6 then begin
687+ //ƒqƒbƒg‚È‚µ
688+ end else if (i = 4) or (i = 5) then begin
689+ //'<a ' or '<A' ‚Ńqƒbƒg '</a>' or '</A>' ‚܂ŃRƒs[
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+ //‚Ç‚ê‚Ńqƒbƒg‚µ‚½‚©•Û‘¶
710+ i := j;
711+ //Å¬’l‚ðXV
712+ pmin := pos;
713+ end;
714+ end;
715+ end;
716+ // ƒŒƒXƒAƒ“ƒJ[‚ªŠÜ‚Ü‚ê‚Ä‚¢‚½‚ç,‚ª‘±‚­ŒÀ‚èƒAƒ“ƒJ[‚Æ‚µ‚Ĉµ‚¤
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;
582745
583746 procedure THTMLCreate.ConvertResAnchor(PRes: PResRec);
584747 const
@@ -1468,8 +1631,7 @@ begin
14681631 finally
14691632 dirs.Free;
14701633 end;
1471-end;
1472-{!
1634+end;{!
14731635 \brief datƒtƒ@ƒCƒ‹‚̈ꃉƒCƒ“‚𕪉ð
14741636 \param Line datƒtƒ@ƒCƒ‹‚ð\¬‚·‚é 1 s
14751637 \return ƒŒƒXî•ñ
--- a/MojuUtils.pas
+++ b/MojuUtils.pas
@@ -289,26 +289,17 @@ begin
289289 Result := CustomStringReplace(Result, '|', 'b');
290290 end;
291291 (*************************************************************************
292- * –³Œø‚ÈID‚©‚̃`ƒFƒbƒNi–³Œø—áFID:??? , ID:???X)
292+ * –³Œø‚ÈID‚©‚̃`ƒFƒbƒNi–³Œø—áFID:??? , ID:???0)
293293 *************************************************************************)
294294 function IsNoValidID( inID :String): Boolean;
295-var
296- bTail : Boolean;
297295 begin
298- Result := True;
299296 inID := Trim(inID);
300- if (Length(inID) > 0) then begin
297+ if inID = '' then Result := True
298+ else begin
301299 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;
307300 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;
312303 end;
313304 end;
314305
--- a/NewBoard.pas
+++ b/NewBoard.pas
@@ -61,7 +61,6 @@ var
6161 Item: TNewBoardItem;
6262 URL : String;
6363 protocol, host, path, document, port, bookmark: String;
64- TabURLs: TStringList;
6564 begin
6665 try
6766 MessageMemo.Clear;
@@ -82,16 +81,12 @@ begin
8281 if FAbort then
8382 Exit;
8483 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;
9590 end else
9691 MessageMemo.Lines.Add('ƒ_ƒEƒ“ƒ[ƒh‚ªŽ¸”s‚µ‚Ü‚µ‚½[' + IntToStr(Item.FResponseCode) + ']');
9792 finally
--- a/Round.dfm
+++ b/Round.dfm
@@ -1,6 +1,6 @@
11 object RoundDialog: TRoundDialog
2- Left = 256
3- Top = 175
2+ Left = 249
3+ Top = 137
44 Width = 600
55 Height = 427
66 BorderIcons = [biSystemMenu]
@@ -190,7 +190,7 @@ object RoundDialog: TRoundDialog
190190 Top = 4
191191 Bitmap = {
192192 494C010104000900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
193- 0000000000003600000028000000400000003000000001001000000000000018
193+ 0000000000003600000028000000400000003000000001002000000000000030
194194 0000000000000000000000000000000000000000000000000000000000000000
195195 0000000000000000000000000000000000000000000000000000000000000000
196196 0000000000000000000000000000000000000000000000000000000000000000
@@ -324,64 +324,256 @@ object RoundDialog: TRoundDialog
324324 0000000000000000000000000000000000000000000000000000000000000000
325325 0000000000000000000000000000000000000000000000000000000000000000
326326 0000000000000000000000000000000000000000000000000000000000000000
327- 0000000000000000000000000000000000000000000010421863186318631863
328- 1863186318631863186318631863000000000000000000000000000000000000
329327 0000000000000000000000000000000000000000000000000000000000000000
330- 0000000000000000000000000000000000000000000010421042104210421042
331- 104210421042104210421042000000000000000000001042FF7FFF7FFF7FFF7F
332- FF7FFF7FFF7FFF7FFF7FFF7F1863000000000000000000000000000000000000
333328 0000000000000000000000000000000000000000000000000000000000000000
334- 000000000000000000000000000000000000000000001042FF7F1863E07F1863
335- E07F1863E07F1863E07F1042000000000000000000001042FF7F104210421042
336- 10421042104210421042FF7F1863000000000000000000000000000000000000
337329 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
369330 0000000000000000000000000000000000000000000000000000000000000000
370- 000000000000000000000000000000000000000000001042FF7FFF7FFF7FFF7F
371- 10421042FF7F000000000000000000000000000000001042FF7FFF7FFF7FFF7F
372- FF7FFF7FFF7FFF7F000000000000000000000000000000000000000000000000
373331 0000000000000000000000000000000000000000000000000000000000000000
374- 0000000000000000000000000000000000000000000000001042104210421042
375- 000000000000000000000000000000000000000000001042FF7FFF7FFF7FFF7F
376- FF7FFF7FFF7FFF7F1863FF7F1042000000000000000000000000000000000000
377332 0000000000000000000000000000000000000000000000000000000000000000
378333 0000000000000000000000000000000000000000000000000000000000000000
379- 000000000000000000000000000000000000000000001042FF7FFF7FFF7FFF7F
380- FF7FFF7FFF7FFF7F186310420000000000000000000000000000000000000000
381334 0000000000000000000000000000000000000000000000000000000000000000
382335 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
385577 0000000000000000000000000000000000000000000000000000000000000000
386578 000000000000000000000000000000000000424D3E000000000000003E000000
387579 2800000040000000300000000100010000000000800100000000000000000000
--- a/RoundData.pas
+++ b/RoundData.pas
@@ -38,6 +38,9 @@ type
3838 property Count[RoundType: TGikoRoundType]: Integer read GetCount;
3939 property OldFileRead: Boolean read FOldFileRead;
4040 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+
4144 procedure LoadRoundBoardFile;
4245 procedure LoadRoundThreadFile;
4346 procedure SaveRoundFile;
@@ -47,21 +50,30 @@ type
4750
4851 TRoundItem = class(TObject)
4952 private
53+//
5054 FItem : TObject;
55+// FBBSType: TGikoBBSType;
56+ FRoundName: string;
5157 FRoundType: TGikoRoundType;
58+ //Item : TObject;
59+ //FURL : string;
60+ //FBoardTitle: string;
61+ //FThreadTitle: string;
62+ //FFileName: string;
5263 FTmpURL : string;
5364 FBoolData: Boolean; //‚¢‚ë‚¢‚ëŽg‚¤‚å‚£
5465 function GetBoardTitle : string;
5566 function GetThreadTitle : string;
5667 function GetURL : string;
5768 function GetFileName : string;
58- //! „‰ñ–¼Žæ“¾
59- function GetRoundName : string;
6069 public
70+
6171 constructor Create;
6272 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;
6475 property RoundType: TGikoRoundType read FRoundType write FRoundType;
76+ //property Item : TObject read FItem write FItem;
6577 property URL : string read GetURL;
6678 property TmpURL : string read FTmpURL write FTmpURL;
6779 property BoardTitle: string read GetBoardTitle;
@@ -80,12 +92,10 @@ const
8092 ROUND_INDEX_VERSION: string = '2.00';
8193 ERROR_BOARD_FILENAME: string = 'ErrorBoard.2ch'; //Errors‚ð•ÛŠÇ‚·‚é
8294 ERROR_ITEM_FILENAME: string = 'ErrorItem.2ch'; //Errors‚ð•ÛŠÇ‚·‚é
83-//! „‰ñƒAƒCƒeƒ€ƒRƒ“ƒXƒgƒ‰ƒNƒ^
8495 constructor TRoundItem.Create;
8596 begin
8697 inherited Create;
8798 end;
88-//! ”–¼Žæ“¾
8999 function TRoundItem.GetBoardTitle : string;
90100 begin
91101 Result := '';
@@ -97,7 +107,6 @@ begin
97107 end;
98108 end;
99109 end;
100-//! ƒXƒŒƒbƒh–¼Žæ“¾
101110 function TRoundItem.GetThreadTitle : string;
102111 begin
103112 Result := '';
@@ -107,7 +116,6 @@ begin
107116 end;
108117 end;
109118 end;
110-//! URLŽæ“¾
111119 function TRoundItem.GetURL : string;
112120 begin
113121 Result := '';
@@ -119,7 +127,6 @@ begin
119127 end;
120128 end;
121129 end;
122-//! ƒXƒŒƒbƒh‚̃tƒ@ƒC–¼Žæ“¾
123130 function TRoundItem.GetFileName : string;
124131 begin
125132 Result := '';
@@ -129,19 +136,6 @@ begin
129136 end;
130137 end;
131138 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-//! „‰ñƒŠƒXƒgƒRƒ“ƒXƒgƒ‰ƒNƒ^
145139 constructor TRoundList.Create;
146140 begin
147141 inherited;
@@ -152,7 +146,7 @@ begin
152146 RoundNameList.Duplicates := dupIgnore;
153147 FOldFileRead := false;
154148 end;
155-//! „‰ñƒŠƒXƒgƒfƒXƒgƒ‰ƒNƒ^
149+
156150 destructor TRoundList.Destroy;
157151 begin
158152 RoundNameList.Free;
@@ -161,7 +155,7 @@ begin
161155 FItemList.Free;
162156 //inherited;
163157 end;
164-//! „‰ñ—\–ñ’ljÁi”j
158+
165159 function TRoundList.Add(Board: TBoard): Integer;
166160 var
167161 idx: Integer;
@@ -169,15 +163,22 @@ var
169163 begin
170164 Result := -1;
171165 idx := Find(Board);
166+ //RoundNameList.Add(Board.RoundName);
172167 if idx = -1 then begin
173168 Item := TRoundItem.Create;
174169 Item.FItem := Board;
175170 // Item.BBSType := gbt2ch; //‚Æ‚è‚ ‚¦‚¸
176171 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;
177178 Result := FBoardList.Add(Item);
178179 end;
179180 end;
180-//! „‰ñ—\–ñ’ljÁiƒXƒŒƒbƒhj
181+
181182 function TRoundList.Add(ThreadItem: TThreadItem): Integer;
182183 var
183184 idx: Integer;
@@ -185,18 +186,26 @@ var
185186 begin
186187 Result := -1;
187188 idx := Find(ThreadItem);
189+ //RoundNameList.Add(ThreadItem.RoundName);
188190 if idx = -1 then begin
189191 Item := TRoundItem.Create;
190192 Item.FItem := ThreadItem;
191193 // Item.BBSType := gbt2ch; //‚Æ‚è‚ ‚¦‚¸
192194 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;
193201 Result := FItemList.Add(Item);
194202 end;
195203 end;
196-//! „‰ñ—\–ñíœi”j
204+
197205 procedure TRoundList.Delete(Board: TBoard);
198206 var
199207 idx: Integer;
208+// Item: TRoundItem;
200209 begin
201210 idx := Find(Board);
202211 if idx <> -1 then begin
@@ -205,10 +214,11 @@ begin
205214 FBoardList.Delete(idx);
206215 end;
207216 end;
208-//! „‰ñ—\–ñíœiƒXƒŒƒbƒhj
217+
209218 procedure TRoundList.Delete(ThreadItem: TThreadItem);
210219 var
211220 idx: Integer;
221+// Item: TRoundItem;
212222 begin
213223 idx := Find(ThreadItem);
214224 if idx <> -1 then begin
@@ -217,7 +227,7 @@ begin
217227 FItemList.Delete(idx);
218228 end;
219229 end;
220-//! „‰ñ—\–ñÁ‹Ž
230+
221231 procedure TRoundList.Clear;
222232 var
223233 i: Integer;
@@ -235,7 +245,7 @@ begin
235245 end;
236246 FItemList.Capacity := FItemList.Count;
237247 end;
238-//! „‰ñ—\–ñŒŸõi”j
248+
239249 function TRoundList.Find(Board: TBoard): Integer;
240250 var
241251 i: Integer;
@@ -251,7 +261,7 @@ begin
251261 end;
252262 end;
253263 end;
254-//! „‰ñ—\–ñŒŸõiƒXƒŒƒbƒhj
264+
255265 function TRoundList.Find(ThreadItem: TThreadItem): Integer;
256266 var
257267 i: Integer;
@@ -267,7 +277,6 @@ begin
267277 end;
268278 end;
269279 end;
270-//! „‰ñ—\–ñŒŸõiURL{ƒAƒCƒeƒ€ƒ^ƒCƒvj
271280 function TRoundList.Find(URL: string; RoundType: TGikoRoundType): Integer;
272281 var
273282 i: Integer;
@@ -294,7 +303,6 @@ begin
294303 end;
295304 end;
296305 end;
297-//! „‰ñ—\–ñíœiURL{ƒAƒCƒeƒ€ƒ^ƒCƒvj
298306 procedure TRoundList.Delete(URL: string; RoundType: TGikoRoundType);
299307 var
300308 idx: Integer;
@@ -310,6 +318,7 @@ begin
310318 board := TBoard(Item);
311319 Item.Free;
312320 FBoardList.Delete(idx);
321+ //board := BBSsFindBoardFromURL(URL);
313322 if board <> nil then begin
314323 board.Round := False;
315324 board.RoundName := '';
@@ -320,6 +329,7 @@ begin
320329 Item.Free;
321330 FItemList.Delete(idx);
322331
332+ //threadItem := BBSsFindThreadFromURL(URL);
323333 if threadItem <> nil then begin
324334 threadItem.Round := false;
325335 threadItem.RoundName := '';
@@ -327,7 +337,32 @@ begin
327337 end;
328338 end;
329339 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+}
331366 function TRoundList.GetCount(RoundType: TGikoRoundType): Integer;
332367 begin
333368 Result := 0;
@@ -336,7 +371,7 @@ begin
336371 else if RoundType = grtItem then
337372 Result := FItemList.Count;
338373 end;
339-//! „‰ñ—\–ñŽæ“¾
374+
340375 function TRoundList.GetRoundItem(Index: Integer; RoundType: TGikoRoundType): TRoundItem;
341376 begin
342377 Result := nil;
@@ -348,7 +383,6 @@ begin
348383 Result := TRoundItem(FItemList[Index]);
349384 end;
350385 end;
351-//! ƒ{[ƒh„‰ñ—\–ñƒtƒ@ƒCƒ‹“ǂݍž‚Ý
352386 procedure TRoundList.LoadRoundBoardFile;
353387 var
354388 i: Integer;
@@ -356,6 +390,7 @@ var
356390 FileName, bFileName: string;
357391 errorSl: TStringList;
358392 errorFileName: string;
393+ //Item: TRoundItem;
359394 delCount: Integer;
360395 begin
361396 sl := TStringList.Create;
@@ -411,16 +446,20 @@ begin
411446 sl.Free;
412447 end;
413448 end;
414-//! ƒXƒŒƒbƒh„‰ñ—\–ñƒtƒ@ƒCƒ‹“ǂݍž‚Ý
415449 procedure TRoundList.LoadRoundThreadFile;
416450 var
417451 i: Integer;
452+// j: Integer;
418453 sl: TStringList;
419454 FileName, bFileName: string;
420455 errorSl: TStringList;
421456 errorFileName: string;
457+// Item: TRoundItem;
422458 delCount: Integer;
459+// boardList : TStringList;
423460 begin
461+// boardList := TStringList.Create;
462+// boardList.Duplicates := dupIgnore;
424463 errorSl := TStringList.Create;
425464 errorSl.Duplicates := dupIgnore;
426465 sl := TStringList.Create;
@@ -462,15 +501,21 @@ begin
462501 end;
463502 end;
464503 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;
465510 if errorSl.Count > 0 then
466511 errorSl.SaveToFile(errorFileName);
467512 end;
468513 finally
469514 errorSl.Free;
470515 sl.Free;
516+// boardList.Free;
471517 end;
472518 end;
473-//! „‰ñ—\–ñƒtƒ@ƒCƒ‹•Û‘¶
474519 procedure TRoundList.SaveRoundFile;
475520 var
476521 i: integer;
Binary files a/gikoNavi.res and b/gikoNavi.res differ
--- a/readme/readme.txt
+++ b/readme/readme.txt
@@ -112,12 +112,6 @@ LICENSE
112112 @IE7(beta)‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚é‚ƃŒƒXƒAƒ“ƒJ[‚̃|ƒbƒvƒAƒbƒv‚Å•\Ž¦‚³‚ê‚È‚¢•s‹ï‡‚̏C³
113113 @‚µ‚½‚ç‚ÎJBBS”XV‚ªA“®ì‚µ‚È‚¢•s‹ï‡‚̏C³
114114 @ƒ^ƒu‚ÌŽ©“®•Û‘¶‚ŁAƒ^ƒu‚ª‚È‚¢ó‘Ô‚à•Û‘¶‚·‚é‚悤‚ÉŽd—l‚ð•ÏX
115-@”ˆꗗXV‚ð‚·‚é‚ƁAƒ^ƒu‚Ì•Û‘¶ƒtƒ@ƒCƒ‹‚ªXV‚³‚ê‚é•s‹ï‡‚̏C³
116-@„‰ñ—\–ñ–¼‚̕ύX‚ª”½‰f‚³‚ê‚È‚¢•s‹ï‡‚̏C³
117-@—š—ðíœ‚É”º‚¤•s‹ï‡‚̏C³
118-@ƒJƒ“ƒ}‚ŘA‘±‚·‚郌ƒXƒAƒ“ƒJ[‚ɃŠƒ“ƒN‚ªÝ’肳‚ê‚È‚¢•s‹ï‡‚̏C³
119-@
120-
121115
122116 2006/06/18
123117 Version ÊÞÀ52