procedure SortActiveColumnActionExecute(Sender: TObject);
procedure SortNextColumnActionExecute(Sender: TObject);
procedure SortPrevColumnActionExecute(Sender: TObject);
- procedure BrowserExit(Sender: TObject);
procedure MessageListViewAdvancedCustomDrawItem(
Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
Stage: TCustomDrawStage; var DefaultDraw: Boolean);
procedure SetSelectWord( const text : string );
//\83u\83\89\83E\83U\82Ì\8dÄ\95`\89æ true:\91S\82Ä\82Ì\83^\83u false:\83A\83N\83e\83B\83u\82È\83^\83u\82Ì\82Ý
procedure RepaintAllTabsBrowser();
+ //\83\8a\83\93\83N\82Ì\95¶\8e\9a\97ñ\82©\82ç\83\8c\83X\83|\83b\83v\83A\83b\83v\97p\82ÌURL\82É\95Ï\8a·\82·\82é
+ function GetRespopupURL(AText, AThreadURL : string): string;
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure WndProc(var Message: TMessage); override;
FBrowsers.Add(TWebBrowser.Create(nil));
newBrowser := FBrowsers[FBrowsers.Count - 1];
TOleControl(newBrowser).Parent := BrowserPanel;
- newBrowser.Align := alNone;
- newBrowser.Left := 0;
- newBrowser.Top := 0;
+ TOleControl(newBrowser).Align := alNone;
+ TOleControl(newBrowser).Left := 0;
+ TOleControl(newBrowser).Top := 0;
//newBrowser.StatusBar := false;
//newBrowser.MenuBar := false;
//newBrowser.AddressBar := false;
end;
end else begin
threadItem := GetActiveContent;
- if Pos('about:blank..', Text) = 1 then begin
- wkInt := LastDelimiter( '/', threadItem.URL );
- if Pos( '?', Copy( threadItem.URL, wkInt, MaxInt ) ) = 0 then begin
- // Thread.URL \82Í PATH_INFO \93n\82µ
- URL := Copy( threadItem.URL, 1, LastDelimiter( '/', threadItem.URL ) );
- wkInt := LastDelimiter( '/', Text );
- if Pos( '?', Copy( Text, wkInt, MaxInt ) ) = 0 then
- // Text \82à PATH_INFO \93n\82µ
- URL := URL + Copy( Text, LastDelimiter( '/', Text ) + 1, MaxInt )
- else
- // Text \82Í QUERY_STRING \93n\82µ
- URL := URL + Copy( Text, LastDelimiter( '?', Text ) + 1, MaxInt );
- end else begin
- // Thread.URL \82Í QUERY_STRING \93n\82µ
- URL := Copy( threadItem.URL, 1, LastDelimiter( '?', threadItem.URL ) );
- wkInt := LastDelimiter( '/', Text );
- if Pos( '?', Copy( Text, wkInt, MaxInt ) ) = 0 then begin
- // Text \82Í PATH_INFO \93n\82µ
- // URL \82É\94Â\82Æ\83L\81[\82ª\91«\82ç\82È\82¢\82Ì\82Å Text \82©\82ç\92¸\91Õ\82·\82é
- wkInt := LastDelimiter( '/', Copy( Text, 1, wkInt - 1 ) );
- wkInt := LastDelimiter( '/', Copy( Text, 1, wkInt - 1 ) );
- URL := Copy( URL, 1, Length( URL ) - 1 ) + Copy( Text, wkInt, MaxInt );
- end else begin
- // Text \82à QUERY_STRING \93n\82µ
- URL := URL + Copy( Text, LastDelimiter( '?', Text ) + 1, MaxInt )
- end;
- end;
- end else begin
- URL := Text;
- end;
-
+ URL := GetRespopupURL(Text, threadItem.URL);
PathRec := Gikosys.Parse2chURL2(URL);
if (PathRec.FNoParam) then begin
PathRec.FSt := 1;
wkIntTo := wkIntSt;
wkIntSt := wkInt;
end;
- //if wkIntSt = 0 then
- // wkIntSt := 1;
- //if wkINtTo = 0 then
- // wkIntTo := 1;
- //if PathRec.FFirst then
- // wkIntSt := 1;
- //if PathRec.FStBegin then //http://\81`\81`\81`\81`/-50\82Æ\82¢\82¤\82Æ\82«
- // wkIntSt := 1; //
- //if PathRec.FToEnd then //http://\81`\81`\81`\81`/50-\82Æ\82¢\82¤\82Æ\82«
- // wkIntTo := 9999; // \82Ç\82¿\82ç\82Ì\8fê\8d\87\82à\81AGetPopupResNumber\82Å\82¤\82Ü\82\94Ô\8d\86\82ð\92²\90®\82·\82é\82Ì\82Å\82Ó\82æ\82¤\81B
-
- //ATitle := ActiveFileName <> PathRec.FKey;
if (FActiveContent <> nil) and (FActiveContent.Thread.URL = URL) then
ATitle := false
else
wkIntSt: Integer;
wkIntTo: Integer;
document: IHTMLDocument2;
+ BNum, BRes: string;
+ threadItem: TThreadItem;
begin
Cancel := True;
end;
end else begin
+ ////'http://be.2ch.net/test/p.php?i='+id+'&u=d:'+bas+num
+
URL := GikoSys.GetHRefText(Html);
URL := GikoSys.HTMLDecode(URL);
+ if AnsiPos('BE:', URL) = 1 then begin
+ BNum := Copy(URL, 4, AnsiPos('/', URL) - 4);
+ BRes := Copy(URL, AnsiPos('/', URL) + 1, Length(URL));
+ threadItem := FActiveContent.Thread;
+ if threadItem = nil then Exit;
+ URL := BE_PHP_URL + BNum + '&u=d'
+ + CustomStringReplace(threadItem.URL, 'l50', '') + BRes;
+ end;
+
if( AnsiPos('http://', URL) = 1) or (AnsiPos('https://', URL) = 1) or
( AnsiPos('ftp://', URL) = 1) then begin
//\83A\83h\83\8c\83X\83o\81[\82Ì\97\9a\97ð
end;
-procedure TGikoForm.BrowserExit(Sender: TObject);
-begin
- IDAnchorPopup('');
-end;
-
procedure TGikoForm.RepaintAllTabsBrowser();
var
i : Integer;
if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
else BeLogInOutAction.Checked := false;
BeLogInOutAction.Enabled := true
- end else
+ end else
BeLogInOutAction.Enabled := false;
end;
+//\83\8a\83\93\83N\82Ì\95¶\8e\9a\97ñ\82©\82ç\83\8c\83X\83|\83b\83v\83A\83b\83v\97p\82ÌURL\82É\95Ï\8a·\82·\82é
+function TGikoForm.GetRespopupURL(AText, AThreadURL : string): string;
+var
+ wkInt: Integer;
+begin
+ Result := '';
+ if Pos('about:blank..', AText) = 1 then begin
+ wkInt := LastDelimiter( '/', AThreadURL );
+ if Pos( '?', Copy( AThreadURL, wkInt, MaxInt ) ) = 0 then begin
+ // Thread.URL \82Í PATH_INFO \93n\82µ
+ Result := Copy( AThreadURL, 1, LastDelimiter( '/', AThreadURL ) );
+ wkInt := LastDelimiter( '/', AText );
+ if Pos( '?', Copy( AText, wkInt, MaxInt ) ) = 0 then
+ // Text \82à PATH_INFO \93n\82µ
+ Result := Result + Copy( AText, LastDelimiter( '/', AText ) + 1, MaxInt )
+ else
+ // Text \82Í QUERY_STRING \93n\82µ
+ Result := Result + Copy( AText, LastDelimiter( '?', AText ) + 1, MaxInt );
+ end else begin
+ // Thread.URL \82Í QUERY_STRING \93n\82µ
+ Result := Copy( AThreadURL, 1, LastDelimiter( '?', AThreadURL ) );
+ wkInt := LastDelimiter( '/', AText );
+ if Pos( '?', Copy( Text, wkInt, MaxInt ) ) = 0 then begin
+ // Text \82Í PATH_INFO \93n\82µ
+ // URL \82É\94Â\82Æ\83L\81[\82ª\91«\82ç\82È\82¢\82Ì\82Å Text \82©\82ç\92¸\91Õ\82·\82é
+ wkInt := LastDelimiter( '/', Copy( AText, 1, wkInt - 1 ) );
+ wkInt := LastDelimiter( '/', Copy( AText, 1, wkInt - 1 ) );
+ Result := Copy( Result, 1, Length( Result ) - 1 ) + Copy( AText, wkInt, MaxInt );
+ end else begin
+ // Text \82à QUERY_STRING \93n\82µ
+ Result := Result + Copy( Text, LastDelimiter( '?', AText ) + 1, MaxInt )
+ end;
+ end;
+ end else if Pos('about:blank/bbs/', AText) = 1 then begin
+ //\82µ\82½\82ç\82ÎJBBS\82Ì\8ed\95Ï\82Ì\8bz\8eû
+ AText := CustomStringReplace(AText, 'about:blank/bbs/', 'about:blank../../bbs/');
+ Result := GetRespopupURL(AText, AThreadURL);
+ end else begin
+ Result := AText;
+ end;
+
+end;
+
+
initialization
OleInitialize(nil);