object GikoForm: TGikoForm
- Left = 261
- Top = 105
+ Left = 101
+ Top = 248
HorzScrollBar.Visible = False
VertScrollBar.Visible = False
AutoScroll = False
Caption = '-'
- ClientHeight = 563
+ ClientHeight = 562
ClientWidth = 854
Color = clBtnFace
Font.Charset = SHIFTJIS_CHARSET
TextHeight = 12
object StatusBar: TStatusBar
Left = 0
- Top = 543
+ Top = 542
Width = 854
Height = 20
Panels = <
Left = 0
Top = 77
Width = 854
- Height = 466
+ Height = 465
Align = alClient
BevelOuter = bvNone
TabOrder = 1
object MessageSplitter: TSplitter
Left = 0
- Top = 427
+ Top = 426
Width = 854
Height = 5
Cursor = crVSplit
Left = 0
Top = 0
Width = 854
- Height = 427
+ Height = 426
Align = alClient
BevelOuter = bvNone
TabOrder = 0
Left = 145
Top = 0
Width = 5
- Height = 427
+ Height = 426
Cursor = crHSplit
AutoSnap = False
ResizeStyle = rsUpdate
Left = 0
Top = 0
Width = 145
- Height = 427
+ Height = 426
Align = alLeft
BevelOuter = bvNone
TabOrder = 0
Left = 150
Top = 0
Width = 704
- Height = 427
+ Height = 426
Align = alClient
BevelOuter = bvNone
TabOrder = 1
Left = 0
Top = 194
Width = 704
- Height = 233
+ Height = 232
Align = alClient
BevelOuter = bvNone
TabOrder = 1
Left = 0
Top = 46
Width = 704
- Height = 167
+ Height = 166
Align = alClient
BevelOuter = bvNone
UseDockManager = False
Left = 0
Top = 0
Width = 704
- Height = 167
+ Height = 166
Align = alClient
TabOrder = 0
OnEnter = BrowserEnter
OnNewWindow2 = BrowserNewWindow2
OnDocumentComplete = BrowserDocumentComplete
ControlData = {
- 4C000000C3480000431100000000000000000000000000000000000000000000
+ 4C000000C3480000281100000000000000000000000000000000000000000000
000000004C000000000000000000000001000000E0D057007335CF11AE690800
2B2E12620A000000000000004C0000000114020000000000C000000000000046
8000000000000000000000000000000000000000000000000000000000000000
end
object BrowserBottomPanel: TGikoPanel
Left = 0
- Top = 213
+ Top = 212
Width = 704
Height = 20
Align = alBottom
end
object MessagePanel: TPanel
Left = 0
- Top = 432
+ Top = 431
Width = 854
Height = 34
Align = alBottom
e: IHTMLElement;
AID: string;
stlist : TStringList;
- i : Integer;
+ i, count, rc : Integer;
body : String;
+ limited : boolean;
begin
result := true;
try
stList.Free;
end;
end;
- body := GikoSys.GetSameIDResAnchor(AID, FActiveContent.Thread);
+ count := GikoSys.GetSameIDResCount(AID, FActiveContent.Thread);
+ limited := false;
+ if count > 20 then begin
+ rc := GikoUtil.MsgBox(Handle,
+ '20\8cÂ\88È\8fã\82 \82è\82Ü\82·\82ª\81A\82·\82×\82Ä\95\\8e¦\82µ\82Ü\82·\82©\81H',
+ 'ID\83|\83b\83v\83A\83b\83v\8cx\8d\90',
+ MB_YESNO or MB_ICONQUESTION);
+ limited := rc <> ID_YES;
+ end;
+ body := GikoSys.GetSameIDResAnchor(AID, FActiveContent.Thread, limited);
IDAnchorPopup(body);
end;
end;
procedure TGikoForm.SameIDResAnchorActionExecute(Sender: TObject);
var
ThreadItem : TThreadItem;
- No : Integer;
+ No, count, rc : Integer;
body : string;
+ limited: boolean;
begin
No := KokoPopupMenu.Tag;
if No = 0 then Exit;
ThreadItem := GetActiveContent;
if ThreadItem = nil then Exit;
- body := GikoSys.GetSameIDResAnchor(No, ThreadItem);
+ count := GikoSys.GetSameIDResCount(No, FActiveContent.Thread);
+ limited := false;
+ if count > 20 then begin
+ rc := GikoUtil.MsgBox(Handle,
+ '20\8cÂ\88È\8fã\82 \82è\82Ü\82·\82ª\81A\82·\82×\82Ä\95\\8e¦\82µ\82Ü\82·\82©\81H',
+ 'ID\83|\83b\83v\83A\83b\83v\8cx\8d\90',
+ MB_YESNO or MB_ICONQUESTION);
+ limited := rc <> ID_YES;
+ end;
+ body := GikoSys.GetSameIDResAnchor(No, ThreadItem, limited);
IDAnchorPopup(body);
end;
//ID\83A\83\93\83J\81[\92Ç\89Á
procedure SambaFileExists();
property Bayesian : TGikoBayesian read FBayesian write FBayesian;
- function GetSameIDResAnchor(const AID : string; ThreadItem: TThreadItem):string; overload;
- function GetSameIDResAnchor(AIDNum : Integer; ThreadItem: TThreadItem):string; overload;
+ function GetSameIDResAnchor(const AID : string; ThreadItem: TThreadItem; limited: boolean):string; overload;
+ function GetSameIDResAnchor(AIDNum : Integer; ThreadItem: TThreadItem; limited: boolean):string; overload;
procedure GetSameIDRes(const AID : string; ThreadItem: TThreadItem;var body: TStringList); overload;
procedure GetSameIDRes(AIDNum : Integer; ThreadItem: TThreadItem;var body: TStringList); overload;
+ function GetSameIDResCount(const AID : string; ThreadItem: TThreadItem):Integer; overload;
+ function GetSameIDResCount(AIDNum : Integer; ThreadItem: TThreadItem):Integer; overload;
+
//! \92P\8cê\89ð\90Í
procedure SpamCountWord( const text : string; wordCount : TWordCount );
//! \8aw\8fK\83N\83\8a\83A
end;
end;
end;
-function TGikoSys.GetSameIDResAnchor(const AID : string; ThreadItem: TThreadItem):string;
+function TGikoSys.GetSameIDResAnchor(const AID : string; ThreadItem: TThreadItem; limited: boolean):string;
var
i: integer;
body: TStringList;
body := TStringList.Create;
try
GetSameIDRes(AID, ThreadItem, body);
- for i := 0 to body.Count - 1 do begin
- Result := Result + '>' + body[i] + ' ';
- end;
+ if (limited) and (body.Count > 20) then begin
+ for i := body.Count - 20 to body.Count - 1 do begin
+ Result := Result + '>' + body[i] + ' ';
+ end;
+ end else begin
+ for i := 0 to body.Count - 1 do begin
+ Result := Result + '>' + body[i] + ' ';
+ end;
+ end;
finally
body.Free;
end;
end;
end;
end;
-function TGikoSys.GetSameIDResAnchor(AIDNum : Integer; ThreadItem: TThreadItem):string;
+function TGikoSys.GetSameIDResAnchor(AIDNum : Integer; ThreadItem: TThreadItem; limited: boolean):string;
var
i: integer;
body: TStringList;
body := TStringList.Create;
try
GetSameIDRes(AIDNum, ThreadItem, body);
- for i := 0 to body.Count - 1 do begin
- Result := Result + '>' + body[i] + ' ';
- end;
+ if (limited) and (body.Count > 20) then begin
+ for i := body.Count - 20 to body.Count - 1 do begin
+ Result := Result + '>' + body[i] + ' ';
+ end;
+ end else begin
+ for i := 0 to body.Count - 1 do begin
+ Result := Result + '>' + body[i] + ' ';
+ end;
+ end;
finally
body.Free;
end;
GetSameIDRes(AID, ThreadItem, body);
end;
end;
+function TGikoSys.GetSameIDResCount(const AID : string; ThreadItem: TThreadItem):Integer;
+var
+ body: TStringList;
+begin
+ Result := 0;
+ if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
+ body := TStringList.Create;
+ try
+ GetSameIDRes(AID, ThreadItem, body);
+ Result := body.Count;
+ finally
+ body.Free;
+ end;
+ end;
+
+end;
+function TGikoSys.GetSameIDResCount(AIDNum : Integer; ThreadItem: TThreadItem):Integer;
+var
+ i: integer;
+ body: TStringList;
+begin
+ Result := 0;
+ if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
+ body := TStringList.Create;
+ try
+ GetSameIDRes(AIDNum, ThreadItem, body);
+ Result := body.Count;
+ finally
+ body.Free;
+ end;
+ end;
+end;
+
function TGikoSys.NotDateorTimeString(const AStr : string): boolean;
begin
Result := false;