uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, ToolWin, Menus, OleCtrls,
- SHDocVw_TLB, ActiveX, {HTTPApp,} YofUtils, IniFiles, StrUtils,
+{$IF Defined(DELPRO) }
+ SHDocVw,
+{$ELSE}
+ SHDocVw_TLB,
+{$IFEND}
+ ActiveX, {HTTPApp,} YofUtils, Trip, IniFiles, StrUtils,
GikoSystem, GikoUtil, ImgList, Clipbrd, BoardGroup,
IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdHTTP, ActnList, StdActns, IdIntercept,
TransAction: TAction;
A1: TMenuItem;
KotehanCheckBox: TCheckBox;
- TitlePanel: TPanel;
+ TitlePanel: TPanel;
Label1: TLabel;
TitleEdit: TEdit;
- SelectAllAction: TAction;
- N2: TMenuItem;
- SelectAll1: TMenuItem;
+ SelectAllAction: TAction;
+ N2: TMenuItem;
+ SelectAll1: TMenuItem;
procedure EditorPageChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BrowserStatusTextChange(Sender: TObject;
AStream: TStream);
procedure IdLogDebugSend(ASender: TIdConnectionIntercept;
AStream: TStream);
- procedure SelectAllActionExecute(Sender: TObject);
+ procedure SelectAllActionExecute(Sender: TObject);
private
FThreadItem: TThreadItem;
FBoard: TBoard;
procedure TEditorForm.FormCreate(Sender: TObject);
var
-// i: Integer;
- u32: Boolean;
wp: TWindowPlacement;
+ hUser32 : HINST;
begin
FWork := False;
Browser.Navigate('about:blank');
NameComboBox.Items.Assign(GikoSys.Setting.NameList);
MailComboBox.Items.Assign(GikoSys.Setting.MailList);
SetFont;
- u32 := GetModuleHandle('User32.dll') <> 0;
- TransAction.Enabled := u32;
+ //u32 := GetModuleHandle('User32.dll') <> 0;
+ hUser32 := LoadLibrary('User32.dll');
+ if hUser32 <> 0 then
+ TransAction.Enabled := true
+ else
+ TransAction.Enabled := false;
+ FreeLibrary(hUser32);
+
end;
procedure TEditorForm.SetBoard(Item: TBoard);
Body: string;
s: string;
- posTrip : Integer;
- temp1, temp2 : string;
+ posTrip : Integer;
+ tripOrigin : string;
begin
if FThreadItem = nil then begin
No := '1';
+ '<BODY text="#000000" bgcolor="#EFEFEF" link="#0000FF" alink="#FF0000" vlink="#660099">' + #13#10
+ '<FONT COLOR="#FF0000">' + title + '</FONT>' + #13#10
+ '<DL>' + #13#10;
- posTrip := Pos( '#', Namae );
- if posTrip > 0 then
- begin
- //Namae := LeftStr( Namae, posTrip - 1 ) + '\81\9f' + get_2ch_trip( PChar( Copy( Namae, posTrip + 1, Length( Namae ) ) ) );
- temp1 := Copy( Namae, 1, posTrip - 1 ) + '\81\9f';
- temp2 := Copy( Namae, posTrip + 1, Length( Namae ) );
- temp2 := get_2ch_trip( PChar( temp2 ) );
- Namae := temp1 + temp2;
- end;
+ posTrip := Pos( '#', Namae );
+ if posTrip > 0 then
+ begin
+ tripOrigin := Copy( Namae, posTrip + 1, Length( Namae ) );
+ Namae :=
+ Copy( Namae, 1, posTrip - 1 ) + '</B> \81\9f' +
+ get_2ch_trip( PChar( tripOrigin ) ) + '<B>';
+ end;
if Mail = '' then
- s := s + '<DT>' + No + ' \96¼\91O\81F <FONT color="forestgreen"><B>' + Namae + '</B></FONT> \93\8a\8de\93ú\81F ' + DateTime+ '<BR><DD>' + Body + '<BR><BR><BR>' + #13#10
+ s := s + '<DT>' + No + ' \81F <FONT color="forestgreen"><B>' + Namae + '</B></FONT> \81F ' + DateTime+ '<BR><DD>' + Body + '<BR><BR><BR>' + #13#10
else
- s := s + '<DT>' + No + ' \96¼\91O\81F <A href="mailto:' + Mail + '"><B>' + Namae + '</B></A> \93\8a\8de\93ú\81F ' + DateTime+ '<BR><DD>' + Body + '<BR><BR><BR>' + #13#10;
+ s := s + '<DT>' + No + ' \81F <A href="mailto:' + Mail + '"><B>' + Namae + '</B></A> [' + Mail + ']\81F ' + DateTime+ '<BR><DD>' + Body + '<BR><BR><BR>' + #13#10;
s := s + '</BODY></HTML>';
SetContent(s);
end;
// s := StringReplace(s, '&', '&', [rfReplaceAll]);
s := StringReplace(s, '<', '<', [rfReplaceAll]);
s := StringReplace(s, '>', '>', [rfReplaceAll]);
-// s := StringReplace(s, ' ', ' ', [rfReplaceAll]); //\8ed\97l\95Ï\8dX\82É\82æ\82è \8eg\97p\95s\89Â
+// s := StringReplace(s, ' ', ' ', [rfReplaceAll]); //\8ed\97l\95Ï\8dX\82É\82æ\82è \8eg\97p\95s\89Â
s := StringReplace(s, '"', '"', [rfReplaceAll]);
Result := s;
end;
RefURL := GikoSys.UrlToServer(FBoard.URL) + 'test/bbs.cgi';
end else begin
URL := FThreadItem.GetSendURL;
- RefURL := GikoSys.UrlToServer(FThreadItem.ParentBoard.URL)
- + 'test/read.cgi/'
- + FThreadItem.ParentBoard.BBSID
- + '/' + ChangeFileExt(FThreadItem.FileName, '')
- + '/l50';
+ RefURL := FThreadItem.URL;
end;
Indy.Request.UserAgent := GikoSys.GetUserAgent;
Indy.Request.Referer := RefURL;
if AnsiPos('\8f\91\82«\82±\82Ý\82ª\8fI\82í\82è\82Ü\82µ\82½', ResponseText) <> 0 then
Result := grtOK
else if (AnsiPos('\83N\83b\83L\81[\82ª\82È\82¢\82©\8aú\8cÀ\90Ø\82ê\82Å\82·', ResponseText) > 0) or
- (AnsiPos('<title>\83N\83b\83L\81[\8am\94F\81I</title>', ResponseText) > 0) or
- (AnsiPos('<title>\81¡\83N\83b\83L\81[\8am\94F\81I\81¡</title>', ResponseText) > 0) or
+ (AnsiPos('<title>\83N\83b\83L\81[\8am\94F\81I</title>', ResponseText) > 0) or
+ (AnsiPos('<title>\81¡\83N\83b\83L\81[\8am\94F\81I\81¡</title>', ResponseText) > 0) or
//(AnsiPos('\83N\83b\83L\81[\8am\94F', ResponseText) > 0) or
- (AnsiPos(RES2CH_COOKIE, ResponseText) > 0) then
+ (AnsiPos(RES2CH_COOKIE, ResponseText) > 0) then
Result := grtCookie
- else if (AnsiPos('<font size=+2 color=#FF0000>\8f\91\82«\8d\9e\82Ý\83`\83F\83b\83N\81I </font>', ResponseText) > 0) or
- (AnsiPos('<title>\81¡ \8f\91\82«\8d\9e\82Ý\8am\94F\82µ\82Ü\82· \81¡</title>', ResponseText) > 0) or
- (AnsiPos('<title>\93\8a\8de\8am\94F</title>', ResponseText) > 0) or
- (AnsiPos('<b>\8f\91\82«\82±\82Ý\8am\94F</b>', ResponseText) > 0) or
- (AnsiPos('="../test/subbbs.cgi">', ResponseText) > 0) or
- (AnsiPos(RES2CH_FALSE, ResponseText) > 0) then
+ else if (AnsiPos('<font size=+2 color=#FF0000>\8f\91\82«\8d\9e\82Ý\83`\83F\83b\83N\81I </font>', ResponseText) > 0) or
+ (AnsiPos('<title>\81¡ \8f\91\82«\8d\9e\82Ý\8am\94F\82µ\82Ü\82· \81¡</title>', ResponseText) > 0) or
+ (AnsiPos('<title>\93\8a\8de\8am\94F</title>', ResponseText) > 0) or
+ (AnsiPos('<b>\8f\91\82«\82±\82Ý\8am\94F</b>', ResponseText) > 0) or
+ (AnsiPos('="../test/subbbs.cgi">', ResponseText) > 0) or
+ (AnsiPos(RES2CH_FALSE, ResponseText) > 0) then
Result := grtCheck
else
Result := grtError;
var
Board: TBoard;
rc: Integer;
+ state : TGikoDownloadState;
begin
if FWork then
Exit;
Board.KotehanName := NameComboBox.Text;
Board.KotehanMail := MailComboBox.Text;
end;
- Send(Board.SPID, Board.PON, True);
+
+ if Board.IsBoardPlugInAvailable then begin
+ if FThreadItem = nil then begin
+ // \83X\83\8c\97§\82Ä
+ state := TGikoDownloadState( Board.BoardPlugIn.CreateThread(
+ DWORD( Board ), TitleEdit.Text, NameComboBox.Text, MailComboBox.Text, BodyEdit.Text ) );
+
+ if state = gdsComplete then begin
+ GikoForm.PlaySound('ResEnd');
+ SaveSendFile;
+ GikoForm.AddMessageList(FBoard.Title + ' [\90V\83X\83\8c\91\97\90M\8fI\97¹]', nil, gmiOK);
+ Close;
+ end else if State = gdsError then begin
+ GikoForm.AddMessageList(FBoard.Title + ' [\90V\83X\83\8c\91\97\90M\8e¸\94s]', nil, gmiNG);
+ end else if State = gdsAbort then begin
+ GikoForm.AddMessageList(FThreadItem.Title + ' [\92\86\92f]', nil, gmiSAD);
+ end;
+ end else begin
+ // \83\8c\83X
+ state := TGikoDownloadState( FThreadItem.BoardPlugIn.WriteThread(
+ DWORD( FThreadItem ), NameComboBox.Text, MailComboBox.Text, BodyEdit.Text ) );
+
+ if state = gdsComplete then begin
+ GikoForm.PlaySound('ResEnd');
+ SaveSendFile;
+ GikoForm.AddMessageList(FThreadItem.Title + ' [\83\8c\83X\91\97\90M\8fI\97¹]', nil, gmiOK);
+ Close;
+ end else if State = gdsError then begin
+ GikoForm.AddMessageList(FThreadItem.Title + ' [\83\8c\83X\91\97\90M\8e¸\94s]', nil, gmiNG);
+ end else if State = gdsAbort then begin
+ GikoForm.AddMessageList(FThreadItem.Title + ' [\92\86\92f]', nil, gmiSAD);
+ end;
+ end;
+ end else begin
+ Send(Board.SPID, Board.PON, True);
+ end;
finally
FWork := False;
end;