• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

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

ギコナビ


Commit MetaInfo

Revisiona9d37583ee813f997731c40710111324bcad82aa (tree)
Zeit2009-04-05 23:54:59
Autorcvs2git <cvs2git>
Commitercvs2git

Log Message

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

Ändern Zusammenfassung

Diff

--- a/BoardGroup.pas
+++ b/BoardGroup.pas
@@ -279,7 +279,7 @@ type
279279 public
280280 constructor Create(const inPlugIn : TBoardPlugIn; const inBoard : TBoard; inURL : string ); overload;
281281 constructor Create(const inPlugIn : TBoardPlugIn; const inBoard : TBoard;
282- inURL : string; inExist: Boolean; const inFilename: string ); overload;
282+ const inURL : string; inExist: Boolean; const inFilename: string ); overload;
283283
284284 destructor Destroy; override;
285285
@@ -1574,7 +1574,7 @@ end;
15741574 constructor TThreadItem.Create(
15751575 const inPlugIn : TBoardPlugIn;
15761576 const inBoard : TBoard;
1577- inURL : string;
1577+ const inURL : string;
15781578 inExist: Boolean;
15791579 const inFilename: string
15801580 );
@@ -1589,7 +1589,7 @@ begin
15891589 // dat ‚Ì•Û‘¶ƒpƒX‚ðÝ’è
15901590 FileName := inFilename;
15911591 IsLogFile := inExist;
1592- URL := GikoSys.Get2chBrowsableThreadURL( inURL );
1592+ URL := inURL;
15931593 end else begin
15941594 // ƒvƒ‰ƒOƒCƒ“‚É TThreadItem ‚ªì¬‚³‚ꂽ‚±‚Æ‚ð“`‚¦‚é
15951595 inPlugIn.CreateThreadItem( DWORD( Self ) );
--- a/Giko.pas
+++ b/Giko.pas
@@ -1025,7 +1025,11 @@ begin
10251025 case FResRangeMenuSelect of
10261026 Ord( grrKoko ): GikoDM.OnlyKokoResAction.Checked := True;
10271027 Ord( grrNew ): GikoDM.OnlyNewResAction.Checked := True;
1028- 100: GikoDM.OnlyAHundredResAction.Checked := True;
1028+ 10..65535:
1029+ begin
1030+ GikoDM.OnlyAHundredResAction.Checked := True;
1031+ GikoSys.ResRange := GikoSys.Setting.ResRangeExCount;
1032+ end;
10291033 end;
10301034 end;
10311035
@@ -1468,8 +1472,8 @@ var
14681472 item : TThreadItem;
14691473 begin
14701474 if FStartUp then begin
1475+ FStartUp := false;
14711476 ShowWindow(Application.Handle, SW_HIDE);
1472-
14731477 //FormCreate‚Å‚â‚é‚ƉŽ‹Ý’肪”½‰f‚³‚ê‚È‚¢ê‡‚ª‚ ‚é‚Ì‚ÅFormShow‚Å‚â‚邱‚Æ‚É‚µ‚½
14741478 //ƒc[ƒ‹ƒo[•\Ž¦
14751479 GikoDM.StdToolBarVisibleAction.Checked := GikoSys.Setting.StdToolBarVisible;
@@ -1494,6 +1498,9 @@ begin
14941498 // ResetBandInfo( ListCoolBar, ListToolBar );
14951499 FIsIgnoreResize := rtNone;
14961500
1501+ //ActionList‚ÌGroupIndex‚ðŒ³‚É–ß‚·
1502+ SetGroupIndex(GikoDM.GikoFormActionList);
1503+
14971504 //FormCrete‚©‚çˆÚ“®B
14981505 if GikoSys.Setting.TabAutoLoadSave then begin
14991506 GikoDM.TabsOpenAction.Tag := 1;
@@ -1501,26 +1508,20 @@ begin
15011508 GikoDM.TabsOpenAction.Tag := 0;
15021509 if (GikoSys.Setting.LastCloseTabURL <> '') then begin
15031510 if ( FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
1504- PostMessage( Handle, USER_DOCUMENTCOMPLETE, Integer( FActiveContent.Browser ), 0 );
1505- end;
1506- if ( FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
15071511 while (FActiveContent.Browser.ReadyState <> READYSTATE_COMPLETE) and
15081512 (FActiveContent.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin
1509- Application.ProcessMessages;
1513+ // ƒƒbƒZ[ƒW‚ðŽó‚¯Žæ‚ç‚È‚¢‚悤‚ɃXƒŠ[ƒv‚ɕύX
1514+ Sleep(1);
15101515 end;
15111516 end;
15121517 item := BBSsFindThreadFromURL( GikoSys.Setting.LastCloseTabURL );
1518+ GikoSys.Setting.LastCloseTabURL := '';
15131519 if (item <> nil) and (item.IsLogFile) then begin
15141520 OpenThreadItem(item, item.URL);
15151521 end;
1516- GikoSys.Setting.LastCloseTabURL := '';
1522+ //ShowWindow(Self.Handle, SW_SHOW);
15171523 end;
15181524 end;
1519-
1520- //ActionList‚ÌGroupIndex‚ðŒ³‚É–ß‚·
1521- SetGroupIndex(GikoDM.GikoFormActionList);
1522-
1523- FStartUp := false;
15241525 end;
15251526 end;
15261527
@@ -2079,7 +2080,8 @@ begin
20792080 s := '';
20802081 Ext := AnsiLowerCase(ExtractFileExt(Text2));
20812082 if (Pos('http://', Text2) = 1) and (GikoSys.Setting.PreviewVisible) and
2082- ((Ext = '.jpg') or (Ext = '.jpeg') or (Ext = '.gif') or (Ext = '.png')) then begin
2083+ ((Ext = '.jpg') or (Ext = '.jpeg') or (Ext = '.gif') or (Ext = '.png')) or
2084+ (Pos('http://www.nicovideo.jp/watch/', Text2) = 1) then begin
20832085 if FPreviewBrowser = nil then begin
20842086 FPreviewBrowser := TPreviewBrowser.Create(Self);
20852087 ShowWindow(FPreviewBrowser.Handle, SW_HIDE);
@@ -2376,6 +2378,16 @@ begin
23762378 KokoPopupMenu.PopupComponent := nil;
23772379 if (Sender is TComponent) then
23782380 KokoPopupMenu.PopupComponent := TComponent(Sender);
2381+ // Œë”š‘΍ô ƒNƒŠƒbƒN‚µ‚½ƒuƒ‰ƒEƒU‚ƈقȂé‚Æ‚«‚ɏÁ‚·ˆ—‚ð’ljÁ
2382+ if not (Sender is TResPopupBrowser) then begin
2383+ if (FResPopupBrowser <> nil) and (FResPopupBrowser.CurrentBrowser.Visible = True) then begin
2384+ FResPopupBrowser.Clear;
2385+ end;
2386+ end else begin
2387+ if (Sender <> FResPopupBrowser.CurrentBrowser) then begin
2388+ TResPopupBrowser(Sender).ChildClear;
2389+ end;
2390+ end;
23792391 KokoPopupMenu.Tag := StrToInt(sNo);
23802392 KokoPopupMenu.Popup(p.x, p.y);
23812393 end else if Pos('mailto', LowerCase(URL)) <> 0 then begin
--- a/GikoBayesian.pas
+++ b/GikoBayesian.pas
@@ -5,7 +5,7 @@ unit GikoBayesian;
55 \brief ƒxƒCƒWƒAƒ“ƒtƒBƒ‹ƒ^
66
77
8-$Id: GikoBayesian.pas,v 1.21 2006/06/26 14:57:15 h677 Exp $
8+$Id: GikoBayesian.pas,v 1.22 2009/01/31 15:47:15 h677 Exp $
99 }
1010
1111 //! •½‰¼–¼‚ðŽ«‘‚ÉŠÜ‚ß‚È‚¢
@@ -310,12 +310,12 @@ begin
310310
311311 for i := 1 to sl.Count - 1 do begin
312312 s := sl[ i ];
313- name := RemoveToken( s, #1 );
313+ name := GikoBayesian.RemoveToken( s, #1 );
314314 info := TWordInfo.Create;
315- info.NormalWord := StrToIntDef( '$' + RemoveToken( s, #1 ), 0 );
316- info.ImportantWord := StrToIntDef( '$' + RemoveToken( s, #1 ), 0 );
317- info.NormalText := StrToIntDef( '$' + RemoveToken( s, #1 ), 0 );
318- info.ImportantText := StrToIntDef( '$' + RemoveToken( s, #1 ), 0 );
315+ info.NormalWord := StrToIntDef( '$' + GikoBayesian.RemoveToken( s, #1 ), 0 );
316+ info.ImportantWord := StrToIntDef( '$' + GikoBayesian.RemoveToken( s, #1 ), 0 );
317+ info.NormalText := StrToIntDef( '$' + GikoBayesian.RemoveToken( s, #1 ), 0 );
318+ info.ImportantText := StrToIntDef( '$' + GikoBayesian.RemoveToken( s, #1 ), 0 );
319319
320320 AddObject( name, info );
321321 end;
--- a/GikoDataModule.dfm
+++ b/GikoDataModule.dfm
@@ -1237,6 +1237,7 @@ object GikoDM: TGikoDM
12371237 OnExecute = OpenFindDialogActionExecute
12381238 end
12391239 object FavoriteTreeViewItemNameCopyAction: TAction
1240+ Tag = -1
12401241 Category = #12362#27671#12395#20837#12426#12484#12522#12540#12509#12483#12503#12450#12483#12503
12411242 Caption = #34920#31034#21517#12434#12467#12500#12540'(&S)'
12421243 Hint = #34920#31034#12375#12390#12356#12427#21517#21069#12434#12463#12522#12483#12503#12508#12540#12489#12395#12467#12500#12540#12377#12427
@@ -1345,12 +1346,14 @@ object GikoDM: TGikoDM
13451346 OnUpdate = DependActiveCntentActionUpdate
13461347 end
13471348 object AddIDtoNGWord0Action: TAction
1349+ Tag = -1
13481350 Category = #12502#12521#12454#12470#12509#12483#12503#12450#12483#12503
13491351 Caption = 'ID'#12434'NG'#12527#12540#12489#12395#36861#21152'('#36879#26126')'
13501352 Hint = #12524#12473#12398'ID'#12434'NG'#12527#12540#12489#12501#12449#12452#12523#12395#36861#21152#12377#12427#65288#36879#26126#65289
13511353 OnExecute = AddIDtoNGWord0ActionExecute
13521354 end
13531355 object AddIDtoNGWord1Action: TAction
1356+ Tag = -1
13541357 Category = #12502#12521#12454#12470#12509#12483#12503#12450#12483#12503
13551358 Caption = 'ID'#12434'NG'#12527#12540#12489#12395#36861#21152
13561359 Hint = 'ID'#12434'NG'#12527#12540#12489#12501#12449#12452#12523#12395#36861#21152#12377#12427
--- a/GikoDataModule.pas
+++ b/GikoDataModule.pas
@@ -926,8 +926,8 @@ begin
926926
927927 GikoForm.ResRangeMenuSelect := 100;
928928 OnlyAHundredResAction.Checked := True;
929- //@•\Ž¦”͈͂ðÝ’è‚·‚é
930- SetResRange(100);
929+ //@•\Ž¦”͈͂ðÝ’è‚·‚éBÝ’è’l‚©‚ç‚Æ‚Á‚Ä‚­‚éB
930+ SetResRange(GikoSys.Setting.ResRangeExCount);
931931 end;
932932 // *************************************************************************
933933 //! –¢“ǃŒƒX‚Ì‚Ý•\Ž¦
@@ -4582,8 +4582,10 @@ begin
45824582 try
45834583 form.ShowModal;
45844584 shutdown := form.Allowshutdown;
4585- GikoForm.UpdateExePath := form.ExecPath;
4586- GikoForm.UpdateExeArgs := form.ExecArgs;
4585+ if shutdown then begin
4586+ GikoForm.UpdateExePath := form.ExecPath;
4587+ GikoForm.UpdateExeArgs := form.ExecArgs;
4588+ end;
45874589 finally
45884590 form.Release;
45894591 end;
--- a/GikoSystem.pas
+++ b/GikoSystem.pas
@@ -181,7 +181,7 @@ type
181181
182182 procedure MenuFont(Font: TFont);
183183
184- function RemoveToken(var s:string; const delimiter:string):string;
184+// function RemoveToken(var s:string; const delimiter:string):string;
185185 function GetTokenIndex(s: string; delimiter: string; index: Integer): string;
186186
187187 function GetShortName(const LongName: string; ALength: integer): string;
@@ -264,7 +264,7 @@ const
264264 ZERO_DATE: Integer = 25569;
265265 BETA_VERSION_NAME_E = 'beta';
266266 BETA_VERSION_NAME_J = 'ÊÞÀ';
267- BETA_VERSION = 59;
267+ BETA_VERSION = 60;
268268 BETA_VERSION_BUILD = ''; //!< debug”Å‚È‚Ç
269269 APP_NAME = 'gikoNavi';
270270 BE_PHP_URL = 'http://be.2ch.net/test/p.php?i=';
@@ -645,7 +645,7 @@ begin
645645 end;
646646 end;
647647
648- ThreadItem.BeginUpdate;
648+ //ThreadItem.BeginUpdate;
649649 if (datFileCheck) and (islog) then
650650 FileList.Delete( Index );
651651
@@ -670,7 +670,7 @@ begin
670670 Node := FavoriteDM.TreeView.Items.AddChildObject( FavoriteDM.TreeView.Items.Item[0], ThreadItem.Title, FavoThreadItem);
671671 *}
672672
673- ThreadItem.EndUpdate;
673+ //ThreadItem.EndUpdate;
674674 Board.Add(ThreadItem);
675675
676676 if (ThreadItem.UnRead) and (ThreadItem.IsLogFile) then
@@ -699,7 +699,7 @@ begin
699699 Board.IsThreadDatRead := True;
700700 {$IFDEF DEBUG}
701701 rt := GetTickCount - st;
702- Writeln('Read Done.' + IntToStr(rt) + ' ms');
702+ Writeln('Read Done.' + Board.Title + ':' + IntToStr(rt) + ' ms');
703703 {$ENDIF}
704704 end;
705705 {!
@@ -943,7 +943,7 @@ begin
943943 Result.FLastModified := IntToDateTime(StrToIntDef('$' + MojuUtils.RemoveToken(Line, #1), ZERO_DATE));
944944 Result.FKokomade := StrToIntDef('$' + MojuUtils.RemoveToken(Line, #1), -1);
945945 Result.FNewReceive := StrToIntDef('$' + MojuUtils.RemoveToken(Line, #1), 0);
946- RemoveToken(Line, #1);//9: ; //–¢Žg—p
946+ MojuUtils.RemoveToken(Line, #1);//9: ; //–¢Žg—p
947947 Result.FUnRead := IntToBool(StrToIntDef('$' + MojuUtils.RemoveToken(Line, #1), 0));
948948 Result.FScrollTop := StrToIntDef('$' + MojuUtils.RemoveToken(Line, #1), 0);
949949 Result.FAllResCount := StrToIntDef('$' + MojuUtils.RemoveToken(Line, #1), 0);
@@ -1098,8 +1098,8 @@ begin
10981098 Delim := ','
10991099 else
11001100 Delim := '<>';
1101- Result.FFileName := RemoveToken(Line, Delim);
1102- Result.FTitle := Trim(RemoveToken(Line, Delim));
1101+ Result.FFileName := MojuUtils.RemoveToken(Line, Delim);
1102+ Result.FTitle := Trim(MojuUtils.RemoveToken(Line, Delim));
11031103
11041104 ws := Result.FTitle;
11051105 if Copy(ws, Length(ws), 1) = ')' then begin
@@ -1363,7 +1363,7 @@ end;
13631363
13641364 ‚Ç‚±‚©‚̃TƒCƒg‚©‚ç‚̃pƒNƒŠ
13651365 }
1366-function TGikoSys.RemoveToken(var s: string;const delimiter: string): string;
1366+{function TGikoSys.RemoveToken(var s: string;const delimiter: string): string;
13671367 var
13681368 p: Integer;
13691369 begin
@@ -1374,7 +1374,7 @@ begin
13741374 Result := Copy(s, 1, p - 1);
13751375 Delete(s, 1, Length(Result) + Length(delimiter));
13761376 end;
1377-
1377+}
13781378
13791379 {!
13801380 \brief n ŒÂ–ڂ̃g[ƒNƒ“‚ðØ‚èo‚µ
@@ -1390,7 +1390,7 @@ var
13901390 begin
13911391 Result := '';
13921392 for i := 0 to index do
1393- Result := RemoveToken(s, delimiter);
1393+ Result := MojuUtils.RemoveToken(s, delimiter);
13941394 end;
13951395
13961396
@@ -1632,7 +1632,7 @@ begin
16321632 SI.cbReserved2 := 0;
16331633 SI.lpReserved2 := nil;
16341634 SI.dwysize := 0;
1635- Windows.CreateProcess(nil,
1635+ if Windows.CreateProcess(nil,
16361636 PChar(Path),
16371637 nil,
16381638 nil,
@@ -1641,7 +1641,11 @@ begin
16411641 nil,
16421642 nil,
16431643 SI,
1644- PI);
1644+ PI) then
1645+ begin
1646+ CloseHandle(PI.hProcess);
1647+ end;
1648+
16451649 end;
16461650
16471651 {!
@@ -1650,14 +1654,45 @@ end;
16501654 \param BrowserType ƒuƒ‰ƒEƒU‚̃^ƒCƒv(IE ‚©‚Ç‚¤‚©)
16511655 }
16521656 procedure TGikoSys.OpenBrowser(URL: string; BrowserType: TGikoBrowserType);
1657+var
1658+ i, j : Integer;
1659+ path, arg : String;
1660+ params : TStringList;
16531661 begin
16541662 case BrowserType of
16551663 gbtIE:
16561664 HlinkNavigateString(nil, PWideChar(WideString(URL)));
16571665 gbtUserApp, gbtAuto:
1658- if (Setting.URLApp) and (FileExists(Setting.URLAppFile)) then
1659- GikoSys.CreateProcess(Setting.URLAppFile, URL)
1660- else
1666+ if (Setting.URLApp) then begin
1667+ if (FileExists(Setting.URLAppFile)) then begin
1668+ GikoSys.CreateProcess(Setting.URLAppFile, URL)
1669+ end else begin
1670+ // ‹N“®ƒpƒ‰ƒ[ƒ^•t‚«‘΍ô
1671+ path := '';
1672+ params := TStringList.Create;
1673+ try
1674+ params.Delimiter := ' ';
1675+ params.DelimitedText := Setting.URLAppFile;
1676+ for i := 0 to params.Count - 1 do begin
1677+ path := TrimLeft(path + ' ' + params[i]);
1678+ if (FileExists(path)) then begin
1679+ arg := '';
1680+ for j := i + 1 to params.Count - 1 do begin
1681+ arg := arg + ' ' + params[j];
1682+ end;
1683+ break;
1684+ end;
1685+ end;
1686+ if i < params.Count then begin
1687+ GikoSys.CreateProcess(path, arg + ' ' + URL);
1688+ end else begin
1689+ HlinkNavigateString(nil, PWideChar(WideString(URL)));
1690+ end;
1691+ finally
1692+ params.Free;
1693+ end;
1694+ end;
1695+ end else
16611696 HlinkNavigateString(nil, PWideChar(WideString(URL)));
16621697 end;
16631698 end;
--- a/HTMLCreate.pas
+++ b/HTMLCreate.pas
@@ -1459,10 +1459,10 @@ begin
14591459 Line := CustomStringReplace(Line, '—M', ',');
14601460 end;
14611461 //Trim‚µ‚Ä‚Í‚¢‚¯‚È‚¢‹C‚ª‚·‚é@by‚à‚¶‚ã
1462- PRes.FName := RemoveToken(Line, delimiter);
1463- PRes.FMailTo := RemoveToken(Line, delimiter);
1464- PRes.FDateTime := RemoveToken(Line, delimiter);
1465- PRes.FBody := RemoveToken(Line, delimiter);
1462+ PRes.FName := MojuUtils.RemoveToken(Line, delimiter);
1463+ PRes.FMailTo := MojuUtils.RemoveToken(Line, delimiter);
1464+ PRes.FDateTime := MojuUtils.RemoveToken(Line, delimiter);
1465+ PRes.FBody := MojuUtils.RemoveToken(Line, delimiter);
14661466 //‚Q‚¿‚á‚ñ‚Ë‚é‚Æ‚©‚¾‚ƁA–{•¶‚̐擪‚É‚P‚”¼Šp‹ó”’‚ª“ü‚Á‚Ä‚¢‚é‚̂ō폜‚·‚é
14671467 //‘¼‚ÌŒfŽ¦”‚ŁAƒŒƒXŽ©‘Ì‚Ì‹ó”’‚©‚à‚µ‚ê‚È‚¢‚¯‚Ç‚»‚ê‚Í’ú‚ß‚é
14681468 PRes.FBody := TrimLeft(PRes.FBody);
@@ -1470,7 +1470,7 @@ begin
14701470 if PRes.FBody = '' then
14711471 PRes.FBody := '&nbsp;';
14721472
1473- PRes.FTitle := RemoveToken(Line, delimiter);
1473+ PRes.FTitle := MojuUtils.RemoveToken(Line, delimiter);
14741474 end;
14751475
14761476 {!
--- a/KuroutSetting.dfm
+++ b/KuroutSetting.dfm
@@ -475,6 +475,34 @@ object KuroutOption: TKuroutOption
475475 TabOrder = 1
476476 Wrap = False
477477 end
478+ object ResRangeLabeledEdit: TLabeledEdit
479+ Left = 317
480+ Top = 18
481+ Width = 121
482+ Height = 20
483+ EditLabel.Width = 113
484+ EditLabel.Height = 12
485+ EditLabel.Caption = #34920#31034#12524#12473#25968'(100-9999)'
486+ ImeMode = imDisable
487+ LabelPosition = lpLeft
488+ LabelSpacing = 3
489+ TabOrder = 2
490+ Text = '100'
491+ OnExit = ResRangeLabeledEditExit
492+ end
493+ object ResRangeCountUpDown: TUpDown
494+ Left = 438
495+ Top = 18
496+ Width = 17
497+ Height = 20
498+ Associate = ResRangeLabeledEdit
499+ Min = 100
500+ Max = 9999
501+ Position = 100
502+ TabOrder = 3
503+ Thousands = False
504+ Wrap = False
505+ end
478506 end
479507 object ThreadGroupBox: TGroupBox
480508 Left = 16
--- a/KuroutSetting.pas
+++ b/KuroutSetting.pas
@@ -94,6 +94,8 @@ type
9494 RespopupWaitUpDown: TUpDown;
9595 Label19: TLabel;
9696 RespopupMailToCheckBox: TCheckBox;
97+ ResRangeLabeledEdit: TLabeledEdit;
98+ ResRangeCountUpDown: TUpDown;
9799 procedure OkBottonClick(Sender: TObject);
98100 procedure FormCreate(Sender: TObject);
99101 procedure CDeleteButtonClick(Sender: TObject);
@@ -110,6 +112,7 @@ type
110112 procedure DeltaXLabeledEditExit(Sender: TObject);
111113 procedure DeltaYLabeledEditExit(Sender: TObject);
112114 procedure RespopupWaitLabeledEditExit(Sender: TObject);
115+ procedure ResRangeLabeledEditExit(Sender: TObject);
113116 private
114117 { Private éŒ¾ }
115118 procedure SetValue;
@@ -166,6 +169,8 @@ begin
166169 MoveHistoryMaxEdit.Text := IntToStr( GikoSys.Setting.MoveHistorySize );
167170 //@æ“ª•\Ž¦ƒŒƒX”
168171 AHandredUpDown.Position := GikoSys.Setting.HeadResCount;
172+ // •\Ž¦ƒŒƒX”
173+ ResRangeCountUpDown.Position := GikoSys.Setting.ResRangeExCount;
169174 // ŠÖ˜AƒL[ƒ[ƒh’ljÁƒtƒ‰ƒO
170175 AddKeywordCheckBox.Checked := GikoSys.Setting.AddKeywordLink;
171176 // Œë”½‰ž‘΍ô
@@ -212,7 +217,8 @@ begin
212217 //@æ“ª•\Ž¦ƒŒƒX”
213218 GikoSys.Setting.HeadResCount :=
214219 StrToIntDef( AHandredLabeledEdit.Text , 1);
215-
220+ GikoSys.Setting.ResRangeExCount :=
221+ StrToIntDef( ResRangeLabeledEdit.Text , 100 );
216222 GikoSys.Setting.KuroutSettingTabIndex := PageControl1.ActivePageIndex;
217223 // ŠÖ˜AƒL[ƒ[ƒh’ljÁƒtƒ‰ƒO
218224 GikoSys.Setting.AddKeywordLink := AddKeywordCheckBox.Checked;
@@ -515,4 +521,14 @@ begin
515521 RespopupWaitLabeledEdit.Text := IntToStr(RespopupWaitUpDown.Max);
516522 end;
517523
524+procedure TKuroutOption.ResRangeLabeledEditExit(Sender: TObject);
525+begin
526+ if not GikoSys.IsNumeric(ResRangeLabeledEdit.Text) then
527+ ResRangeLabeledEdit.Text := '100';
528+ if StrToInt(ResRangeLabeledEdit.Text) < 100 then
529+ ResRangeLabeledEdit.Text := '100';
530+ if StrToInt(ResRangeLabeledEdit.Text) > 9999 then
531+ ResRangeLabeledEdit.Text := '9999';
532+end;
533+
518534 end.
--- a/Option.dfm
+++ b/Option.dfm
@@ -253,7 +253,7 @@ object OptionDialog: TOptionDialog
253253 Top = 43
254254 Width = 417
255255 Height = 20
256- ItemHeight = 12
256+ ItemHeight = 0
257257 TabOrder = 0
258258 Text = 'BoardURLComboBox'
259259 end
--- a/Option.pas
+++ b/Option.pas
@@ -723,7 +723,7 @@ begin
723723 Ord( grrAll ): ResRangeHoldComboBox.ItemIndex := 0;
724724 Ord( grrKoko ): ResRangeHoldComboBox.ItemIndex := 2;
725725 Ord( grrNew ): ResRangeHoldComboBox.ItemIndex := 3;
726- 100: ResRangeHoldComboBox.ItemIndex := 1;
726+ 10..65535: ResRangeHoldComboBox.ItemIndex := 1;
727727 end;
728728 ResRangeHoldComboBox.Enabled := GikoSys.Setting.ResRangeHold;
729729 //ƒ^ƒu’ljÁˆÊ’u
@@ -1013,7 +1013,7 @@ begin
10131013 GikoSys.Setting.ResRangeHold := ResRangeHoldCheckBox.Checked;
10141014 case ResRangeHoldComboBox.ItemIndex of
10151015 0: GikoSys.Setting.ResRange := Ord( grrAll );
1016- 1: GikoSys.Setting.ResRange := 100;
1016+ 1: GikoSys.Setting.ResRange := GikoSys.Setting.ResRangeExCount;
10171017 2: GikoSys.Setting.ResRange := Ord( grrKoko );
10181018 3: GikoSys.Setting.ResRange := Ord( grrNew );
10191019 end;
@@ -1321,6 +1321,14 @@ begin
13211321 sndPlaySound(nil, SND_ASYNC);
13221322 if OpenDialog.Execute then begin
13231323 SoundFileEdit.Text := OpenDialog.FileName;
1324+ // ƒAƒvƒŠ”z‰º‚̃tƒ@ƒCƒ‹‚̏ꍇ‘Š‘΃pƒX‚É•ÏŠ·‚·‚éB
1325+ if (AnsiPos(GikoSys.Setting.GetAppDir,SoundFileEdit.Text) = 1) then begin
1326+ // .\ ‚ª‚‚©‚È‚¢‚̂ŁA.\‚ð’ljÁ
1327+ SoundFileEdit.Text := '.\' + ExtractRelativePath(
1328+ GikoSys.Setting.GetAppDir,
1329+ SoundFileEdit.Text);
1330+
1331+ end;
13241332 end;
13251333 end;
13261334
@@ -1328,10 +1336,8 @@ procedure TOptionDialog.SoundPlayButtonClick(Sender: TObject);
13281336 var
13291337 s : String;
13301338 begin
1331- s := SoundFileEdit.Text;
1332- if (AnsiPos('.\', s) = 1) then begin
1333- s := GikoSys.Setting.GetAppDir + Copy(s, 2, Length(s));
1334- end;
1339+ SetCurrentDir(GikoSys.Setting.GetAppDir);
1340+ s := ExpandFileName(SoundFileEdit.Text);
13351341 if not FileExists(s) then begin
13361342 MsgBox(Handle, '‘¶Ý‚µ‚È‚¢ƒtƒ@ƒCƒ‹‚Å‚·', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK);
13371343 SoundFileEdit.Text := '';
@@ -1357,7 +1363,8 @@ begin
13571363 Item := SoundListView.Selected;
13581364 if Item = nil then Exit;
13591365
1360- if FileExists(SoundFileEdit.Text) then
1366+ SetCurrentDir(GikoSys.Setting.GetAppDir);
1367+ if FileExists(ExpandFileName(SoundFileEdit.Text)) then
13611368 Item.SubItems[0] := SoundFileEdit.Text;
13621369 if Trim(SoundFileEdit.Text) = '' then
13631370 Item.SubItems[0] := '';
--- a/Preview.pas
+++ b/Preview.pas
@@ -13,6 +13,7 @@ uses
1313 type
1414 TPreviewBrowser = class(TWebBrowser)
1515 private
16+ function makeHTML(const URL, Host, Document : String): String;
1617 protected
1718 procedure CreateParams(var Params: TCreateParams); override;
1819 public
@@ -31,6 +32,7 @@ const
3132 // ƒ}ƒEƒXƒJ[ƒ\ƒ‹‚©‚ç‚Ì‚¸‚炵ˆÊ’u
3233 DIV_X = 15;
3334 DIV_Y = 15;
35+ NICO = 'www.nicovideo.jp';
3436
3537 constructor TPreviewBrowser.Create(AOwner: TComponent);
3638 begin
@@ -52,7 +54,6 @@ end;
5254 }
5355 procedure TPreviewBrowser.PreviewImage(URL : String);
5456 var
55- html : string;
5657 HtmlFileName : string;
5758 sl : TStringList;
5859 Protocol, Host, Path, Document, Port, Bookmark : string;
@@ -62,41 +63,21 @@ var
6263 PostData: OleVariant;
6364 Headers: OleVariant;
6465 begin
65- html := '<html><head>'#13#10
66- + '<SCRIPT>'#13#10
67- + 'function init() {'#13#10
68- + ' if ((document.body.clientHeight >= Image1.height) && (document.body.clientWidth >= Image1.width)) {'#13#10
69- + ' } else {'#13#10
70- + ' var dh, ih;'#13#10
71- + ' dh = document.body.clientWidth / document.body.clientHeight;'#13#10
72- + ' ih = Image1.width / Image1.height;'#13#10
73- + ' if (document.body.clientWidth < document.body.clientHeight) {'#13#10
74- + ' if (ih > dh)'#13#10
75- + ' Image1.width = document.body.clientWidth;'#13#10
76- + ' else'#13#10
77- + ' Image1.height = document.body.clientHeight;'#13#10
78- + ' } else {'#13#10
79- + ' if (ih < dh)'#13#10
80- + ' Image1.height = document.body.clientHeight;'#13#10
81- + ' else'#13#10
82- + ' Image1.width = document.body.clientWidth;'#13#10
83- + ' }'#13#10
84- + ' }'#13#10
85- + ' Message.style.display = "none";'#13#10
86- + '}'#13#10
87- + '</SCRIPT>'#13#10
88- + '</head>'#13#10
89- + '<body topmargin="0" leftmargin="0" style="border-width: 1px; overflow:hidden; border-style: solid;" onLoad="init()">'#13#10
90- + '<div align="center" id="Message">ƒvƒŒƒrƒ…[ì¬’†</div>'#13#10
91- + '<div align="center"><img name="Image1" border="0" src="%ImageURL%"></div>'#13#10
92- + '</body></html>';
93-
66+ GikoSys.ParseURI(URL, Protocol, Host, Path, Document, Port, Bookmark);
67+ Referer := Protocol + '://' + Host;
68+ if Port <> '' then
69+ Referer := Referer + ':' + Port;
70+ Referer := Referer + Path;
71+ Headers := 'Referer: ' + Referer;
72+ Flags := 0;
73+ TargetFrameName := '';
74+ PostData := '';
75+
9476 HtmlFileName := GikoSys.GetAppDir + HTML_FILE_NAME;
9577 sl := TStringList.Create;
9678 try
9779 try
98- sl.Text := MojuUtils.
99- CustomStringReplace(html, '%ImageURL%', URL, False);
80+ sl.Text := makeHTML(URL, Host, Document);
10081 sl.SaveToFile(HtmlFileName);
10182 finally
10283 sl.Free;
@@ -104,15 +85,6 @@ begin
10485 except
10586 end;
10687
107- GikoSys.ParseURI(URL, Protocol, Host, Path, Document, Port, Bookmark);
108- Referer := Protocol + '://' + Host;
109- if Port <> '' then
110- Referer := Referer + ':' + Port;
111- Referer := Referer + Path;
112- Headers := 'Referer: ' + Referer;
113- Flags := 0;
114- TargetFrameName := '';
115- PostData := '';
11688
11789 Navigate(HtmlFileName,Flags, TargetFrameName, PostData, Headers);
11890
@@ -173,4 +145,60 @@ begin
173145 end;
174146
175147 end;
148+
149+{
150+\breif ƒvƒŒƒrƒ…[—p‚ÌHTML‚ðì¬‚·‚é
151+\param URL ƒvƒŒƒrƒ…[‚·‚éƒCƒ[ƒWƒtƒ@ƒCƒ‹
152+}
153+function TPreviewBrowser.makeHTML(const URL, Host, Document : String): String;
154+var
155+ point :TPoint;
156+ rect :TRect;
157+begin
158+ if (Pos('http://www.nicovideo.jp/watch/', URL) <> 1) then begin
159+ Result := '<html><head>'#13#10
160+ + '<SCRIPT>'#13#10
161+ + 'function init() {'#13#10
162+ + ' if ((document.body.clientHeight >= Image1.height) && (document.body.clientWidth >= Image1.width)) {'#13#10
163+ + ' } else {'#13#10
164+ + ' var dh, ih;'#13#10
165+ + ' dh = document.body.clientWidth / document.body.clientHeight;'#13#10
166+ + ' ih = Image1.width / Image1.height;'#13#10
167+ + ' if (document.body.clientWidth < document.body.clientHeight) {'#13#10
168+ + ' if (ih > dh)'#13#10
169+ + ' Image1.width = document.body.clientWidth;'#13#10
170+ + ' else'#13#10
171+ + ' Image1.height = document.body.clientHeight;'#13#10
172+ + ' } else {'#13#10
173+ + ' if (ih < dh)'#13#10
174+ + ' Image1.height = document.body.clientHeight;'#13#10
175+ + ' else'#13#10
176+ + ' Image1.width = document.body.clientWidth;'#13#10
177+ + ' }'#13#10
178+ + ' }'#13#10
179+ + ' Message.style.display = "none";'#13#10
180+ + '}'#13#10
181+ + '</SCRIPT>'#13#10
182+ + '</head>'#13#10
183+ + '<body topmargin="0" leftmargin="0" style="border-width: 1px; overflow:hidden; border-style: solid;" onLoad="init()">'#13#10
184+ + '<div align="center" id="Message">ƒvƒŒƒrƒ…[ì¬’†</div>'#13#10
185+ + '<div align="center"><img name="Image1" border="0" src="' + URL + '"></div>'#13#10
186+ + '</body></html>';
187+ end else begin
188+ // <div><iframe width="340" height="185" src="http://www.nicovideo.jp/thumb/sm2494604" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"></iframe></div><div class=link_nicovideo_title><a href="" title="" target="_blank"></a></div>
189+ rect := GetWindowRect(point);
190+
191+ Result := '<html><head>'#13#10
192+ + '<SCRIPT>'#13#10
193+ + 'function init() {'#13#10
194+ + ' Message.style.display = "none";'#13#10
195+ + '}'#13#10
196+ + '</SCRIPT>'#13#10
197+ + '</head>'#13#10
198+ + '<body topmargin="0" leftmargin="0" style="border-width: 1px; overflow:hidden; border-style: solid;" onLoad="init()">'#13#10
199+ + '<div align="center" id="Message">ƒvƒŒƒrƒ…[ì¬’†</div>'#13#10
200+ + '<div><iframe width="' + IntToStr(rect.Right - rect.Left) +'" height="' + IntToStr(rect.Bottom - rect.Top) + '" src="http://' + Host + '/thumb/' + Document + '" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"></iframe></div>'
201+ + '</body></html>';
202+ end;
203+end;
176204 end.
--- a/Setting.pas
+++ b/Setting.pas
@@ -440,6 +440,8 @@ type
440440 FLoopBrowserTabs : Boolean;
441441 //! 100ƒŒƒX•\Ž¦‚̐擪•\Ž¦ƒŒƒX”
442442 FHeadResCount : Integer;
443+ //! 100ƒŒƒX•\Ž¦”iŠg’£—pj
444+ FResRangeExCount: Integer;
443445 //! ŠÖ˜AƒL[ƒ[ƒh’ljÁƒtƒ‰ƒO
444446 FAddKeywordLink: Boolean;
445447 //! dat’uŠ·‚ð—LŒø‚É‚·‚é
@@ -810,6 +812,8 @@ type
810812 property LoopBrowserTabs : Boolean read FLoopBrowserTabs write FLoopBrowserTabs;
811813 //! 100ƒŒƒX•\Ž¦‚̐擪•\Ž¦ƒŒƒX”
812814 property HeadResCount : Integer read FHeadResCount write FHeadResCount;
815+ //! 100ƒŒƒX•\Ž¦”iŠg’£—pj
816+ property ResRangeExCount: Integer read FResRangeExCount write FResRangeExCount;
813817 //! ŠÖ˜AƒL[ƒ[ƒh’ljÁƒtƒ‰ƒO
814818 property AddKeywordLink: Boolean read FAddKeywordLink write FAddKeywordLink;
815819 //! dat‚Ì’uŠ·‚ð—LŒø‚É‚·‚é‚©
@@ -1127,6 +1131,7 @@ begin
11271131 FResRange := ini.ReadInteger( 'Thread', 'ResRange', Ord( grrAll ) );
11281132 FResRangeHold := ini.ReadBool( 'Thread', 'ResRangeHold', False );
11291133 FHeadResCount := ini.ReadInteger('Thread', 'HeadResCount', 1);
1134+ FResRangeExCount:= ini.ReadInteger('Thread','ResRangeExCount', 100);
11301135 // ƒXƒŒƒbƒhˆê——•\Ž¦”͈Í
11311136 FThreadRange := TGikoThreadRange( ini.ReadInteger('ThreadList', 'ThreadRange', Ord( gtrAll )) );
11321137 //”ñƒAƒNƒeƒBƒuŽžƒŒƒXƒ|ƒbƒvƒAƒbƒv•\Ž¦
@@ -1219,18 +1224,13 @@ begin
12191224 for i := 0 to GetSoundCount - 1 do begin
12201225 SoundFileName[i] := ini.ReadString('Sound', SoundName[i], '');
12211226 // ‘Š‘ÎŽ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;
12271227 // ƒtƒ@ƒCƒ‹‚Ì‘¶Ýƒ`ƒFƒbƒN
1228- if not FileExists(SoundFileName[i]) then begin
1228+ if not FileExists(ExpandFileName(SoundFileName[i])) then begin
12291229 SoundFileName[i] := '';
12301230 end;
12311231 end;
12321232 end else begin
1233- s := GetAppDir + '\sound\';
1233+ s := 'Sound\';
12341234 SoundFileName[0] := s + 'Žæ“¾¬Œ÷.wav';
12351235 SoundFileName[1] := s + 'Žæ“¾¬Œ÷(·•ª).wav';
12361236 SoundFileName[2] := s + '–¢XV.wav';
@@ -1531,6 +1531,7 @@ begin
15311531 ini.WriteInteger('Thread', 'ResRange', FResRange);
15321532 ini.WriteBool('Thread', 'ResRangeHold', FResRangeHold);
15331533 ini.WriteInteger('Thread', 'HeadResCount', FHeadResCount);
1534+ ini.WriteInteger('Thread','ResRangeExCount', FResRangeExCount);
15341535 // ƒXƒŒƒbƒhˆê——•\Ž¦”͈Í
15351536 ini.WriteInteger('ThreadList', 'ThreadRange', Ord( FThreadRange ));
15361537 //ƒƒOíœŠm”F
@@ -1888,12 +1889,8 @@ var
18881889 begin
18891890 for i := 0 to GetSoundCount - 1 do begin
18901891 if SoundName[i] = Name then begin
1891- Result := SoundFileName[i];
1892- // ‘Š‘΃pƒX‘΍ô
1893- if (AnsiPos('.\', Result) = 1) then begin
1894- Result := GetAppDir
1895- + Copy(Result, 2, Length(Result));
1896- end;
1892+ SysUtils.SetCurrentDir(GetAppDir);
1893+ Result := ExpandFileName(SoundFileName[i]);
18971894 Exit;
18981895 end;
18991896 end;
--- a/UpdateCheck.pas
+++ b/UpdateCheck.pas
@@ -80,7 +80,7 @@ const
8080 CHECK_URL = 'http://gikonavi.sourceforge.jp/updater/latest.txt';
8181 {$ENDIF}
8282 var
83- value : string;
83+ value, url : string;
8484 ResStream: TMemoryStream;
8585 downResult, current, newest: TStringList;
8686 newgiko: Boolean;
@@ -129,8 +129,10 @@ begin
129129 newgiko := false;
130130 // night build‚́Aƒrƒ‹ƒh”ԍ†‚¾‚¯‚Å”»’è‚·‚é
131131 if (nightbuild) then begin
132+ url := downResult.Values[ 'n_url' ];
132133 newgiko := StrToInt(current[3]) < StrToInt(newest[3]);
133134 end else begin
135+ url := downResult.Values[ 'url' ];
134136 newgiko := ( StrToInt(current[1]) < StrToInt(newest[1]) ) or
135137 ( (StrToInt(current[1]) = StrToInt(newest[1]))) and
136138 ((StrToInt(current[2]) < StrToInt(newest[2])) );
@@ -138,9 +140,8 @@ begin
138140 if (newgiko) then begin
139141 if GikoUtil.MsgBox(Handle, 'V‚µ‚¢ƒMƒRƒiƒr‚ª‚ ‚è‚Ü‚·Bƒ_ƒEƒ“ƒ[ƒh‚µ‚Ü‚·‚©H', 'XVŠm”F',
140142 MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = ID_YES then begin
141-
142- ResultMemo.Lines.Add('V‚µ‚¢ƒMƒRƒiƒr‚ª‚ ‚è‚Ü‚·Bƒ_ƒEƒ“ƒ[ƒh‚ðŠJŽn‚µ‚Ü‚·B' + downResult.Values[ 'url' ]);
143- DonwloadUpdate(Trim(downResult.Values[ 'url' ]));
143+ ResultMemo.Lines.Add('V‚µ‚¢ƒMƒRƒiƒr‚ª‚ ‚è‚Ü‚·Bƒ_ƒEƒ“ƒ[ƒh‚ðŠJŽn‚µ‚Ü‚·B' + url);
144+ DonwloadUpdate(Trim(url));
144145 Result := True;
145146 end;
146147 end else begin
--- a/gikoNavi.dpr
+++ b/gikoNavi.dpr
@@ -52,7 +52,7 @@ uses
5252 ExternalBoardPlugInMain in 'ExternalBoardPlugInMain.pas',
5353 ExternalFilePath in 'ExternalFilePath.pas',
5454 MojuUtils in 'MojuUtils.pas',
55- crc in 'gzip_delphi2\crc.pas',
55+ {crc in 'gzip_delphi2\crc.pas', //zlibXV‚É”º‚¢íœ}
5656 gzip in 'gzip_delphi2\gzip.pas',
5757 zlib in 'gzip_delphi2\zlib.pas',
5858 bmRegExp in 'bmRegExp\bmregexp.pas',
Binary files a/gikoNavi.res and b/gikoNavi.res differ
--- a/readme/gikoSetup.iss
+++ b/readme/gikoSetup.iss
@@ -13,8 +13,8 @@ SourceDir=G:\Release
1313 OutputDir=G:\InnoSetup\Output
1414 SetupIconFile="G:\gikoNaviSFX_102\MainIcon.ico"
1515 ; ƒMƒRƒiƒr‚̃o[ƒWƒ‡ƒ“‚É‚ ‚킹‚Ä‚­‚¾‚³‚¢
16-VersionInfoVersion=1.58.1.764
17-OutputBaseFilename=gikoNavi_b58_setup
16+VersionInfoVersion=1.59.1.778
17+OutputBaseFilename=gikoNavi_b59_setup
1818
1919
2020 [Tasks]
--- a/readme/gikoUSetup.iss
+++ b/readme/gikoUSetup.iss
@@ -18,8 +18,8 @@ SourceDir=G:\Release
1818 OutputDir=G:\InnoSetup\Output
1919 SetupIconFile="G:\gikoNaviSFX_102\MainIcon.ico"
2020 ; ƒMƒRƒiƒr‚̃o[ƒWƒ‡ƒ“‚É‚ ‚킹‚Ä‚­‚¾‚³‚¢
21-VersionInfoVersion=1.59.0.778
22-OutputBaseFilename=gikoNavi_b59_778_usetup
21+VersionInfoVersion=1.60.0.779
22+OutputBaseFilename=gikoNavi_b60_779_usetup
2323 CreateUninstallRegKey=no
2424
2525 [Tasks]
--- a/readme/readme.txt
+++ b/readme/readme.txt
@@ -1,4 +1,4 @@
1-¡ƒMƒRƒiƒr Version1.00 ÊÞÀ59 Readme.txt
1+¡ƒMƒRƒiƒr Version1.00 ÊÞÀ60 Readme.txt
22
33
44 ------------------------------
@@ -19,6 +19,14 @@
1919 ------------------------------
2020 ‘Oƒo[ƒWƒ‡ƒ“‚©‚çƒAƒbƒvƒOƒŒ[ƒh‚·‚é•û–@
2121 ------------------------------
22+¡ÊÞÀ59ˆÈ~¡
23+ƒMƒRƒiƒrXV‹@”\‚ð—˜—p‚µ‚Ä‚­‚¾‚³‚¢B
24+uƒwƒ‹ƒv¨ƒMƒRƒiƒrXVv‚ŁAŽÀsƒ{ƒ^ƒ“‚ð‰Ÿ‰º‚µ‚Ä‚­‚¾‚³‚¢B
25+ƒAƒbƒvƒOƒŒ[ƒh—p‚̃Cƒ“ƒXƒg[ƒ‰‚ðƒ_ƒEƒ“ƒ[ƒhŒãAÄ‹N“®‚ð‹‚ß‚ç‚ê‚é‚̂ōċN“®‚·‚é‚©A
26+ƒfƒXƒNƒgƒbƒv‚ɍ쐬‚³‚ê‚é"ƒMƒRƒiƒrXV"ƒVƒ‡[ƒgƒJƒbƒg‚ðŽÀs‚·‚é‚ƃAƒbƒvƒOƒŒ[ƒh‚³‚ê‚Ü‚·B
27+Ú‚µ‚­‚́Ahttp://gikonavi.sourceforge.jp/tips/tips001007.html ‚ðŒ©‚Ä‚­‚¾‚³‚¢B
28+
29+¡ÊÞÀ58ˆÈ‘O¡
2230 ƒCƒ“ƒXƒg[ƒ‹‚Æ“¯‚¶‚Å‚·BƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚µ‚È‚¢‚Å‚­‚¾‚³‚¢B
2331 ‚»‚̂܂܏㏑‚«ƒCƒ“ƒXƒg[ƒ‹‚·‚ê‚΁AˆÈ‘O‚̐ݒè‚⃍ƒO‚͈ø‚«‘±‚«Žg—p‚Å‚«‚Ü‚·B
2432 Ú‚µ‚­‚́A http://gikonavi.sourceforge.jp/tips/tips001002.html ‚ðŒ©‚Ä‚­‚¾‚³‚¢B
@@ -50,7 +58,9 @@
5058 ------------------------------
5159 ƒoƒO‚â—v–]‚́AƒMƒRƒiƒrƒXƒŒƒbƒh‚Ŏ󂯕t‚¯‚Ä‚¨‚è‚Ü‚·B
5260 ƒMƒRƒiƒrƒTƒCƒgFhttp://gikonavi.sourceforge.jp/
53-ƒMƒRƒiƒrƒXƒŒFhttp://pc7.2ch.net/test/read.cgi/software/1151728347/l50
61+ƒMƒRƒiƒrƒXƒŒFhttp://find.2ch.net/?BBS=2ch&TYPE=TITLE&STR=%A5%AE%A5%B3%A5%CA%A5%D3&COUNT=10
62+ƒMƒRƒiƒrŠJ”­ƒXƒŒFhttp://flounder.s27.xrea.com/bbs/test/read.cgi?bbs=giko&key=213536508&ls=50
63+
5464
5565 ------------------------------
5666 “]Ú‚ɂ‚¢‚Ä
@@ -62,12 +72,14 @@ Web
6272 ------------------------------
6373 “®ìŠÂ‹«
6474 ------------------------------
65-OS: Windows98ˆÈã (98, 98SE, ME, 2000, XP, 2003j
75+OS: Windows98ˆÈã (98, 98SE, ME, 2000, XP, 2003, Vista(*1)j
76+*1 "Program Files"ƒtƒHƒ‹ƒ_ˆÈŠO‚ɃCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚­‚¾‚³‚¢B
6677 CPU: ‘¬‚¯‚ê‚Α¬‚¢‚Ù‚Ç‘¬‚­“®‚­‚悤‚È‹C‚ª‚·‚é
6778 ÒÓØ: 64MBˆÈãi‘½‚¯‚ê‚Α½‚¢‚Ù‚Ç‚¢‚¢‚悤‚È‹C‚ª‚·‚éj
6879 ¿ÉÀ: 800x600ˆÈã‚̉𑜓xAʲ¶×°ˆÈãAƒ|ƒCƒ“ƒeƒBƒ“ƒOƒfƒoƒCƒX•K{
6980 InternetExplorer5.01ˆÈã•K{
7081
82+
7183 Windows95‚̓Tƒ|[ƒgŠO‚Å‚·‚ªAIE5ˆÈã‚ÆWinSock2ƒAƒbƒvƒf[ƒg‚ðs‚¦‚Γ®ì‚µ‚Ü‚·B
7284 WinSock2ƒAƒbƒvƒf[ƒg‚͈ȉº‚̏ꏊ‚©‚çƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚·B
7385 ƒCƒ“ƒXƒg[ƒ‹‚ÍŽ©ŒÈÓ”C‚Å‚¨Šè‚¢‚µ‚Ü‚·B
@@ -94,6 +106,7 @@ Windows Me IE6
94106 Windows 2000 Professional Edition(SP3) IE5
95107 Windows 2000 Professional Edition(SP3) IE6
96108 Windows Server 2003 Enterprise Edition IE6
109+Windows Vista IE7
97110
98111 ------------------------------
99112 ’˜ìŒ A‰ü•Ï&Ä”z•z(ˆÈ‰ºu“ñŽŸ”z•zv)‚ɂ‚¢‚Ä
@@ -108,8 +121,19 @@ LICENSE
108121 ------------------------------
109122 —š—ð
110123 ------------------------------
111-2008/XX/XX
124+2009/XX/YY
125+ Version ÊÞÀ60
126+
127+
128+2009/02/01
112129 Version ÊÞÀ59
130+ ƒŒƒX–{•¶’†‚ÉAƒ^ƒOˆÈŠO‚̃^ƒO‚ªŠÜ‚Ü‚ê‚é‚ƁAƒŒƒXƒ|ƒbƒvƒAƒbƒv‚ŁA–{•¶‚ªŒ‡‚¯‚é•s‹ï‡‚̏C³
131+ ƒMƒRƒiƒrXV‹@”\’ljÁ
132+ ƒƒCƒ“ƒtƒH[ƒ€‚Å—˜—p‚µ‚Ä‚¢‚éƒAƒCƒRƒ“‚̉摜‚ð·‚µ‘Ö‚¦‚ê‚é‚悤‚ɏC³
133+ •Û‘¶‚µ‚½ƒ^ƒu‚̃ƒO‚ª‘¶Ý‚µ‚È‚¢ê‡‚É‚±‚¯‚é–â‘è‚̏C³
134+ RoundBoard.2chARoundItem.2ch‚Ì“à—e‚ª‚Ps‚à‚È‚¢ê‡ƒNƒ‰ƒbƒVƒ…‚·‚éƒoƒO‚̏C³
135+ ‘O‰ñ“ŠeŽž‚ÆIPƒAƒhƒŒƒXiƒzƒXƒg–¼j‚ª•Ï‚í‚Á‚Ä‚¢‚é‚Æ‚«‚ɁACookieî•ñ‚ª‹ó‚É‚È‚é•s‹ï‡‚̏C³
136+ ‚µ‚½‚ç‚ÎJBBS‚̉ߋŽƒƒO‚ŁA“Še“ú+ID‚Ì‘O‚É"“Še“úF"‚Ì•¶Žš—ñ‚ª‚È‚¢ê‡‚ɑΉž
113137
114138 2008/09/16
115139 Version ÊÞÀ58
--- a/res/ExternalBoardPlugIn/MachiBBSPlugIn.dpr
+++ b/res/ExternalBoardPlugIn/MachiBBSPlugIn.dpr
@@ -83,7 +83,7 @@ const
8383 MAJOR_VERSION = 1;
8484 MINOR_VERSION = 0;
8585 RELEASE_VERSION = 'beta';
86- REVISION_VERSION = 19;
86+ REVISION_VERSION = 20;
8787
8888 // =========================================================================
8989 // ŽG—pŠÖ”
@@ -472,7 +472,6 @@ var
472472 foundPos := AnsiPos( '<table', downResult.Text ) - 1;
473473 if foundPos > 0 then
474474 downResult.Text := Copy( downResult.Text, 1, foundPos );
475-
476475 // ‚Ü‚¿BBS‚Í dat ’¼“Ç‚Ý‚ªo—ˆ‚È‚¢‚µAcgi ˆÈŠO‚ɍ·•ª“ǂݍž‚Ý‚Ì•û–@‚ª‚ ‚é‚킯‚Å‚à–³‚¢‚Ì‚Å
477476 // ‘f‚Ì‚Ü‚Ü‚ð–³—‚É•Û‚Æ‚¤‚Æ‚Í‚¹‚¸‚É 2ch ‚Ì dat Œ`Ž®‚É•ÏŠ·‚µ‚½‚à‚Ì‚ð•Û‘¶‚µ‚Ä‚µ‚Ü‚¤
478477 To2chDat( downResult, Count + 1 );
@@ -519,13 +518,13 @@ begin
519518 if Count = 0 then
520519 // 1`
521520 datURL :=
522- uri.Protocol + '://' + uri.Host + '/bbs/read.pl?' +
521+ uri.Protocol + '://' + uri.Host + '/bbs/read.cgi?' +
523522 'BBS=' + uriList.Values[ 'BBS' ] + '&KEY=' + uriList.Values[ 'KEY' ] +
524523 '&START=' + IntToStr( 1 )
525524 else
526525 // V’…‚Ì‚Ý
527526 datURL :=
528- uri.Protocol + '://' + uri.Host + '/bbs/read.pl?' +
527+ uri.Protocol + '://' + uri.Host + '/bbs/read.cgi?' +
529528 'BBS=' + uriList.Values[ 'BBS' ] + '&KEY=' + uriList.Values[ 'KEY' ] +
530529 '&START=' + IntToStr( Count + 1 ) + '&NOFIRST=TRUE';
531530 // ƒ_ƒEƒ“ƒ[ƒh
@@ -767,7 +766,7 @@ procedure TMachiBBSThreadItem.To2chDat(
767766 );
768767 var
769768 i, bound : Integer;
770- foundPos : Integer;
769+ foundPos,foundPos2 : Integer;
771770 strTmp : string;
772771 res : TStringList;
773772 no : Integer;
@@ -804,6 +803,7 @@ begin
804803 // ‚ ‚ځ[‚ñƒ`ƒFƒbƒN‚Å–â‘肪”­¶‚µ‚Ä‚àæ‚֐i‚ß‚½‚¢‚Ì‚Å
805804 end;
806805
806+
807807 // ƒgƒŠƒbƒv‚ÌŒã‚Ì '<b> </b>' ‚ð‹ó‚É
808808 if AnsiPos('Ÿ</b>', ioHTML.Text) <> 0 then begin
809809 ioHTML.Text := CustomStringReplace( ioHTML.Text, '<b> </b></font>', '</b></font>', true );
@@ -828,6 +828,7 @@ begin
828828 try
829829 bound := ioHTML.Count - 1;
830830 for i := 0 to bound do begin
831+ // ƒXƒNƒŠƒvƒg‚ªŠÜ‚Ü‚ê‚Ä‚¢‚½‚çíœ‚·‚éiL‘΍ôj
831832 res.Text := CustomStringReplace( ioHTML[ i ], '<>', #10 );
832833 //StringReplace( ioHTML[ i ], '<>', #10, [rfReplaceAll] );
833834 if res.Count >= 3 then begin // 3 –¢–ž‚Í‚ ‚肦‚È‚¢‚ÆŽv‚¤‚¯‚LjÀ‘S‚Ì‚½‚ß
@@ -855,7 +856,15 @@ begin
855856 end;
856857 end;
857858 ioHTML[ i ] := CustomStringReplace( res.Text, #13#10, '<>');
858- //StringReplace( res.Text, #13#10, '<>', [rfReplaceAll] );
859+ // LƒXƒNƒŠƒvƒg‘΍ô
860+ foundPos := Pos( '<script', ioHTML[ i ] );
861+ if foundPos > 0 then begin
862+ foundPos2 := Pos( '</script>', ioHTML[ i ] );
863+ if (foundPos2 > foundPos) then begin
864+ ioHTML[ i ] := Copy(ioHTML[ i ], 1, foundPos-1) +
865+ Copy(ioHTML[ i ], foundPos2 + 9, Length(ioHTML[ i ]));
866+ end;
867+ end;
859868 end;
860869 finally
861870 res.Free;
Binary files a/res/ExternalBoardPlugIn/MachiBBSPlugIn.res and b/res/ExternalBoardPlugIn/MachiBBSPlugIn.res differ