ギコナビ
Revision | c36cdb6125916a6d29947cad8a9d6671766afe19 (tree) |
---|---|
Time | 2008-09-14 10:47:54 |
Author | cvs2git <cvs2git> |
Commiter | cvs2git |
This commit was manufactured by cvs2svn to create tag 'v1_58_0_760'.
@@ -8397,9 +8397,6 @@ object GikoForm: TGikoForm | ||
8397 | 8397 | object ID1: TMenuItem |
8398 | 8398 | Action = GikoDM.SameIDResAnchorAction |
8399 | 8399 | end |
8400 | - object N83: TMenuItem | |
8401 | - Action = GikoDM.DereferenceResAction | |
8402 | - end | |
8403 | 8400 | end |
8404 | 8401 | object BrowserTabPopupMenu: TPopupMenu |
8405 | 8402 | Images = HotToobarImageList |
@@ -419,7 +419,6 @@ type | ||
419 | 419 | ResPopupClearTimer: TTimer; |
420 | 420 | TaskTrayPopupMenu: TPopupMenu; |
421 | 421 | Exit1: TMenuItem; |
422 | - N83: TMenuItem; | |
423 | 422 | procedure FormCreate(Sender: TObject); |
424 | 423 | procedure FormDestroy(Sender: TObject); |
425 | 424 | procedure BrowserStatusTextChange(Sender: TObject; |
@@ -692,9 +691,6 @@ type | ||
692 | 691 | function isValidFile(FileName: String) : boolean; |
693 | 692 | //! ListViewÌD&Dó¯æè |
694 | 693 | procedure AcceptDropFiles(var Msg: TMsg); |
695 | - //! XbhêXV | |
696 | - procedure UpdateListView(); | |
697 | - | |
698 | 694 | protected |
699 | 695 | procedure CreateParams(var Params: TCreateParams); override; |
700 | 696 | procedure WndProc(var Message: TMessage); override; |
@@ -2584,7 +2580,20 @@ begin | ||
2584 | 2580 | end; |
2585 | 2581 | TreeView.Refresh; |
2586 | 2582 | //ListViewűÌXªÜÜêéÂð\¦µÄ¢éÆ«ÌXV |
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ÌACeÌÂàXV | |
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; | |
2588 | 2597 | RefreshListView(Item.ThreadItem); |
2589 | 2598 | end; |
2590 | 2599 |
@@ -6784,6 +6793,8 @@ var | ||
6784 | 6793 | FOleInPlaceActiveObject: IOleInPlaceActiveObject; |
6785 | 6794 | p : TPoint; |
6786 | 6795 | AID: string; |
6796 | + stlist : TStringList; | |
6797 | + i : Integer; | |
6787 | 6798 | begin |
6788 | 6799 | result := true; |
6789 | 6800 | if not Assigned(FActiveContent) then |
@@ -6808,7 +6819,29 @@ begin | ||
6808 | 6819 | Exit; |
6809 | 6820 | |
6810 | 6821 | 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; | |
6812 | 6845 | ShowSameIDAncher(AID); |
6813 | 6846 | end; |
6814 | 6847 | except |
@@ -6837,7 +6870,7 @@ begin | ||
6837 | 6870 | end |
6838 | 6871 | end; |
6839 | 6872 | FActiveContent.IDAnchorPopup( |
6840 | - GikoSys.CreateResAnchor(numbers, FActiveContent.Thread, limited)); | |
6873 | + GikoSys.CreateSameIDResAnchor(numbers, FActiveContent.Thread, limited)); | |
6841 | 6874 | finally |
6842 | 6875 | numbers.Free; |
6843 | 6876 | end; |
@@ -7841,6 +7874,7 @@ var | ||
7841 | 7874 | Board: TBoard; |
7842 | 7875 | LogFolder: String; |
7843 | 7876 | datList: TStringList; |
7877 | + p: TPoint; | |
7844 | 7878 | begin |
7845 | 7879 | // \¦µÄ¢éÌÂÌÆ«ÈOÍÛ |
7846 | 7880 | if GetActiveList is TBoard then begin |
@@ -7877,12 +7911,10 @@ begin | ||
7877 | 7911 | if (datList.Count > 0) then begin |
7878 | 7912 | GikoSys.AddOutofIndexDat(Board, datList, False); |
7879 | 7913 | ShowMessage(IntToStr(datList.Count) + 'ÂÌdatt@CªRs[³êܵ½B' ); |
7880 | - if GikoForm.TreeView.Visible then begin | |
7914 | + if GikoForm.TreeView.Visible then | |
7881 | 7915 | 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; | |
7886 | 7918 | end else begin |
7887 | 7919 | ShowMessage('êÂàRs[³êܹñŵ½B' ); |
7888 | 7920 | end; |
@@ -7895,25 +7927,7 @@ begin | ||
7895 | 7927 | ShowMessage('Âð\¦µÄ¾³¢B'); |
7896 | 7928 | end; |
7897 | 7929 | end; |
7898 | -procedure TGikoForm.UpdateListView(); | |
7899 | -begin | |
7900 | - //ListViewűÌXªÜÜêéÂð\¦µÄ¢éÆ«ÌXV | |
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ÌACeÌÂàXV | |
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 | + | |
7917 | 7931 | //! t@C`FbN |
7918 | 7932 | function TGikoForm.isValidFile(FileName: String) : boolean; |
7919 | 7933 | var |
@@ -7930,7 +7944,7 @@ begin | ||
7930 | 7944 | end else begin |
7931 | 7945 | // Ot@CÌg£qð͸µ½à̪Xì¬ú |
7932 | 7946 | try |
7933 | - dt := GikoSys.GetCreateDateFromName(ExtractFileName(FileName)); | |
7947 | + dt := GikoSys.GetCreateDateFromName(FileName); | |
7934 | 7948 | if ((UnixToDateTime(ZERO_DATE) + OffsetFromUTC) = dt) then begin |
7935 | 7949 | Result := False; |
7936 | 7950 | GikoUtil.MsgBox(Handle, ExtractFileName(FileName) + 'Ìt@C¼ªs³Å·B', 'G[', MB_ICONSTOP or MB_OK); |
@@ -1369,14 +1369,6 @@ object GikoDM: TGikoDM | ||
1369 | 1369 | Hint = #12479#12502#19968#35239#34920#31034 |
1370 | 1370 | OnExecute = ShowTabListActionExecute |
1371 | 1371 | 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 | |
1380 | 1372 | end |
1381 | 1373 | object ToobarImageList: TImageList |
1382 | 1374 | Left = 44 |
@@ -241,7 +241,6 @@ type | ||
241 | 241 | AddIDtoNGWord1Action: TAction; |
242 | 242 | ExtractSameIDAction: TAction; |
243 | 243 | ShowTabListAction: TAction; |
244 | - DereferenceResAction: TAction; | |
245 | 244 | procedure EditNGActionExecute(Sender: TObject); |
246 | 245 | procedure ReloadActionExecute(Sender: TObject); |
247 | 246 | procedure GoFowardActionExecute(Sender: TObject); |
@@ -453,7 +452,6 @@ type | ||
453 | 452 | procedure AddIDtoNGWord1ActionExecute(Sender: TObject); |
454 | 453 | procedure ExtractSameIDActionExecute(Sender: TObject); |
455 | 454 | procedure ShowTabListActionExecute(Sender: TObject); |
456 | - procedure DereferenceResActionExecute(Sender: TObject); | |
457 | 455 | private |
458 | 456 | { Private é¾ } |
459 | 457 | procedure ClearResFilter; |
@@ -4401,7 +4399,7 @@ begin | ||
4401 | 4399 | // XÌÔðXV |
4402 | 4400 | if (Pos('menu:', url) > 0) then begin |
4403 | 4401 | index := StrToInt64Def( |
4404 | - Copy(url, 6, Length(url)), index + 1 | |
4402 | + Copy(url, 5, Length(url)), index + 1 | |
4405 | 4403 | ); |
4406 | 4404 | end else begin |
4407 | 4405 | // JnXÔÈ~©`FbN |
@@ -4496,72 +4494,5 @@ begin | ||
4496 | 4494 | GikoForm.ListView.Items.EndUpdate; |
4497 | 4495 | GikoForm.SetActiveList(BoardGroup.SpecialBoard); |
4498 | 4496 | end; |
4499 | -//! tQƵĢéXðÇÁ·é | |
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 | - // ANeBu^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ÌÔðXV | |
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|bvpÌÔæ¾ | |
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 | - | |
4566 | 4497 | end. |
4567 | 4498 |
@@ -213,11 +213,10 @@ type | ||
213 | 213 | procedure GetPopupResNumber(URL : string; var stRes, endRes : Int64); |
214 | 214 | |
215 | 215 | 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; | |
217 | 217 | procedure GetSameIDRes(const AID : string; ThreadItem: TThreadItem;var body: TStringList); overload; |
218 | 218 | procedure GetSameIDRes(AIDNum : Integer; ThreadItem: TThreadItem;var body: TStringList); overload; |
219 | 219 | function GetResID(AIDNum: Integer; ThreadItem: TThreadItem): String; |
220 | - function ExtructResID(ADateStr: String): String; | |
221 | 220 | //! PêðÍ |
222 | 221 | procedure SpamCountWord( const text : string; wordCount : TWordCount ); |
223 | 222 | //! wKNA |
@@ -226,6 +225,8 @@ type | ||
226 | 225 | procedure SpamLearn( wordCount : TWordCount; isSpam : Boolean ); |
227 | 226 | //! Xpx |
228 | 227 | function SpamParse( const text : string; wordCount : TWordCount ) : Extended; |
228 | + //øªAútÅàÅàÈ¢±Æð²×é | |
229 | + function NotDateorTimeString(const AStr : string): boolean; | |
229 | 230 | |
230 | 231 | //! øÉçêÄ«½út/IDÉBE̶ñª Á½çAvt@CÖÌNðÇÁ |
231 | 232 | function AddBeProfileLink(AID : string; ANum: Integer): string; |
@@ -2769,7 +2770,7 @@ end; | ||
2769 | 2770 | \param limited ñ·éð§À·éÈç1Èã |
2770 | 2771 | \return ñ³ê½XAJ[ |
2771 | 2772 | } |
2772 | -function TGikoSys.CreateResAnchor( | |
2773 | +function TGikoSys.CreateSameIDResAnchor( | |
2773 | 2774 | var Numbers: TStringList; ThreadItem: TThreadItem; |
2774 | 2775 | limited: Integer):string; |
2775 | 2776 | var |
@@ -2881,6 +2882,8 @@ function TGikoSys.GetResID(AIDNum: Integer; ThreadItem: TThreadItem): String; | ||
2881 | 2882 | var |
2882 | 2883 | Res: TResRec; |
2883 | 2884 | boardPlugIn : TBoardPlugIn; |
2885 | + stList: TStringList; | |
2886 | + i : Integer; | |
2884 | 2887 | begin |
2885 | 2888 | Result := ''; |
2886 | 2889 | if (ThreadItem <> nil) and (ThreadItem.IsLogFile) |
@@ -2894,40 +2897,51 @@ begin | ||
2894 | 2897 | end else begin |
2895 | 2898 | THTMLCreate.DivideStrLine( ReadThreadFile(ThreadItem.GetThreadFileName, AIDNum), @Res); |
2896 | 2899 | 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; | |
2898 | 2922 | end; |
2899 | 2923 | end; |
2924 | + | |
2900 | 2925 | {! |
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) | |
2904 | 2930 | } |
2905 | -function TGikoSys.ExtructResID(ADateStr: String): String; | |
2906 | -var | |
2907 | - stlist : TStringList; | |
2931 | +function TGikoSys.NotDateorTimeString(const AStr : string): boolean; | |
2908 | 2932 | 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 | + | |
2931 | 2945 | end; |
2932 | 2946 | |
2933 | 2947 | {! |
@@ -1325,19 +1325,13 @@ begin | ||
1325 | 1325 | end; |
1326 | 1326 | |
1327 | 1327 | procedure TOptionDialog.SoundPlayButtonClick(Sender: TObject); |
1328 | -var | |
1329 | - s : String; | |
1330 | 1328 | 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 | |
1336 | 1330 | MsgBox(Handle, '¶ÝµÈ¢t@CÅ·', 'G[', MB_ICONSTOP or MB_OK); |
1337 | 1331 | SoundFileEdit.Text := ''; |
1338 | 1332 | Exit; |
1339 | 1333 | 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 | |
1341 | 1335 | sndPlaySound(nil, SND_ASYNC); |
1342 | 1336 | end; |
1343 | 1337 | end; |
@@ -66,8 +66,6 @@ begin | ||
66 | 66 | RawDocument := ''; |
67 | 67 | FEvent := nil; |
68 | 68 | ShowWindow(Self.Handle, SW_HIDE); |
69 | - GikoSys.ShowRefCount('ResPop Create', Self.ControlInterface); | |
70 | - GikoSys.ShowRefCount('ResPop.Document Create', Self.ControlInterface.Document); | |
71 | 69 | end; |
72 | 70 | |
73 | 71 | destructor TResPopupBrowser.Destroy; |
@@ -86,10 +84,6 @@ begin | ||
86 | 84 | FEvent := nil; |
87 | 85 | end; |
88 | 86 | FThread := nil; |
89 | - | |
90 | - GikoSys.ShowRefCount('ResPop Desctroy', Self.ControlInterface); | |
91 | - GikoSys.ShowRefCount('ResPop.Document Create', Self.ControlInterface.Document); | |
92 | - | |
93 | 87 | inherited Destroy; |
94 | 88 | end; |
95 | 89 |
@@ -142,7 +136,7 @@ begin | ||
142 | 136 | end; |
143 | 137 | procedure TResPopupBrowser.NavigateBlank(Forced: Boolean); |
144 | 138 | begin |
145 | - if (not Assigned(Self.ControlInterface.Document)) or (Forced) then begin | |
139 | + if (not Assigned(Self.Document)) or (Forced) then begin | |
146 | 140 | Self.Navigate('about:blank'); |
147 | 141 | end; |
148 | 142 | while (Self.ReadyState <> READYSTATE_COMPLETE) and |
@@ -198,7 +192,7 @@ begin | ||
198 | 192 | ARect := CalcRect(Screen.MonitorFromPoint(p).WorkareaRect, |
199 | 193 | not OnlyTitle); |
200 | 194 | |
201 | - FEvent := THTMLDocumentEventSink.Create(Self, Self.OleObject.Document, HTMLDocumentEvents2); | |
195 | + FEvent := THTMLDocumentEventSink.Create(Self, Self.Document, HTMLDocumentEvents2); | |
202 | 196 | FEvent.OnClick := ResPopupBrowserClick; |
203 | 197 | FEvent.OnDoubleClick := ResPopupBrowserDbClick; |
204 | 198 | Self.Visible := True; |
@@ -278,7 +272,7 @@ var | ||
278 | 272 | DIV_X, DIV_Y: Integer; |
279 | 273 | begin |
280 | 274 | GetCursorpos(p); |
281 | - ele := ((Self.ControlInterface.Document as IHTMLDocument2).body as IHTMLElement2); | |
275 | + ele := ((Self.Document as IHTMLDocument2).body as IHTMLElement2); | |
282 | 276 | if Scroll then begin |
283 | 277 | h := GetWindowHeight + 10; |
284 | 278 | w := ele.scrollWidth + 25 |
@@ -1218,16 +1218,8 @@ begin | ||
1218 | 1218 | if Exists then begin |
1219 | 1219 | for i := 0 to GetSoundCount - 1 do begin |
1220 | 1220 | 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̶Ý`FbN | |
1228 | - if not FileExists(SoundFileName[i]) then begin | |
1229 | - SoundFileName[i] := ''; | |
1230 | - end; | |
1221 | + if not FileExists(SoundFileName[i]) then | |
1222 | + SoundFileName[i] := ''; | |
1231 | 1223 | end; |
1232 | 1224 | end else begin |
1233 | 1225 | s := GetAppDir + '\sound\'; |
@@ -1880,11 +1872,6 @@ begin | ||
1880 | 1872 | for i := 0 to GetSoundCount - 1 do begin |
1881 | 1873 | if SoundName[i] = Name then begin |
1882 | 1874 | Result := SoundFileName[i]; |
1883 | - // ÎpXÎô | |
1884 | - if (AnsiPos('.\', Result) = 1) then begin | |
1885 | - Result := GetAppDir | |
1886 | - + Copy(Result, 2, Length(Result)); | |
1887 | - end; | |
1888 | 1875 | Exit; |
1889 | 1876 | end; |
1890 | 1877 | end; |
@@ -79,7 +79,7 @@ http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkin | ||
79 | 79 | ------------------------------ |
80 | 80 | J°ÙFDelphi6 Professional (UP2 + RTL UP2 + RTL UP3) |
81 | 81 | Delphi6 Personal(UP2 + RTL UP2 + RTL UP3) |
82 | -OS FWindowsXP Professional Edition(SP3) + IE7 | |
82 | +OS FWindowsXP Professional Edition(SP2) + IE7 | |
83 | 83 | WindowsXP Professional Edition(SP1) + IE6(SP1) |
84 | 84 | Windows2000 Professional (SP4) + IE6(SP1) |
85 | 85 |
@@ -108,17 +108,13 @@ LICENSE | ||
108 | 108 | ------------------------------ |
109 | 109 | ð |
110 | 110 | ------------------------------ |
111 | -2008/09/20 | |
111 | +2008/0X/XX | |
112 | 112 | Version ÊÞÀ58 |
113 | 113 | vr [ÌURL©ço^µÄ éOAvðN®·é@\ðÇÁ |
114 | 114 | XMGfB^ÅAA±µÄeÅ«éæ¤É·é@\ðÇÁ |
115 | 115 | J¢Ä¢é^uÌXbhÌêðXbhêÉ\¦·é@\ðÇÁ |
116 | 116 | Ü¿BBSÌPATH_INFO`®ÌURLÉÎ |
117 | - TEhCxgÌt@CwèðÎpXÅwèÅ«éæ¤ÉC³ | |
118 | - \¦Ì^uÌêðXbhêÉ\¦·éANVðÇÁ | |
119 | - µ½çÎJBBSÌÂXV@\C³ | |
120 | - datt@CðXbhêÉD&Dµ½Æ«ÉAt@C¼ªs³Å·G[ÉíÉÈésïÌC³ | |
121 | - | |
117 | + | |
122 | 118 | 2008/03/22 |
123 | 119 | Version ÊÞÀ57 [X2 |
124 | 120 | ¼OÌÌX|bvAbvªÅ«È¢sïÌC³ |
@@ -201,9 +201,6 @@ var | ||
201 | 201 | key : string; |
202 | 202 | htmlList : TStringList; |
203 | 203 | i : Integer; |
204 | - | |
205 | - resultArea : Boolean; | |
206 | - pos : Integer; | |
207 | 204 | const |
208 | 205 | //http://rentalbbs.livedoor.com/jbbs/search/?word=%C2%E7%B3%D8&category=auto |
209 | 206 | BBS_HOST = 'http://rentalbbs.livedoor.com/'; |
@@ -215,7 +212,7 @@ const | ||
215 | 212 | label |
216 | 213 | NextBoard; |
217 | 214 | begin |
218 | - responseCode := 0; | |
215 | + | |
219 | 216 | category := CATEGORIES[ CategoryComboBox.ItemIndex ]; |
220 | 217 | boardname := BoardNameEdit.Text; |
221 | 218 |
@@ -240,30 +237,31 @@ begin | ||
240 | 237 | htmlList := TStringList.Create(); |
241 | 238 | try |
242 | 239 | 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 | |
245 | 241 | downResult := htmlList[i]; |
246 | 242 | 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@[^TCNÌBBSÅ·Be©`FbN·éæ¤ÉµÜµå¤ô(&gt;_&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@ñEZå</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 ); | |
267 | 265 | end; |
268 | 266 | except |
269 | 267 | end; |
@@ -2,7 +2,7 @@ library ShitarabaJBBSPlugIn; | ||
2 | 2 | |
3 | 3 | { |
4 | 4 | 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 $ | |
6 | 6 | } |
7 | 7 | |
8 | 8 | uses |
@@ -83,7 +83,7 @@ const | ||
83 | 83 | MAJOR_VERSION = 1; |
84 | 84 | MINOR_VERSION = 1; |
85 | 85 | RELEASE_VERSION = 'alpha'; |
86 | - REVISION_VERSION = 17; | |
86 | + REVISION_VERSION = 15; | |
87 | 87 | |
88 | 88 | SYNCRONIZE_MENU_CAPTION = 'µ½çÎJBBSÂXV'; |
89 | 89 |
@@ -1,31 +1,40 @@ | ||
1 | 1 | [Setting] |
2 | -@endless=20 | |
3 | 2 | @liveplus=10 |
4 | -@news=156 | |
3 | +@news=30 | |
5 | 4 | @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 |