| 601 |
SortNextColumnAction: TAction; |
SortNextColumnAction: TAction; |
| 602 |
SortPrevColumnAction: TAction; |
SortPrevColumnAction: TAction; |
| 603 |
BeLogInOutAction: TAction; |
BeLogInOutAction: TAction; |
| 604 |
|
N74: TMenuItem; |
| 605 |
|
ChangeEUC: TMenuItem; |
| 606 |
|
LogConvertToEUCAction: TAction; |
| 607 |
procedure FormCreate(Sender: TObject); |
procedure FormCreate(Sender: TObject); |
| 608 |
procedure FormDestroy(Sender: TObject); |
procedure FormDestroy(Sender: TObject); |
| 609 |
procedure CabinetPanelHide(Sender: TObject); |
procedure CabinetPanelHide(Sender: TObject); |
| 962 |
Stage: TCustomDrawStage; var DefaultDraw: Boolean); |
Stage: TCustomDrawStage; var DefaultDraw: Boolean); |
| 963 |
procedure BeLogInOutActionExecute(Sender: TObject); |
procedure BeLogInOutActionExecute(Sender: TObject); |
| 964 |
procedure BeLogInOutActionUpdate(Sender: TObject); |
procedure BeLogInOutActionUpdate(Sender: TObject); |
| 965 |
|
procedure LogConvertToEUCActionExecute(Sender: TObject); |
| 966 |
private |
private |
| 967 |
{ Private 宣言 } |
{ Private 宣言 } |
| 968 |
//RoundList : TRoundList; |
//RoundList : TRoundList; |
| 1259 |
|
|
| 1260 |
uses |
uses |
| 1261 |
About, Option, Round, Splash, Sort, ListSelect, Imm, |
About, Option, Round, Splash, Sort, ListSelect, Imm, |
| 1262 |
NewBoard, MojuUtils, Clipbrd, GikoBayesian; |
NewBoard, MojuUtils, Clipbrd, GikoBayesian,Y_TextConverter; |
| 1263 |
|
|
| 1264 |
const |
const |
| 1265 |
CAPTION_NAME: string = 'ギコナビ'; |
CAPTION_NAME: string = 'ギコナビ'; |
| 1539 |
if RoundList.OldFileRead or ( RoundList.Count[grtItem] > 0 ) then |
if RoundList.OldFileRead or ( RoundList.Count[grtItem] > 0 ) then |
| 1540 |
GikoSys.ListBoardFile; |
GikoSys.ListBoardFile; |
| 1541 |
|
|
| 1542 |
|
|
| 1543 |
// メニューに追加 |
// メニューに追加 |
| 1544 |
SetBBSMenu; |
SetBBSMenu; |
| 1545 |
|
|
| 1761 |
// 起動時に保存されてしまう対策 3 |
// 起動時に保存されてしまう対策 3 |
| 1762 |
FIsIgnoreResize := rtResizing; |
FIsIgnoreResize := rtResizing; |
| 1763 |
|
|
| 1764 |
|
// すべてのBBSを読み込んでおく |
| 1765 |
|
for i := Length(BBSs) - 1 downto 0 do begin |
| 1766 |
|
if not BBSs[i].IsBoardFileRead then |
| 1767 |
|
GikoSys.ReadBoardFile(BBSs[i]); |
| 1768 |
|
end; |
| 1769 |
|
|
| 1770 |
//引数があったらスレを開く(未取得ならダウンロード) |
//引数があったらスレを開く(未取得ならダウンロード) |
| 1771 |
for i := 1 to ParamCount do begin |
for i := 1 to ParamCount do begin |
| 2197 |
except |
except |
| 2198 |
end; |
end; |
| 2199 |
|
|
| 2200 |
|
for i := Length(BoardGroups) - 1 downto 0 do begin |
| 2201 |
|
BoardGroups[i].Clear; |
| 2202 |
|
end; |
| 2203 |
|
|
| 2204 |
try |
try |
| 2205 |
for i := Length( BoardPlugIns ) - 1 downto 0 do begin |
for i := Length( BoardPlugIns ) - 1 downto 0 do begin |
| 2206 |
if BoardPlugIns[ i ] <> nil then |
if BoardPlugIns[ i ] <> nil then |
| 2308 |
ActiveList := nil; |
ActiveList := nil; |
| 2309 |
|
|
| 2310 |
FTreeType := gttNone; |
FTreeType := gttNone; |
| 2311 |
GikoSys.FBoardURLList.Clear; |
//GikoSys.FBoardURLList.Clear; |
| 2312 |
|
for i := Length(BoardGroups) - 1 downto 0 do begin |
| 2313 |
|
BoardGroups[i].Clear; |
| 2314 |
|
end; |
| 2315 |
GikoSys.ListBoardFile; //ボードファイル読込 |
GikoSys.ListBoardFile; //ボードファイル読込 |
| 2316 |
|
|
| 2317 |
// BBS メニューの更新 |
// BBS メニューの更新 |
| 3562 |
//スレ |
//スレ |
| 3563 |
Item.SaveItemFile; |
Item.SaveItemFile; |
| 3564 |
Item.ThreadItem.NewArrival := True; |
Item.ThreadItem.NewArrival := True; |
| 3565 |
if (Item.ThreadItem.IsBoardPlugInAvailable) and (Item.ThreadItem.Title = '') then begin |
//if (Item.ThreadItem.IsBoardPlugInAvailable) and (Item.ThreadItem.Title = '') then begin |
| 3566 |
boardPlugIn := Item.ThreadItem.BoardPlugIn; |
if (Item.ThreadItem.ParentBoard.IsBoardPlugInAvailable) and (Item.ThreadItem.Title = '') then begin |
| 3567 |
|
//boardPlugIn := Item.ThreadItem.BoardPlugIn; |
| 3568 |
|
boardPlugIn := Item.ThreadItem.ParentBoard.BoardPlugIn; |
| 3569 |
Item.ThreadItem.Title := GikoSys.DivideStrLine(boardPlugIn.GetDat( DWORD( Item.ThreadItem ), 1 )).FTitle; |
Item.ThreadItem.Title := GikoSys.DivideStrLine(boardPlugIn.GetDat( DWORD( Item.ThreadItem ), 1 )).FTitle; |
| 3570 |
ATitle := Item.ThreadItem.Title; |
ATitle := Item.ThreadItem.Title; |
| 3571 |
end else if ATitle = '(名称不明)' then begin |
end else if ATitle = '(名称不明)' then begin |
| 7622 |
//===== プラグイン |
//===== プラグイン |
| 7623 |
try |
try |
| 7624 |
//作業中// |
//作業中// |
| 7625 |
bi := High( BoardPlugIns ); |
//bi := High( BoardPlugIns ); |
| 7626 |
for i := Low( BoardPlugIns ) to bi do begin |
bi := Length(BoardGroups) - 1; |
| 7627 |
if Assigned( Pointer( BoardPlugIns[ i ].Module ) ) then begin |
//for i := Low( BoardPlugIns ) to bi do begin |
| 7628 |
case BoardPlugIns[ i ].AcceptURL( inURL ) of |
for i := 1 to bi do begin |
| 7629 |
|
//if Assigned( Pointer( BoardPlugIns[ i ].Module ) ) then begin |
| 7630 |
|
if (BoardGroups[i].BoardPlugIn <> nil) and (Assigned(Pointer(BoardGroups[i].BoardPlugIn.Module))) then begin |
| 7631 |
|
case BoardGroups[i].BoardPlugIn.AcceptURL( inURL ) of |
| 7632 |
atThread: |
atThread: |
| 7633 |
begin |
begin |
| 7634 |
tmpThread := TThreadItem.Create( BoardPlugIns[ i ], inURL ); |
boardURL := BoardGroups[i].BoardPlugIn.ExtractBoardURL( inURL ); |
| 7635 |
boardURL := tmpThread.BoardPlugIn.GetBoardURL( DWORD( tmpThread ) ); |
Board := BBSsFindBoardFromURL( boardURL ); |
| 7636 |
Board := BBSsFindBoardFromURL( boardURL ); |
tmpThread := TThreadItem.Create( BoardGroups[i].BoardPlugIn, Board, inURL ); |
| 7637 |
|
|
| 7638 |
if Board = nil then begin |
if Board = nil then begin |
| 7639 |
//break; |
//break; |
| 7640 |
// ※作っても追加するところが無いので激しく保留 |
// ※作っても追加するところが無いので激しく保留 |
| 7683 |
|
|
| 7684 |
atBoard: |
atBoard: |
| 7685 |
begin |
begin |
| 7686 |
tmpBoard := TBoard.Create(BoardPlugIns[ i ], inURL); |
tmpBoard := TBoard.Create(BoardGroups[i].BoardPlugIn, inURL); |
| 7687 |
Board := BBSsFindBoardFromURL( tmpBoard.URL ); |
Board := BBSsFindBoardFromURL( tmpBoard.URL ); |
| 7688 |
tmpBoard.Free; |
tmpBoard.Free; |
| 7689 |
if Board <> nil then begin |
if Board <> nil then begin |
| 7747 |
GikoSys.OpenBrowser(URL1, gbtIE) |
GikoSys.OpenBrowser(URL1, gbtIE) |
| 7748 |
else begin |
else begin |
| 7749 |
} |
} |
| 7750 |
ThreadItem := TThreadItem.Create( nil, URL ); |
ThreadItem := TThreadItem.Create( nil, Board, URL ); |
| 7751 |
ThreadItem.FileName := ChangeFileExt(BBSKey, '.dat'); |
ThreadItem.FileName := ChangeFileExt(BBSKey, '.dat'); |
| 7752 |
if AnsiPos(Host, Board.URL) = 0 then |
if AnsiPos(Host, Board.URL) = 0 then |
| 7753 |
ThreadItem.DownloadHost := Host |
ThreadItem.DownloadHost := Host |
| 8158 |
FHint.Title := ThreadItem.Title; |
FHint.Title := ThreadItem.Title; |
| 8159 |
|
|
| 8160 |
if ThreadItem <> nil then begin |
if ThreadItem <> nil then begin |
| 8161 |
if ThreadItem.IsBoardPlugInAvailable then begin |
//if ThreadItem.IsBoardPlugInAvailable then begin |
| 8162 |
|
if ThreadItem.ParentBoard.IsBoardPlugInAvailable then begin |
| 8163 |
//===== プラグインによる表示 |
//===== プラグインによる表示 |
| 8164 |
boardPlugIn := ThreadItem.BoardPlugIn; |
//boardPlugIn := ThreadItem.BoardPlugIn; |
| 8165 |
|
boardPlugIn := ThreadItem.ParentBoard.BoardPlugIn; |
| 8166 |
|
|
| 8167 |
// フォントやサイズの設定 |
// フォントやサイズの設定 |
| 8168 |
// 文字コードはプラグインに任せる |
// 文字コードはプラグインに任せる |
| 10330 |
ThreadItem := GetActiveContent; |
ThreadItem := GetActiveContent; |
| 10331 |
|
|
| 10332 |
if ThreadItem <> nil then begin |
if ThreadItem <> nil then begin |
| 10333 |
if ThreadItem.IsBoardPlugInAvailable then begin |
//if ThreadItem.IsBoardPlugInAvailable then begin |
| 10334 |
|
if ThreadItem.ParentBoard.IsBoardPlugInAvailable then begin |
| 10335 |
//===== プラグインによる表示 |
//===== プラグインによる表示 |
| 10336 |
boardPlugIn := ThreadItem.BoardPlugIn; |
//boardPlugIn := ThreadItem.BoardPlugIn; |
| 10337 |
|
boardPlugIn := ThreadItem.ParentBoard.BoardPlugIn; |
| 10338 |
|
|
| 10339 |
// フォントやサイズの設定 |
// フォントやサイズの設定 |
| 10340 |
// 文字コードはプラグインに任せる |
// 文字コードはプラグインに任せる |
| 10352 |
Header := CustomStringReplace(Header, '</b>', '',true); |
Header := CustomStringReplace(Header, '</b>', '',true); |
| 10353 |
Header := CustomStringReplace(Header, '<b>', '',true); |
Header := CustomStringReplace(Header, '<b>', '',true); |
| 10354 |
end; |
end; |
| 10355 |
if ThreadItem.IsBoardPlugInAvailable then begin |
//if ThreadItem.IsBoardPlugInAvailable then begin |
| 10356 |
|
if ThreadItem.ParentBoard.IsBoardPlugInAvailable then begin |
| 10357 |
Body := CustomStringReplace(Res.FBody, '<br>', #13#10,true); |
Body := CustomStringReplace(Res.FBody, '<br>', #13#10,true); |
| 10358 |
Body := CustomStringReplace(Body, '<br>', #13#10,true); |
Body := CustomStringReplace(Body, '<br>', #13#10,true); |
| 10359 |
end else begin |
end else begin |
| 12258 |
|
|
| 12259 |
|
|
| 12260 |
|
|
| 12261 |
|
procedure TGikoForm.LogConvertToEUCActionExecute(Sender: TObject); |
| 12262 |
|
var |
| 12263 |
|
ThreadItem: TThreadItem; |
| 12264 |
|
LogFilename: String; |
| 12265 |
|
fileStrings: TStringList; |
| 12266 |
|
begin |
| 12267 |
|
ThreadItem := GetActiveContent; |
| 12268 |
|
if ThreadItem <> nil then begin |
| 12269 |
|
LogFilename := ThreadItem.FilePath; |
| 12270 |
|
Writeln(LogFilename); |
| 12271 |
|
if FileExists(LogFilename) then begin |
| 12272 |
|
fileStrings := TStringList.Create(); |
| 12273 |
|
try |
| 12274 |
|
fileStrings.LoadFromFile(LogFilename); |
| 12275 |
|
fileStrings.Text := EUCtoSJIS(fileStrings.Text); |
| 12276 |
|
fileStrings.SaveToFile(LogFilename); |
| 12277 |
|
finally |
| 12278 |
|
fileStrings.free |
| 12279 |
|
end; |
| 12280 |
|
end; |
| 12281 |
|
end; |
| 12282 |
|
end; |
| 12283 |
|
|
| 12284 |
initialization |
initialization |
| 12285 |
OleInitialize(nil); |
OleInitialize(nil); |
| 12286 |
finalization |
finalization |