6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7 Dialogs, StdCtrls, ComCtrls, GikoSystem, GikoUtil, ExtCtrls, StrUtils;
10 TKuroutOption = class(TForm)
11 PageControl1: TPageControl;
13 GroupBox11: TGroupBox;
16 RecvBufferSize: TEdit;
17 ProxyProtocolCheckBox: TCheckBox;
18 ProtocolCheckBox: TCheckBox;
19 GroupBox13: TGroupBox;
22 PostTimeLabel: TLabel;
24 PostTimeCheckBox: TCheckBox;
26 PutPostTimeRadioButton: TRadioButton;
27 BackPostTimeRadioButton: TRadioButton;
29 CancelBotton: TButton;
31 ColumnTabSheet: TTabSheet;
32 CategoryColumnGroupBox: TGroupBox;
33 CUnVisibledListBox: TListBox;
34 CVisibledListBox: TListBox;
36 CDeleteButton: TButton;
37 BoardColumnGroupBox: TGroupBox;
38 BUnVisibledListBox: TListBox;
39 BVisibledListBox: TListBox;
41 BDeleteButton: TButton;
51 GengoSupport: TCheckBox;
56 KakikomiTabSheet: TTabSheet;
57 CookieGroupBox: TGroupBox;
59 FixedCookieEdit: TEdit;
63 MoveHistoryMaxEdit: TEdit;
65 AHandredGroupBox: TGroupBox;
66 AHandredLabeledEdit: TLabeledEdit;
67 AHandredUpDown: TUpDown;
68 ThreadGroupBox: TGroupBox;
69 AddKeywordCheckBox: TCheckBox;
71 SecurityGroupBox: TGroupBox;
73 LocalTrapAtt: TCheckBox;
74 RemoteTrapAtt: TCheckBox;
75 ReplaceDatCheckBox: TCheckBox;
78 SentIniFileSizeEdit: TEdit;
79 SentIniFileSizeUpDown: TUpDown;
82 ExtListLabeledEdit: TLabeledEdit;
84 LogGroupBox: TGroupBox;
85 CheckDatFileCheckBox: TCheckBox;
86 RespopupTabSheet: TTabSheet;
87 RespopuGroupBox: TGroupBox;
88 DeltaXLabeledEdit: TLabeledEdit;
89 DeltaYLabeledEdit: TLabeledEdit;
90 DeltaXUpDown: TUpDown;
91 DeltaYUpDown: TUpDown;
93 RespopupWaitLabeledEdit: TLabeledEdit;
94 RespopupWaitUpDown: TUpDown;
96 RespopupMailToCheckBox: TCheckBox;
97 procedure OkBottonClick(Sender: TObject);
98 procedure FormCreate(Sender: TObject);
99 procedure CDeleteButtonClick(Sender: TObject);
100 procedure CAddButtonClick(Sender: TObject);
101 procedure BAddButtonClick(Sender: TObject);
102 procedure BDeleteButtonClick(Sender: TObject);
103 procedure CUpButtonClick(Sender: TObject);
104 procedure CDownButtonClick(Sender: TObject);
105 procedure BUpButtonClick(Sender: TObject);
106 procedure BDownButtonClick(Sender: TObject);
107 procedure MoveHistoryMaxEditExit(Sender: TObject);
108 procedure AHandredLabeledEditExit(Sender: TObject);
109 procedure ExtListLabeledEditExit(Sender: TObject);
110 procedure DeltaXLabeledEditExit(Sender: TObject);
111 procedure DeltaYLabeledEditExit(Sender: TObject);
112 procedure RespopupWaitLabeledEditExit(Sender: TObject);
116 procedure SaveSetting;
117 procedure RecvBufferSizeExit(Sender: TObject);
118 procedure PostTimeEditExit(Sender: TObject);
119 procedure PostTimeCheckBoxClick(Sender: TObject);
120 procedure SetColumnData();
121 procedure PostColumnData();
127 KuroutOption: TKuroutOption;
136 procedure TKuroutOption.SetValue;
138 //
\8eó
\90M
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
139 RecvBufferSize.Text := IntToStr(Gikosys.Setting.RecvBufferSize);
141 ProtocolCheckBox.Checked := GikoSys.Setting.Protocol;
142 //
\83v
\83\8d\83L
\83V
\90Ú
\91±HTTP1.1
\8eg
\97p
143 ProxyProtocolCheckBox.Checked := Gikosys.Setting.ProxyProtocol;
144 ReadTimeOut.Text := IntToStr(GikoSys.Setting.ReadTimeOut);
146 //
\8f\91\82«
\8d\9e\82Ý
\8e\9e\83}
\83V
\83\93\8e\9e\8aÔ
\8eg
\97p
\90Ý
\92è
147 PostTimeCheckBox.Checked := GikoSys.Setting.UseMachineTime;
148 PostTimeEdit.Text := IntToStr(GikoSys.Setting.TimeAdjustSec);
149 if GikoSys.Setting.TimeAdjust then
150 PutPostTimeRadioButton.Checked := True
152 BackPostTimeRadioButton.Checked := True;
156 PageControl1.ActivePageIndex := GikoSys.Setting.KuroutSettingTabIndex;
159 GengoSupport.Checked := GikoSys.Setting.GengoSupport;
161 LocalTrapAtt.Checked := GikoSys.Setting.LocalTrapAtt;
162 RemoteTrapAtt.Checked := GikoSys.Setting.RemoteTrapAtt;
164 FixedCookieEdit.Text := GikoSys.Setting.FixedCookie;
165 //
\83\8a\83\93\83N
\88Ú
\93®
\97\9a\97ð
166 MoveHistoryMaxEdit.Text := IntToStr( GikoSys.Setting.MoveHistorySize );
167 //
\81@
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94
168 AHandredUpDown.Position := GikoSys.Setting.HeadResCount;
169 //
\8aÖ
\98A
\83L
\81[
\83\8f\81[
\83h
\92Ç
\89Á
\83t
\83\89\83O
170 AddKeywordCheckBox.Checked := GikoSys.Setting.AddKeywordLink;
171 //
\8cë
\94½
\89\9e\91Î
\8dô
172 ReplaceDatCheckBox.Checked := GikoSys.Setting.ReplaceDat;
173 SentIniFileSizeUpDown.Position := GikoSys.Setting.SentIniFileSize;
174 ExtListLabeledEdit.Text := GikoSys.Setting.ExtList;
175 // Folder.idx
\93Ç
\82Ý
\8d\9e\82Ý
\8e\9edat
\83`
\83F
\83b
\83N
176 CheckDatFileCheckBox.Checked := GikoSys.Setting.CheckDatFile;
177 DeltaXUpDown.Position := GikoSys.Setting.RespopupDeltaX;
178 DeltaYUpDown.Position := GikoSys.Setting.RespopupDeltaY;
179 RespopupWaitUpDown.Position := GikoSys.Setting.RespopupWait;
180 RespopupMailToCheckBox.Checked := GikoSys.Setting.RespopupMailTo;
183 procedure TKuroutOption.SaveSetting;
185 //
\8eó
\90M
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
186 Gikosys.Setting.RecvBufferSize := StrToIntDef(RecvBufferSize.Text, Gikosys.Setting.RecvBufferSize);
187 GikoSys.Setting.ReadTimeOut := StrToIntDef(ReadTimeOut.Text, GikoSys.Setting.ReadTimeOut);
189 GikoSys.Setting.Protocol := ProtocolCheckBox.Checked;
190 //
\83v
\83\8d\83L
\83V
\90Ú
\91±HTTP1.1
\8eg
\97p
191 Gikosys.Setting.ProxyProtocol := ProxyProtocolCheckBox.Checked;
192 //
\8f\91\82«
\8d\9e\82Ý
\8e\9e\83}
\83V
\83\93\8e\9e\8aÔ
\8eg
\97p
\90Ý
\92è
193 GikoSys.Setting.UseMachineTime := PostTimeCheckBox.Checked;
194 if GikoSys.IsNumeric(PostTimeEdit.Text) then
195 GikoSys.Setting.TimeAdjustSec := StrToIntDef(PostTimeEdit.Text, GikoSys.Setting.TimeAdjustSec)
197 GikoSys.Setting.TimeAdjustSec := 0;
198 GikoSys.Setting.TimeAdjust := PutPostTimeRadioButton.Checked;
199 //2ch
\8c¾
\8cê
\83T
\83|
\81[
\83g
200 GikoSys.Setting.GengoSupport := GengoSupport.Checked;
201 GikoSys.SetGikoMessage;
202 //
\83\8d\81[
\83J
\83\8b\81E
\83\8a\83\82\81[
\83g̼±Å
\8cx
\8d\90
203 GikoSys.Setting.LocalTrapAtt := LocalTrapAtt.Checked;
204 GikoSys.Setting.RemoteTrapAtt := RemoteTrapAtt.Checked;
206 GikoSys.Setting.FixedCookie := FixedCookieEdit.Text;
208 //
\83\8a\83\93\83N
\88Ú
\93®
\97\9a\97ð
209 GikoSys.Setting.MoveHistorySize :=
210 StrToIntDef( MoveHistoryMaxEdit.Text, 20 );
212 //
\81@
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94
213 GikoSys.Setting.HeadResCount :=
214 StrToIntDef( AHandredLabeledEdit.Text , 1);
216 GikoSys.Setting.KuroutSettingTabIndex := PageControl1.ActivePageIndex;
217 //
\8aÖ
\98A
\83L
\81[
\83\8f\81[
\83h
\92Ç
\89Á
\83t
\83\89\83O
218 GikoSys.Setting.AddKeywordLink := AddKeywordCheckBox.Checked;
219 //
\8cë
\94½
\89\9e\91Î
\8dô
220 GikoSys.Setting.ReplaceDat := ReplaceDatCheckBox.Checked;
221 GikoSys.Setting.SentIniFileSize := SentIniFileSizeUpDown.Position;
222 GikoSys.Setting.ExtList := ExtListLabeledEdit.Text;
223 // Folder.idx
\93Ç
\82Ý
\8d\9e\82Ý
\8e\9edat
\83`
\83F
\83b
\83N
224 GikoSys.Setting.CheckDatFile := CheckDatFileCheckBox.Checked;
226 GikoSys.Setting.RespopupDeltaX := StrToInt(DeltaXLabeledEdit.Text);
227 GikoSys.Setting.RespopupDeltaY := StrToInt(DeltaYLabeledEdit.Text);
228 GikoSys.Setting.RespopupWait := StrToInt(RespopupWaitLabeledEdit.Text);
229 GikoForm.ResPopupClearTimer.Interval := GikoSys.Setting.RespopupWait;
230 GikoSys.Setting.RespopupMailTo := RespopupMailToCheckBox.Checked;
233 procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject);
235 if not GikoSys.IsNumeric(RecvBufferSize.Text) then
236 RecvBufferSize.Text := '4096';
237 if StrToInt(RecvBufferSize.Text) < 256 then
238 RecvBufferSize.Text := '4096';
241 procedure TKuroutOption.PostTimeEditExit(Sender: TObject);
243 if not GikoSys.IsNumeric(PostTimeEdit.Text) then
244 PostTimeEdit.Text := '0';
247 procedure TKuroutOption.PostTimeCheckBoxClick(Sender: TObject);
249 PostTimeLabel.Enabled := PostTimeCheckBox.Checked;
250 PostTimeEdit.Enabled := PostTimeCheckBox.Checked;
251 PutPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
252 BackPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
255 procedure TKuroutOption.OkBottonClick(Sender: TObject);
257 RecvBufferSizeExit(Sender);
258 PostTimeEditExit(Sender);
259 MoveHistoryMaxEditExit(Sender);
260 AHandredLabeledEditExit(Sender);
261 ExtListLabeledEditExit(Sender);
262 DeltaXLabeledEditExit(Sender);
263 DeltaYLabeledEditExit(Sender);
264 RespopupWaitLabeledEditExit(Sender);
269 procedure TKuroutOption.FormCreate(Sender: TObject);
272 PostTimeCheckBoxClick(Sender);
275 procedure TKuroutOption.SetColumnData();
281 //=====
\94Â
\83\8a\83X
\83g =====
282 for i := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
283 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
284 if GikoSys.Setting.CategoryColumnOrder[ i ] = TGikoCategoryColumnID( j ) then begin
285 CVisibledListBox.AddItem(GikoCategoryColumnCaption[ j ], nil);
291 for i := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
293 for j := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
294 if GikoSys.Setting.CategoryColumnOrder[ j ] = TGikoCategoryColumnID( i ) then begin
300 CUnVisibledListBox.AddItem(GikoCategoryColumnCaption[ i ], nil);
303 //=====
\83X
\83\8c\83\8a\83X
\83g =====
304 for i := 0 to GikoSys.Setting.BoardColumnOrder.Count - 1 do begin
305 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
306 if GikoSys.Setting.BoardColumnOrder[ i ] = TGikoBoardColumnID( j ) then begin
307 BVisibledListBox.AddItem(GikoBoardColumnCaption[ j ], nil);
313 for i := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
315 for j := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 0 do begin
316 if GikoSys.Setting.BoardColumnOrder[ j ] = TGikoBoardColumnID( i ) then begin
322 BUnVisibledListBox.AddItem(GikoBoardColumnCaption[ i ], nil);
326 procedure TKuroutOption.CDeleteButtonClick(Sender: TObject);
330 for i := 0 to CVisibledListBox.Count - 1 do begin
331 if CVisibledListBox.Selected[i] then begin
332 CUnVisibledListBox.AddItem( CVisibledListBox.Items.Strings[ i ], nil);
333 CVisibledListBox.DeleteSelected;
339 procedure TKuroutOption.CAddButtonClick(Sender: TObject);
343 for i := 0 to CUnVisibledListBox.Count - 1 do begin
344 if CUnVisibledListBox.Selected[i] then begin
345 CVisibledListBox.AddItem( CUnVisibledListBox.Items.Strings[ i ], nil);
346 CUnVisibledListBox.DeleteSelected;
352 procedure TKuroutOption.BAddButtonClick(Sender: TObject);
356 for i := 0 to BUnVisibledListBox.Count - 1 do begin
357 if BUnVisibledListBox.Selected[i] then begin
358 BVisibledListBox.AddItem( BUnVisibledListBox.Items.Strings[ i ], nil);
359 BUnVisibledListBox.DeleteSelected;
365 procedure TKuroutOption.BDeleteButtonClick(Sender: TObject);
369 for i := 0 to BVisibledListBox.Count - 1 do begin
370 if BVisibledListBox.Selected[i] then begin
371 BUnVisibledListBox.AddItem( BVisibledListBox.Items.Strings[ i ], nil);
372 BVisibledListBox.DeleteSelected;
378 procedure TKuroutOption.CUpButtonClick(Sender: TObject);
382 for i := 1 to CVisibledListBox.Count - 1 do begin
383 if CVisibledListBox.Selected[i] then begin
384 CVisibledListBox.Items.Exchange(i, i -1);
390 procedure TKuroutOption.CDownButtonClick(Sender: TObject);
394 for i := 0 to CVisibledListBox.Count - 2 do begin
395 if CVisibledListBox.Selected[i] then begin
396 CVisibledListBox.Items.Exchange(i, i + 1);
402 procedure TKuroutOption.BUpButtonClick(Sender: TObject);
406 for i := 1 to BVisibledListBox.Count - 1 do begin
407 if BVisibledListBox.Selected[i] then begin
408 BVisibledListBox.Items.Exchange(i, i -1);
414 procedure TKuroutOption.BDownButtonClick(Sender: TObject);
418 for i := 0 to BVisibledListBox.Count - 2 do begin
419 if BVisibledListBox.Selected[i] then begin
420 BVisibledListBox.Items.Exchange(i, i + 1);
427 procedure TKuroutOption.PostColumnData();
431 GikoForm.ActiveListColumnSave;
433 //=====
\94Â
\83\8a\83X
\83g =====
434 for i := GikoSys.Setting.CategoryColumnOrder.Count -1 downto 1 do
435 GikoSys.Setting.CategoryColumnOrder.Delete(i);
437 for i := 0 to CVisibledListBox.Count - 1 do begin
438 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
439 if CVisibledListBox.Items.Strings[ i ] = GikoCategoryColumnCaption[ j ] then begin
440 GikoSys.Setting.CategoryColumnOrder.Add( TGikoCategoryColumnID(j) );
446 //=====
\83X
\83\8c\83\8a\83X
\83g =====
447 for i := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 1 do
448 GikoSys.Setting.BoardColumnOrder.Delete(i);
450 for i := 0 to BVisibledListBox.Count - 1 do begin
451 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
452 if BVisibledListBox.Items.Strings[ i ] = GikoBoardColumnCaption[ j ] then begin
453 GikoSys.Setting.BoardColumnOrder.Add( TGikoBoardColumnID(j) );
458 //
\83X
\83\8c\88ê
\97\97\82Ì
\95`
\89æ
\82Ì
\8dX
\90V
459 GikoForm.SetActiveList(GikoForm.ActiveList);
461 //
\83\8a\83\93\83N
\88Ú
\93®
\97\9a\97ð
\82Ì
\95Ò
\8fW
\8cã
\82Ì
\90Ý
\92è
\95¶
\8e\9a\97ñ
\83`
\83F
\83b
\83N
462 procedure TKuroutOption.MoveHistoryMaxEditExit(Sender: TObject);
464 if not GikoSys.IsNumeric(MoveHistoryMaxEdit.Text) then
465 MoveHistoryMaxEdit.Text := '20';
466 if StrToInt(MoveHistoryMaxEdit.Text) < 1 then
467 MoveHistoryMaxEdit.Text := '1';
469 //
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94\82Ì
\95Ò
\8fW
\8cã
\82Ì
\90Ý
\92è
\95¶
\8e\9a\97ñ
\83`
\83F
\83b
\83N
470 procedure TKuroutOption.AHandredLabeledEditExit(Sender: TObject);
472 if not GikoSys.IsNumeric(AHandredLabeledEdit.Text) then
473 AHandredLabeledEdit.Text := '1';
474 if StrToInt(AHandredLabeledEdit.Text) < 1 then
475 AHandredLabeledEdit.Text := '1';
479 procedure TKuroutOption.ExtListLabeledEditExit(Sender: TObject);
481 if AnsiEndsStr(';', ExtListLabeledEdit.Text) then begin
482 ExtListLabeledEdit.Text :=
483 Copy(ExtListLabeledEdit.Text, 0,
484 Length(ExtListLabeledEdit.Text) - 1);
487 //
\83\8c\83X
\83|
\83b
\83v
\83A
\83b
\83v
\88Ê
\92uX
488 procedure TKuroutOption.DeltaXLabeledEditExit(Sender: TObject);
490 if not GikoSys.IsNumeric(DeltaXLabeledEdit.Text) then
491 DeltaXLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupDeltaX);
492 if StrToInt(DeltaXLabeledEdit.Text) < DeltaXUpDown.Min then
493 DeltaXLabeledEdit.Text := IntToStr(DeltaXUpDown.Min);
494 if StrToInt(DeltaXLabeledEdit.Text) > DeltaXUpDown.Max then
495 DeltaXLabeledEdit.Text:= IntToStr(DeltaXUpDown.Max);
497 //
\83\8c\83X
\83|
\83b
\83v
\83A
\83b
\83v
\88Ê
\92uY
498 procedure TKuroutOption.DeltaYLabeledEditExit(Sender: TObject);
500 if not GikoSys.IsNumeric(DeltaYLabeledEdit.Text) then
501 DeltaYLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupDeltaY);
502 if StrToInt(DeltaYLabeledEdit.Text) < DeltaYUpDown.Min then
503 DeltaYLabeledEdit.Text := IntToStr(DeltaYUpDown.Min);
504 if StrToInt(DeltaYLabeledEdit.Text) > DeltaYUpDown.Max then
505 DeltaYLabeledEdit.Text := IntToStr(DeltaYUpDown.Max);
508 procedure TKuroutOption.RespopupWaitLabeledEditExit(Sender: TObject);
510 if not GikoSys.IsNumeric(RespopupWaitLabeledEdit.Text) then
511 RespopupWaitLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupWait);
512 if StrToInt(RespopupWaitLabeledEdit.Text) < RespopupWaitUpDown.Min then
513 RespopupWaitLabeledEdit.Text := IntToStr(RespopupWaitUpDown.Min);
514 if StrToInt(RespopupWaitLabeledEdit.Text) > RespopupWaitUpDown.Max then
515 RespopupWaitLabeledEdit.Text := IntToStr(RespopupWaitUpDown.Max);