• 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

Revisionc36cdb6125916a6d29947cad8a9d6671766afe19 (tree)
Time2008-09-14 10:47:54
Authorcvs2git <cvs2git>
Commitercvs2git

Log Message

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

Change Summary

Incremental Difference

--- a/Giko.dfm
+++ b/Giko.dfm
@@ -8397,9 +8397,6 @@ object GikoForm: TGikoForm
83978397 object ID1: TMenuItem
83988398 Action = GikoDM.SameIDResAnchorAction
83998399 end
8400- object N83: TMenuItem
8401- Action = GikoDM.DereferenceResAction
8402- end
84038400 end
84048401 object BrowserTabPopupMenu: TPopupMenu
84058402 Images = HotToobarImageList
--- a/Giko.pas
+++ b/Giko.pas
@@ -419,7 +419,6 @@ type
419419 ResPopupClearTimer: TTimer;
420420 TaskTrayPopupMenu: TPopupMenu;
421421 Exit1: TMenuItem;
422- N83: TMenuItem;
423422 procedure FormCreate(Sender: TObject);
424423 procedure FormDestroy(Sender: TObject);
425424 procedure BrowserStatusTextChange(Sender: TObject;
@@ -692,9 +691,6 @@ type
692691 function isValidFile(FileName: String) : boolean;
693692 //! ListView‚ÌD&DŽó‚¯Žæ‚è
694693 procedure AcceptDropFiles(var Msg: TMsg);
695- //! ƒXƒŒƒbƒhˆê——XVˆ—
696- procedure UpdateListView();
697-
698694 protected
699695 procedure CreateParams(var Params: TCreateParams); override;
700696 procedure WndProc(var Message: TMessage); override;
@@ -2584,7 +2580,20 @@ begin
25842580 end;
25852581 TreeView.Refresh;
25862582 //ListView‚Å‚±‚̃XƒŒ‚ªŠÜ‚Ü‚ê‚锂ð•\Ž¦‚µ‚Ä‚¢‚é‚Æ‚«‚̍XVˆ—
2587- UpdateListView();
2583+ if (ActiveList <> nil) and (ActiveList is TBoard) then begin
2584+ TBoard(ActiveList).LogThreadCount := TBoard(ActiveList).GetLogThreadCount;
2585+ TBoard(ActiveList).NewThreadCount := TBoard(ActiveList).GetNewThreadCount;
2586+ TBoard(ActiveList).UserThreadCount:= TBoard(ActiveList).GetUserThreadCount;
2587+ //ListView‚̃AƒCƒeƒ€‚̌”‚àXV
2588+ case GikoForm.ViewType of
2589+ gvtAll: ListView.Items.Count := TBoard(ActiveList).Count;
2590+ gvtLog: ListView.Items.Count := TBoard(ActiveList).LogThreadCount;
2591+ gvtNew: ListView.Items.Count := TBoard(ActiveList).NewThreadCount;
2592+ gvtArch: ListView.Items.Count := TBoard(ActiveList).ArchiveThreadCount;
2593+ gvtLive: ListView.Items.Count := TBoard(ActiveList).LiveThreadCount;
2594+ gvtUser: ListView.Items.Count := TBoard(ActiveList).UserThreadCount;
2595+ end;
2596+ end;
25882597 RefreshListView(Item.ThreadItem);
25892598 end;
25902599
@@ -6784,6 +6793,8 @@ var
67846793 FOleInPlaceActiveObject: IOleInPlaceActiveObject;
67856794 p : TPoint;
67866795 AID: string;
6796+ stlist : TStringList;
6797+ i : Integer;
67876798 begin
67886799 result := true;
67896800 if not Assigned(FActiveContent) then
@@ -6808,7 +6819,29 @@ begin
68086819 Exit;
68096820
68106821 if (e.className = 'date') or (e.id = 'date') then begin
6811- AID := GikoSys.ExtructResID(e.innerText);
6822+ AID := e.innerText;
6823+ if AnsiPos('id', AnsiLowerCase(AID)) > 0 then begin
6824+ AID := Copy(AID, AnsiPos('id', AnsiLowerCase(AID)) - 1, 11);
6825+ if AnsiPos(' be:', AnsiLowerCase(AID)) > 0 then begin
6826+ AID := Copy(AID, 1, AnsiPos(' BE:', AnsiLowerCase(AID)) - 1)
6827+ end;
6828+ end else begin
6829+ stlist := TStringList.Create;
6830+ try
6831+ stList.DelimitedText := AID;
6832+ AID := '';
6833+ for i := 0 to stList.Count - 1 do begin
6834+ if Length(WideString(stList[i])) = 8 then begin
6835+ if GikoSys.NotDateorTimeString(stList[i]) then begin
6836+ AID := stList[i];
6837+ break;
6838+ end;
6839+ end;
6840+ end;
6841+ finally
6842+ stList.Free;
6843+ end;
6844+ end;
68126845 ShowSameIDAncher(AID);
68136846 end;
68146847 except
@@ -6837,7 +6870,7 @@ begin
68376870 end
68386871 end;
68396872 FActiveContent.IDAnchorPopup(
6840- GikoSys.CreateResAnchor(numbers, FActiveContent.Thread, limited));
6873+ GikoSys.CreateSameIDResAnchor(numbers, FActiveContent.Thread, limited));
68416874 finally
68426875 numbers.Free;
68436876 end;
@@ -7841,6 +7874,7 @@ var
78417874 Board: TBoard;
78427875 LogFolder: String;
78437876 datList: TStringList;
7877+ p: TPoint;
78447878 begin
78457879 // •\Ž¦‚µ‚Ä‚¢‚é‚̔‚̂Ƃ«ˆÈŠO‚Í‹‘”Û
78467880 if GetActiveList is TBoard then begin
@@ -7877,12 +7911,10 @@ begin
78777911 if (datList.Count > 0) then begin
78787912 GikoSys.AddOutofIndexDat(Board, datList, False);
78797913 ShowMessage(IntToStr(datList.Count) + 'ŒÂ‚Ìdatƒtƒ@ƒCƒ‹‚ªƒRƒs[‚³‚ê‚Ü‚µ‚½B' );
7880- if GikoForm.TreeView.Visible then begin
7914+ if GikoForm.TreeView.Visible then
78817915 GikoForm.TreeView.Refresh;
7882- end;
7883- if GikoForm.ListView.Visible then begin
7884- UpdateListView();
7885- end;
7916+ if GikoForm.ListView.Visible then
7917+ GikoForm.ListView.Refresh;
78867918 end else begin
78877919 ShowMessage('ˆê‚‚àƒRƒs[‚³‚ê‚Ü‚¹‚ñ‚Å‚µ‚½B' );
78887920 end;
@@ -7895,25 +7927,7 @@ begin
78957927 ShowMessage('”‚ð•\Ž¦‚µ‚Ä‚­‚¾‚³‚¢B');
78967928 end;
78977929 end;
7898-procedure TGikoForm.UpdateListView();
7899-begin
7900- //ListView‚Å‚±‚̃XƒŒ‚ªŠÜ‚Ü‚ê‚锂ð•\Ž¦‚µ‚Ä‚¢‚é‚Æ‚«‚̍XVˆ—
7901- if (ActiveList <> nil) and (ActiveList is TBoard) then begin
7902- TBoard(ActiveList).LogThreadCount := TBoard(ActiveList).GetLogThreadCount;
7903- TBoard(ActiveList).NewThreadCount := TBoard(ActiveList).GetNewThreadCount;
7904- TBoard(ActiveList).UserThreadCount:= TBoard(ActiveList).GetUserThreadCount;
7905- //ListView‚̃AƒCƒeƒ€‚̌”‚àXV
7906- case GikoForm.ViewType of
7907- gvtAll: ListView.Items.Count := TBoard(ActiveList).Count;
7908- gvtLog: ListView.Items.Count := TBoard(ActiveList).LogThreadCount;
7909- gvtNew: ListView.Items.Count := TBoard(ActiveList).NewThreadCount;
7910- gvtArch: ListView.Items.Count := TBoard(ActiveList).ArchiveThreadCount;
7911- gvtLive: ListView.Items.Count := TBoard(ActiveList).LiveThreadCount;
7912- gvtUser: ListView.Items.Count := TBoard(ActiveList).UserThreadCount;
7913- end;
7914- end;
7915- ListView.Refresh;
7916-end;
7930+
79177931 //! ƒtƒ@ƒCƒ‹ƒ`ƒFƒbƒN
79187932 function TGikoForm.isValidFile(FileName: String) : boolean;
79197933 var
@@ -7930,7 +7944,7 @@ begin
79307944 end else begin
79317945 // ƒƒOƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚ð‚Í‚¸‚µ‚½‚à‚Ì‚ªƒXƒŒì¬“úŽž
79327946 try
7933- dt := GikoSys.GetCreateDateFromName(ExtractFileName(FileName));
7947+ dt := GikoSys.GetCreateDateFromName(FileName);
79347948 if ((UnixToDateTime(ZERO_DATE) + OffsetFromUTC) = dt) then begin
79357949 Result := False;
79367950 GikoUtil.MsgBox(Handle, ExtractFileName(FileName) + '‚̃tƒ@ƒCƒ‹–¼‚ª•s³‚Å‚·B', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK);
--- a/GikoDataModule.dfm
+++ b/GikoDataModule.dfm
@@ -1369,14 +1369,6 @@ object GikoDM: TGikoDM
13691369 Hint = #12479#12502#19968#35239#34920#31034
13701370 OnExecute = ShowTabListActionExecute
13711371 end
1372- object DereferenceResAction: TAction
1373- Tag = 1
1374- Category = #12473#12524#12483#12489
1375- Caption = #12371#12398#12524#12473#12434#21442#29031#12375#12390#12356#12427#12524#12473#12450#12531#12459#12540#34920#31034
1376- Hint = #12371#12398#12524#12473#12434#21442#29031#12375#12390#12356#12427#12524#12473#12450#12531#12459#12540#34920#31034
1377- OnExecute = DereferenceResActionExecute
1378- OnUpdate = DependActiveCntentLogActionUpdate
1379- end
13801372 end
13811373 object ToobarImageList: TImageList
13821374 Left = 44
--- a/GikoDataModule.pas
+++ b/GikoDataModule.pas
@@ -241,7 +241,6 @@ type
241241 AddIDtoNGWord1Action: TAction;
242242 ExtractSameIDAction: TAction;
243243 ShowTabListAction: TAction;
244- DereferenceResAction: TAction;
245244 procedure EditNGActionExecute(Sender: TObject);
246245 procedure ReloadActionExecute(Sender: TObject);
247246 procedure GoFowardActionExecute(Sender: TObject);
@@ -453,7 +452,6 @@ type
453452 procedure AddIDtoNGWord1ActionExecute(Sender: TObject);
454453 procedure ExtractSameIDActionExecute(Sender: TObject);
455454 procedure ShowTabListActionExecute(Sender: TObject);
456- procedure DereferenceResActionExecute(Sender: TObject);
457455 private
458456 { Private éŒ¾ }
459457 procedure ClearResFilter;
@@ -4401,7 +4399,7 @@ begin
44014399 // ƒŒƒX‚̔ԍ†‚ðXV
44024400 if (Pos('menu:', url) > 0) then begin
44034401 index := StrToInt64Def(
4404- Copy(url, 6, Length(url)), index + 1
4402+ Copy(url, 5, Length(url)), index + 1
44054403 );
44064404 end else begin
44074405 // ŠJŽnƒŒƒX”ԍ†ˆÈ~‚©ƒ`ƒFƒbƒN
@@ -4496,72 +4494,5 @@ begin
44964494 GikoForm.ListView.Items.EndUpdate;
44974495 GikoForm.SetActiveList(BoardGroup.SpecialBoard);
44984496 end;
4499-//! ‹tŽQÆ‚µ‚Ä‚¢‚郌ƒX‚ð’ljÁ‚·‚é
4500-procedure TGikoDM.DereferenceResActionExecute(Sender: TObject);
4501-var
4502- i, currentNo, No : Integer;
4503- links : IHTMLElementCollection;
4504- threadItem : TThreadItem;
4505- item : IHTMLElement;
4506- url, url2 : string;
4507- resNo : TStringList;
4508- alreadyExist : Boolean;
4509- PathRec: TPathRec;
4510-begin
4511- No := GikoForm.KokoPopupMenu.Tag;
4512- if No = 0 then Exit;
4513-
4514- ThreadItem := GikoForm.GetActiveContent;
4515- // ƒAƒNƒeƒBƒuƒ^ƒu‚©‚ç‘S‚ẴŠƒ“ƒN‚ðŽæ“¾‚·‚é
4516- links := GetActiveThreadLinks;
4517- if (ThreadItem <> nil) and (links <> nil) then begin
4518- resNo := TStringList.Create;
4519- try
4520- currentNo := 0;
4521- alreadyExist := False;
4522- // ƒŠƒ“ƒN‚ð‘S‚Ä‘–¸‚·‚é
4523- for i := 0 to links.length - 1 do begin
4524- item := links.item(i, 0) as IHTMLElement;
4525- if (item <> nil) then begin
4526- url := item.getAttribute('href', 0);
4527- // ƒŒƒX‚̔ԍ†‚ðXV
4528- if (Pos('menu:', url) > 0) then begin
4529- currentNo := StrToInt64Def(
4530- Copy(url, 6, Length(url)), currentNo + 1
4531- );
4532- alreadyExist := False;
4533- end else if (currentNo <> -1) and (not alreadyExist) then begin
4534- // IE7‘Ήž
4535- if Pos('about:..', url) = 1 then begin
4536- url := 'about:blank..' + Copy( url, Length('about:..')+1, Length(url) )
4537- end;
4538- // Ž©•ª‚ւ̃Šƒ“ƒN‚©‚烌ƒXƒ|ƒbƒv—p‚̔ԍ†Žæ“¾
4539- if Pos('about:blank..', url) = 1 then begin
4540- // No ”Ԃւ̃Šƒ“ƒN‚ª‚ ‚ê‚ÎŽQÆ‚ ‚è
4541- url2 := THTMLCreate.GetRespopupURL(url, ThreadItem.URL);
4542- PathRec := Gikosys.Parse2chURL2(url2);
4543- if (not PathRec.FNoParam) then begin
4544- Gikosys.GetPopupResNumber(url2,PathRec.FSt,PathRec.FTo);
4545- end;
4546- // ‘ΏۃŒƒX‚à‚µ‚­‚Í‚»‚ê‚ðŠÜ‚Þ‚È‚çŽQÆ‚ ‚è‚Æ‚·‚é
4547- if (PathRec.FSt = No) or
4548- ((PathRec.FSt <= No) and (PathRec.FTo >= No)) then begin
4549- alreadyExist := True;
4550- resNo.Add(IntToStr(currentNo));
4551- end;
4552- end;
4553- end;
4554- end;
4555- end;
4556- // –³§ŒÀ‚È‚Ì‚Å-1ŒÅ’è
4557- GikoForm.ActiveContent.IDAnchorPopup(
4558- GikoSys.CreateResAnchor(resNo, ThreadItem, -1));
4559- finally
4560- resNo.Clear;
4561- resNo.Free;
4562- end;
4563- end;
4564-end;
4565-
45664497 end.
45674498
--- a/GikoSystem.pas
+++ b/GikoSystem.pas
@@ -213,11 +213,10 @@ type
213213 procedure GetPopupResNumber(URL : string; var stRes, endRes : Int64);
214214
215215 property Bayesian : TGikoBayesian read FBayesian write FBayesian;
216- function CreateResAnchor(var Numbers: TStringList; ThreadItem: TThreadItem; limited: Integer):string;
216+ function CreateSameIDResAnchor(var Numbers: TStringList; ThreadItem: TThreadItem; limited: Integer):string;
217217 procedure GetSameIDRes(const AID : string; ThreadItem: TThreadItem;var body: TStringList); overload;
218218 procedure GetSameIDRes(AIDNum : Integer; ThreadItem: TThreadItem;var body: TStringList); overload;
219219 function GetResID(AIDNum: Integer; ThreadItem: TThreadItem): String;
220- function ExtructResID(ADateStr: String): String;
221220 //! ’PŒê‰ðÍ
222221 procedure SpamCountWord( const text : string; wordCount : TWordCount );
223222 //! ŠwKƒNƒŠƒA
@@ -226,6 +225,8 @@ type
226225 procedure SpamLearn( wordCount : TWordCount; isSpam : Boolean );
227226 //! ƒXƒpƒ€“x”
228227 function SpamParse( const text : string; wordCount : TWordCount ) : Extended;
228+ //ˆø”‚ªA“ú•t‚Å‚àŽž‚Å‚à‚È‚¢‚±‚Ƃ𒲂ׂé
229+ function NotDateorTimeString(const AStr : string): boolean;
229230
230231 //! ˆø”‚É‘—‚ç‚ê‚Ä‚«‚½“ú•t/ID•”‚ÉBE‚Ì•¶Žš—ñ‚ª‚ ‚Á‚½‚çAƒvƒƒtƒ@ƒCƒ‹‚ւ̃Šƒ“ƒN‚ð’ljÁ
231232 function AddBeProfileLink(AID : string; ANum: Integer): string;
@@ -2769,7 +2770,7 @@ end;
27692770 \param limited —ñ‹“‚·‚鐔‚𐧌À‚·‚é‚È‚ç1ˆÈã
27702771 \return —ñ‹“‚³‚ꂽƒŒƒXƒAƒ“ƒJ[
27712772 }
2772-function TGikoSys.CreateResAnchor(
2773+function TGikoSys.CreateSameIDResAnchor(
27732774 var Numbers: TStringList; ThreadItem: TThreadItem;
27742775 limited: Integer):string;
27752776 var
@@ -2881,6 +2882,8 @@ function TGikoSys.GetResID(AIDNum: Integer; ThreadItem: TThreadItem): String;
28812882 var
28822883 Res: TResRec;
28832884 boardPlugIn : TBoardPlugIn;
2885+ stList: TStringList;
2886+ i : Integer;
28842887 begin
28852888 Result := '';
28862889 if (ThreadItem <> nil) and (ThreadItem.IsLogFile)
@@ -2894,40 +2897,51 @@ begin
28942897 end else begin
28952898 THTMLCreate.DivideStrLine( ReadThreadFile(ThreadItem.GetThreadFileName, AIDNum), @Res);
28962899 end;
2897- Result := ExtructResID(Res.FDateTime);
2900+ Result := Res.FDateTime;
2901+ if AnsiPos('id', AnsiLowerCase(Result)) > 0 then begin
2902+ Result := Copy(Result, AnsiPos('id', AnsiLowerCase(Result)) - 1, 11);
2903+ if AnsiPos(' be:', AnsiLowerCase(Result)) > 0 then begin
2904+ Result := Copy(Result, 1, AnsiPos(' BE:', AnsiLowerCase(Result)) - 1)
2905+ end;
2906+ end else begin
2907+ stlist := TStringList.Create;
2908+ try
2909+ stList.DelimitedText := Result;
2910+ Result := '';
2911+ for i := 0 to stList.Count - 1 do
2912+ if Length(WideString(stList[i])) = 8 then begin
2913+ if NotDateorTimeString(stList[i]) then begin
2914+ Result := stList[i];
2915+ break;
2916+ end;
2917+ end;
2918+ finally
2919+ stList.Free;
2920+ end;
2921+ end;
28982922 end;
28992923 end;
2924+
29002925 {!
2901-\brief ƒŒƒX‚ÌŽž•”‚©‚çID‚𒊏o‚·‚é
2902-\param ADateStr Žž•”‚Ì•¶Žš—ñ
2903-\return ID(ID‚Æ‚Ý‚È‚¹‚é•”•ª‚ª‚È‚¢‚Æ‚«‚͋󕶎š—ñ)
2926+\brief Žž‚ðŽ¦‚·•¶Žš—ñ‚Å‚Í–³‚¢‚©‚Ç‚¤‚©
2927+\param AStr ’²‚ׂ镶Žš—ñ
2928+\return Žž‚Å‚Í–³‚¢‚È‚ç True
2929+\todo ”Û’èŒ`(Not)‚æ‚èm’èŒn(Is)
29042930 }
2905-function TGikoSys.ExtructResID(ADateStr: String): String;
2906-var
2907- stlist : TStringList;
2931+function TGikoSys.NotDateorTimeString(const AStr : string): boolean;
29082932 begin
2909- Result := '';
2910- if AnsiPos('id', AnsiLowerCase(ADateStr)) > 0 then begin
2911- Result := Copy(ADateStr, AnsiPos('id', AnsiLowerCase(ADateStr)), Length(ADateStr));
2912- if AnsiPos(' ', Result) > 0 then begin
2913- Result := Copy(Result, 1, AnsiPos(' ', Result) - 1);
2914- end;
2915- Result := ' ' + Result;
2916- end else begin
2917- stlist := TStringList.Create;
2918- try
2919- stList.Delimiter := ' ';
2920- stList.DelimitedText := ADateStr;
2921- // “ú•t Žž ID ‘¼@‚ƌŒè‚ōl‚¦‚é
2922- if (stList.Count >= 3) then begin
2923- if Length(stList[3 - 1]) >= 7 then begin
2924- Result := stList[3 - 1];
2925- end;
2926- end;
2927- finally
2928- stList.Free;
2929- end;
2930- end;
2933+ Result := false;
2934+ try
2935+ StrToDate(AStr);
2936+ except
2937+ try
2938+ StrToTime(AStr);
2939+ Result := false;
2940+ except
2941+ Result := true;
2942+ end;
2943+ end;
2944+
29312945 end;
29322946
29332947 {!
--- a/Option.pas
+++ b/Option.pas
@@ -1325,19 +1325,13 @@ begin
13251325 end;
13261326
13271327 procedure TOptionDialog.SoundPlayButtonClick(Sender: TObject);
1328-var
1329- s : String;
13301328 begin
1331- s := SoundFileEdit.Text;
1332- if (AnsiPos('.\', s) = 1) then begin
1333- s := GikoSys.Setting.GetAppDir + Copy(s, 2, Length(s));
1334- end;
1335- if not FileExists(s) then begin
1329+ if not FileExists(SoundFileEdit.Text) then begin
13361330 MsgBox(Handle, '‘¶Ý‚µ‚È‚¢ƒtƒ@ƒCƒ‹‚Å‚·', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK);
13371331 SoundFileEdit.Text := '';
13381332 Exit;
13391333 end;
1340- if not sndPlaySound(PChar(s), SND_ASYNC or SND_NOSTOP) then begin
1334+ if not sndPlaySound(PChar(SoundFileEdit.Text), SND_ASYNC or SND_NOSTOP) then begin
13411335 sndPlaySound(nil, SND_ASYNC);
13421336 end;
13431337 end;
--- a/ResPopupBrowser.pas
+++ b/ResPopupBrowser.pas
@@ -66,8 +66,6 @@ begin
6666 RawDocument := '';
6767 FEvent := nil;
6868 ShowWindow(Self.Handle, SW_HIDE);
69- GikoSys.ShowRefCount('ResPop Create', Self.ControlInterface);
70- GikoSys.ShowRefCount('ResPop.Document Create', Self.ControlInterface.Document);
7169 end;
7270
7371 destructor TResPopupBrowser.Destroy;
@@ -86,10 +84,6 @@ begin
8684 FEvent := nil;
8785 end;
8886 FThread := nil;
89-
90- GikoSys.ShowRefCount('ResPop Desctroy', Self.ControlInterface);
91- GikoSys.ShowRefCount('ResPop.Document Create', Self.ControlInterface.Document);
92-
9387 inherited Destroy;
9488 end;
9589
@@ -142,7 +136,7 @@ begin
142136 end;
143137 procedure TResPopupBrowser.NavigateBlank(Forced: Boolean);
144138 begin
145- if (not Assigned(Self.ControlInterface.Document)) or (Forced) then begin
139+ if (not Assigned(Self.Document)) or (Forced) then begin
146140 Self.Navigate('about:blank');
147141 end;
148142 while (Self.ReadyState <> READYSTATE_COMPLETE) and
@@ -198,7 +192,7 @@ begin
198192 ARect := CalcRect(Screen.MonitorFromPoint(p).WorkareaRect,
199193 not OnlyTitle);
200194
201- FEvent := THTMLDocumentEventSink.Create(Self, Self.OleObject.Document, HTMLDocumentEvents2);
195+ FEvent := THTMLDocumentEventSink.Create(Self, Self.Document, HTMLDocumentEvents2);
202196 FEvent.OnClick := ResPopupBrowserClick;
203197 FEvent.OnDoubleClick := ResPopupBrowserDbClick;
204198 Self.Visible := True;
@@ -278,7 +272,7 @@ var
278272 DIV_X, DIV_Y: Integer;
279273 begin
280274 GetCursorpos(p);
281- ele := ((Self.ControlInterface.Document as IHTMLDocument2).body as IHTMLElement2);
275+ ele := ((Self.Document as IHTMLDocument2).body as IHTMLElement2);
282276 if Scroll then begin
283277 h := GetWindowHeight + 10;
284278 w := ele.scrollWidth + 25
--- a/Setting.pas
+++ b/Setting.pas
@@ -1218,16 +1218,8 @@ begin
12181218 if Exists then begin
12191219 for i := 0 to GetSoundCount - 1 do begin
12201220 SoundFileName[i] := ini.ReadString('Sound', SoundName[i], '');
1221- // ‘Š‘ÎŽQÆ‘΍ô
1222- s := SoundFileName[i];
1223- if (AnsiPos('.\', SoundFileName[i]) = 1) then begin
1224- s := GetAppDir
1225- + Copy(SoundFileName[i], 2, Length(SoundFileName[i]));
1226- end;
1227- // ƒtƒ@ƒCƒ‹‚Ì‘¶Ýƒ`ƒFƒbƒN
1228- if not FileExists(SoundFileName[i]) then begin
1229- SoundFileName[i] := '';
1230- end;
1221+ if not FileExists(SoundFileName[i]) then
1222+ SoundFileName[i] := '';
12311223 end;
12321224 end else begin
12331225 s := GetAppDir + '\sound\';
@@ -1880,11 +1872,6 @@ begin
18801872 for i := 0 to GetSoundCount - 1 do begin
18811873 if SoundName[i] = Name then begin
18821874 Result := SoundFileName[i];
1883- // ‘Š‘΃pƒX‘΍ô
1884- if (AnsiPos('.\', Result) = 1) then begin
1885- Result := GetAppDir
1886- + Copy(Result, 2, Length(Result));
1887- end;
18881875 Exit;
18891876 end;
18901877 end;
Binary files a/gikoNavi.res and b/gikoNavi.res differ
--- a/readme/readme.txt
+++ b/readme/readme.txt
@@ -79,7 +79,7 @@ http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkin
7979 ------------------------------
8080 ŠJ”­Â°ÙFDelphi6 Professional (UP2 + RTL UP2 + RTL UP3)
8181 Delphi6 Personal(UP2 + RTL UP2 + RTL UP3)
82-OS FWindowsXP Professional Edition(SP3) + IE7
82+OS FWindowsXP Professional Edition(SP2) + IE7
8383 WindowsXP Professional Edition(SP1) + IE6(SP1)
8484 Windows2000 Professional (SP4) + IE6(SP1)
8585
@@ -108,17 +108,13 @@ LICENSE
108108 ------------------------------
109109 —š—ð
110110 ------------------------------
111-2008/09/20
111+2008/0X/XX
112112 Version ÊÞÀ58
113113 ƒvƒŒƒrƒ…[‚ÌURL‚©‚ç“o˜^‚µ‚Ä‚ ‚éŠO•”ƒAƒvƒŠ‚ð‹N“®‚·‚é‹@”\‚ð’ljÁ
114114 ƒŒƒX‘—MƒGƒfƒBƒ^‚ŁA˜A‘±‚µ‚Ä“Še‚Å‚«‚é‚悤‚É‚·‚é‹@”\‚ð’ljÁ
115115 ŠJ‚¢‚Ä‚¢‚éƒ^ƒu‚̃XƒŒƒbƒh‚̈ꗗ‚ðƒXƒŒƒbƒhˆê——‚É•\Ž¦‚·‚é‹@”\‚ð’ljÁ
116116 ‚Ü‚¿BBS‚ÌPATH_INFOŒ`Ž®‚ÌURL‚ɑΉž
117- ƒTƒEƒ“ƒhƒCƒxƒ“ƒg‚̃tƒ@ƒCƒ‹Žw’è‚𑊑΃pƒX‚ÅŽw’è‚Å‚«‚é‚悤‚ɏC³
118- •\Ž¦’†‚̃^ƒu‚̈ꗗ‚ðƒXƒŒƒbƒhˆê——‚É•\Ž¦‚·‚éƒAƒNƒVƒ‡ƒ“‚ð’ljÁ
119- ‚µ‚½‚ç‚ÎJBBS‚̔XV‹@”\C³
120- datƒtƒ@ƒCƒ‹‚ðƒXƒŒƒbƒhˆê——‚ÉD&D‚µ‚½‚Æ‚«‚ɁAƒtƒ@ƒCƒ‹–¼‚ª•s³‚Å‚·ƒGƒ‰[‚ɏí‚É‚È‚é•s‹ï‡‚̏C³
121-
117+
122118 2008/03/22
123119 Version ÊÞÀ57 ƒŠƒŠ[ƒX2
124120 –¼‘O—“‚̐”Žš‚̃ŒƒXƒ|ƒbƒvƒAƒbƒv‚ª‚Å‚«‚È‚¢•s‹ï‡‚̏C³
--- a/res/ExternalBoardPlugIn/ShitarabaJBBSAcquireBoard.pas
+++ b/res/ExternalBoardPlugIn/ShitarabaJBBSAcquireBoard.pas
@@ -201,9 +201,6 @@ var
201201 key : string;
202202 htmlList : TStringList;
203203 i : Integer;
204-
205- resultArea : Boolean;
206- pos : Integer;
207204 const
208205 //http://rentalbbs.livedoor.com/jbbs/search/?word=%C2%E7%B3%D8&category=auto
209206 BBS_HOST = 'http://rentalbbs.livedoor.com/';
@@ -215,7 +212,7 @@ const
215212 label
216213 NextBoard;
217214 begin
218- responseCode := 0;
215+
219216 category := CATEGORIES[ CategoryComboBox.ItemIndex ];
220217 boardname := BoardNameEdit.Text;
221218
@@ -240,30 +237,31 @@ begin
240237 htmlList := TStringList.Create();
241238 try
242239 htmlList.Text := CustomStringReplace(downResult, '<br>', #13#10);
243- resultArea := False;
244- for i := 0 to htmlList.Count - 1 do begin
240+ for i := htmlList.Count - 1 downto 0 do begin
245241 downResult := htmlList[i];
246242 try
247- //<div class="searchResults">
248- //<h2><span class="ranking">[1]</span><a href="http://jbbs.livedoor.jp/auto/5497/">MIT-MCC BBS</a><span class="point"><span class="all">4750pt</span><span class="yesterday">(Yesterday40 pt)</span></span></h2>
249- //<p>•‘ H‹Æ‘åŠw@ƒ‚[ƒ^ƒTƒCƒNƒ‹•”‚ÌBBS‚Å‚·BŠeŽ©ƒ`ƒFƒbƒN‚·‚é‚悤‚É‚µ‚Ü‚µ‚傤ô(&amp;gt;_&amp;lt;)b</p>
250- //</div>
251- if (not resultArea) and (AnsiPos('class="searchResults"', downResult) > 0) then begin
252- resultArea := True;
253- end else if (resultArea) then begin
254- pos := AnsiPos('<a href="', downResult);
255- if (pos > 0) then begin
256- resultArea := False;
257- downResult := Copy(downResult, pos + 9, Length(downResult));
258- key := Copy(downResult, 1, AnsiPos('"', downResult)-1);
259- downResult := Copy(downResult, AnsiPos('>', downResult) + 1, Length(downResult));
260-
261- board := Copy(downResult, 1, AnsiPos('</a>', downResult) -1);
262-
263- board := CustomStringReplace(board, '=', '') + '=' + key;
264- LogEdit.SelText := board + #13#10;
265- FBoardList.Add( board );
266- end;
243+ //<a href="/auto/2348/">ƒgƒˆƒ^Ž©“®ŽÔŒfŽ¦”Â</a>
244+ //<small><strng><a href="http://jbbs.livedoor.jp/auto/4112/">–¾Ž¡‘åŠw@“ñ•”E’Z‘å</a></strong></small></td>
245+ if (AnsiPos('<small><strng><a href="', downResult) > 0)
246+ and (AnsiPos(category, downResult) > 0) then begin
247+ downResult := CustomStringReplace(downResult, '<small><strng>', '');
248+ board := Copy(downResult, AnsiPos('<a href="', downResult) + 9,
249+ Length(downResult));
250+ key := Copy(board, AnsiPos('">', board) + 2,
251+ Length(board));
252+ key := Copy(key, 1, AnsiPos('</a>', key) -1);
253+
254+ board := Copy(board, 1, AnsiPos('">', board) - 1);
255+ if (board = '../') then begin
256+ board := CustomStringReplace(board, '../', BOARD_HOST);
257+ end else if (AnsiPos('/', board) = 1) then begin
258+ board := BOARD_HOST + Copy(board, 2, Length(board));
259+ end;
260+
261+ board := key + '=' + board;
262+
263+ LogEdit.SelText := board + #13#10;
264+ FBoardList.Add( board );
267265 end;
268266 except
269267 end;
--- a/res/ExternalBoardPlugIn/ShitarabaJBBSPlugIn.dpr
+++ b/res/ExternalBoardPlugIn/ShitarabaJBBSPlugIn.dpr
@@ -2,7 +2,7 @@ library ShitarabaJBBSPlugIn;
22
33 {
44 ShitarabaJBBSPlugIn
5- $Id: ShitarabaJBBSPlugIn.dpr,v 1.45 2008/08/03 02:45:48 h677 Exp $
5+ $Id: ShitarabaJBBSPlugIn.dpr,v 1.44 2006/07/02 09:48:04 h677 Exp $
66 }
77
88 uses
@@ -83,7 +83,7 @@ const
8383 MAJOR_VERSION = 1;
8484 MINOR_VERSION = 1;
8585 RELEASE_VERSION = 'alpha';
86- REVISION_VERSION = 17;
86+ REVISION_VERSION = 15;
8787
8888 SYNCRONIZE_MENU_CAPTION = '‚µ‚½‚ç‚ÎJBBS”XV';
8989
Binary files a/res/ExternalBoardPlugIn/ShitarabaJBBSPlugIn.res and b/res/ExternalBoardPlugIn/ShitarabaJBBSPlugIn.res differ
--- a/res/default/Samba.default
+++ b/res/default/Samba.default
@@ -1,31 +1,40 @@
11 [Setting]
2-@endless=20
32 @liveplus=10
4-@news=156
3+@news=30
54 @newsplus=128
6-@operate=24
7-@sec2chd=20
8-academy6=45
9-babiru=30
10-bubble6=45
11-changi=45
12-ex24=45
13-food8=45
14-gimpo=45
15-ipv6=45
16-life9=45
17-live23=15
18-live24=15
19-love6=45
20-mamono=45
21-namidame=45
22-pc11=45
23-qb5=45
24-qiufen=30
25-schiphol=45
26-science6=45
27-set=30
28-society6=45
29-venus=30
30-yomi=30
31-yutori=10
5+@news4vip=10
6+@news4viptasu=10
7+academy6=20
8+anime3=20
9+bubble6=20
10+etc7=20
11+ex21=20
12+food8=20
13+game13=20
14+game14=20
15+hobby10=20
16+human7=20
17+life9=20
18+live23=10
19+live24=10
20+live27=10
21+love6=20
22+mamono=10
23+money6=20
24+music8=20
25+namidame=10
26+news24=20
27+pc11=20
28+qb5=20
29+qiufen=20
30+babiru=20
31+yomi=20
32+venus=20
33+set=20
34+school7=20
35+science6=20
36+society6=20
37+sports11=20
38+tmp7=20
39+tv11=20
40+yutori=20
\ No newline at end of file