OSDN Git Service

冒険の書の作成の時に古いCookieを削除するようにした。
[gikonavigoeson/gikonavi.git] / ExternalBoardItem.pas
index a7729b2..a084a9c 100644 (file)
@@ -22,7 +22,8 @@ type
                bipIsLogFile,                                           // : Boolean                    // \83\8d\83O\91\8dÝ\83t\83\89\83O
                bipUnRead,                                                      // : Integer                    // \83X\83\8c\83b\83h\96¢\93Ç\90\94
                bipURL,                                                                 // : string                             // \94Â\82ð\83u\83\89\83E\83U\82Å\95\\8e¦\82·\82é\8dÛ\82Ì URL
-               bipFilePath                                                     // : string                             // \82±\82Ì\94Â\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\83p\83X
+               bipFilePath,                                                    // : string                             // \82±\82Ì\94Â\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\83p\83X
+               bipIs2ch                                                        // : Boolean            //\83z\83X\83g\82ª2ch\82©\82Ç\82¤\82©
        );
 
        // *************************************************************************
@@ -85,7 +86,7 @@ type
 
 implementation
 
-uses ExternalBoardManager, GikoSystem, BoardGroup;
+uses ExternalBoardManager, GikoSystem, BoardGroup, MojuUtils;
 
 // *************************************************************************
 // TBoardItem \83N\83\89\83X\82Ì\83v\83\8d\83p\83e\83B\82ð\8eæ\93¾\82·\82é
@@ -118,6 +119,8 @@ begin
                        Result := DWORD( CreateResultString( boardItem.URL ) );
                bipFilePath:                                                                                                                    // \82±\82Ì\83X\83\8c\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\83p\83X
                        Result := DWORD( CreateResultString( boardItem.FilePath ) );
+               bipIs2ch:
+                       Result := DWORD( boardItem.Is2ch );
        else
                Result := 0;
        end;
@@ -146,7 +149,8 @@ begin
                bipRound:                                                               // : Boolean            // \8f\84\89ñ\83t\83\89\83O
                        boardItem.Round                         := Boolean( param );
                bipRoundName:                                           // : string                     // \8f\84\89ñ\96¼
-                       boardItem.RoundName             := string( PChar( param ) );
+                       //boardItem.RoundName           := string( PChar( param ) );
+                       boardItem.RoundName             := PChar( param );
                bipIsLogFile:                                           // : Boolean            // \83\8d\83O\91\8dÝ\83t\83\89\83O
                        boardItem.IsLogFile             := Boolean( param );
                bipUnRead:                                                      // : Integer            // \83X\83\8c\83b\83h\96¢\93Ç\90\94
@@ -155,6 +159,8 @@ begin
                        boardItem.URL                                   := string( PChar( param ) );
                bipFilePath:                                            // : string                     // \82±\82Ì\83X\83\8c\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\83p\83X
                        boardItem.FilePath                      := string( PChar( param ) );
+               bipIs2ch:
+                       boardItem.Is2ch                 := Boolean( param );
        end;
 
 end;
@@ -279,6 +285,8 @@ var
        i                                                       : Integer;
        rec                                             : TSubjectRec;
        isContinue              : Boolean;
+       threadURL               : string;
+       template                : string;
 begin
 
        {$IFDEF DEBUG}
@@ -288,17 +296,24 @@ begin
                board           := TBoard( inInstance );
                subject := TStringList.Create;
                try
+                       //FileName\82É\82æ\82Á\82Ä\95Ï\89»\82·\82é\95\94\95ª\82ð'(FILENAME!)'\82Æ\82µ\82½\81A\95\8e\9a\97ñ\82ð\82à\82ç\82¤\81B
+                       template := board.BoardPlugIn.FileName2ThreadURL( DWORD( board ), '(FILENAME!)' );
                        subject.Text := inSubjectText;
 
                        for i := 0 to subject.Count - 1 do begin
                                rec                                             := GikoSys.DivideSubject( subject[i] );
                                rec.FFileName   := Trim(rec.FFileName);
+                               if AnsiPos('.', rec.FFileName) > 0 then
+                                       rec.FFileName := Copy(rec.FFileName, 1, AnsiPos('.', rec.FFileName) - 1);
                                if (rec.FTitle = '') and (rec.FCount = 0) then
                                        Continue;
 
+                //\83e\83\93\83v\83\8c\81[\83g\82Ì'(FILENAME!)'\82ðFileName\82É\92u\8a·\82·\82é
+                               threadURL := CustomStringReplace(template, '(FILENAME!)', Rec.FFileName);
+
                                isContinue := inCallBack(
                                        inInstance,
-                                       PChar( board.BoardPlugIn.FileName2ThreadURL( DWORD( board ), rec.FFileName ) ),
+                                       PChar( threadURL ),
                                        PChar( rec.FTitle ),
                                        DWORD( rec.FCount ) );
 
@@ -325,4 +340,3 @@ exports
        BoardItemWorkEnd;
 
 end.
\ No newline at end of file