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 ResRangeLabeledEdit: TLabeledEdit;
98 ResRangeCountUpDown: TUpDown;
99 UseGobakuCheckBox: TCheckBox;
100 procedure OkBottonClick(Sender: TObject);
101 procedure FormCreate(Sender: TObject);
102 procedure CDeleteButtonClick(Sender: TObject);
103 procedure CAddButtonClick(Sender: TObject);
104 procedure BAddButtonClick(Sender: TObject);
105 procedure BDeleteButtonClick(Sender: TObject);
106 procedure CUpButtonClick(Sender: TObject);
107 procedure CDownButtonClick(Sender: TObject);
108 procedure BUpButtonClick(Sender: TObject);
109 procedure BDownButtonClick(Sender: TObject);
110 procedure MoveHistoryMaxEditExit(Sender: TObject);
111 procedure AHandredLabeledEditExit(Sender: TObject);
112 procedure ExtListLabeledEditExit(Sender: TObject);
113 procedure DeltaXLabeledEditExit(Sender: TObject);
114 procedure DeltaYLabeledEditExit(Sender: TObject);
115 procedure RespopupWaitLabeledEditExit(Sender: TObject);
116 procedure ResRangeLabeledEditExit(Sender: TObject);
120 procedure SaveSetting;
121 procedure RecvBufferSizeExit(Sender: TObject);
122 procedure PostTimeEditExit(Sender: TObject);
123 procedure PostTimeCheckBoxClick(Sender: TObject);
124 procedure SetColumnData();
125 procedure PostColumnData();
131 KuroutOption: TKuroutOption;
140 procedure TKuroutOption.SetValue;
142 //
\8eó
\90M
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
143 RecvBufferSize.Text := IntToStr(Gikosys.Setting.RecvBufferSize);
145 ProtocolCheckBox.Checked := GikoSys.Setting.Protocol;
146 //
\83v
\83\8d\83L
\83V
\90Ú
\91±HTTP1.1
\8eg
\97p
147 ProxyProtocolCheckBox.Checked := Gikosys.Setting.ProxyProtocol;
148 ReadTimeOut.Text := IntToStr(GikoSys.Setting.ReadTimeOut);
150 //
\8f\91\82«
\8d\9e\82Ý
\8e\9e\83}
\83V
\83\93\8e\9e\8aÔ
\8eg
\97p
\90Ý
\92è
151 PostTimeCheckBox.Checked := GikoSys.Setting.UseMachineTime;
152 PostTimeEdit.Text := IntToStr(GikoSys.Setting.TimeAdjustSec);
153 if GikoSys.Setting.TimeAdjust then
154 PutPostTimeRadioButton.Checked := True
156 BackPostTimeRadioButton.Checked := True;
160 PageControl1.ActivePageIndex := GikoSys.Setting.KuroutSettingTabIndex;
163 GengoSupport.Checked := GikoSys.Setting.GengoSupport;
165 LocalTrapAtt.Checked := GikoSys.Setting.LocalTrapAtt;
166 RemoteTrapAtt.Checked := GikoSys.Setting.RemoteTrapAtt;
168 FixedCookieEdit.Text := GikoSys.Setting.FixedCookie;
169 //
\83\8a\83\93\83N
\88Ú
\93®
\97\9a\97ð
170 MoveHistoryMaxEdit.Text := IntToStr( GikoSys.Setting.MoveHistorySize );
171 //
\81@
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94
172 AHandredUpDown.Position := GikoSys.Setting.HeadResCount;
173 //
\95\
\8e¦
\83\8c\83X
\90\94
174 ResRangeCountUpDown.Position := GikoSys.Setting.ResRangeExCount;
175 //
\8aÖ
\98A
\83L
\81[
\83\8f\81[
\83h
\92Ç
\89Á
\83t
\83\89\83O
176 AddKeywordCheckBox.Checked := GikoSys.Setting.AddKeywordLink;
177 //
\8cë
\94½
\89\9e\91Î
\8dô
178 ReplaceDatCheckBox.Checked := GikoSys.Setting.ReplaceDat;
179 SentIniFileSizeUpDown.Position := GikoSys.Setting.SentIniFileSize;
180 ExtListLabeledEdit.Text := GikoSys.Setting.ExtList;
181 // Folder.idx
\93Ç
\82Ý
\8d\9e\82Ý
\8e\9edat
\83`
\83F
\83b
\83N
182 CheckDatFileCheckBox.Checked := GikoSys.Setting.CheckDatFile;
183 DeltaXUpDown.Position := GikoSys.Setting.RespopupDeltaX;
184 DeltaYUpDown.Position := GikoSys.Setting.RespopupDeltaY;
185 RespopupWaitUpDown.Position := GikoSys.Setting.RespopupWait;
186 RespopupMailToCheckBox.Checked := GikoSys.Setting.RespopupMailTo;
187 //
\8cë
\94\9a\83`
\83F
\83b
\83N
188 UseGobakuCheckBox.Checked := GikoSys.Setting.UseGobakuCheck;
191 procedure TKuroutOption.SaveSetting;
193 //
\8eó
\90M
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
194 Gikosys.Setting.RecvBufferSize := StrToIntDef(RecvBufferSize.Text, Gikosys.Setting.RecvBufferSize);
195 GikoSys.Setting.ReadTimeOut := StrToIntDef(ReadTimeOut.Text, GikoSys.Setting.ReadTimeOut);
197 GikoSys.Setting.Protocol := ProtocolCheckBox.Checked;
198 //
\83v
\83\8d\83L
\83V
\90Ú
\91±HTTP1.1
\8eg
\97p
199 Gikosys.Setting.ProxyProtocol := ProxyProtocolCheckBox.Checked;
200 //
\8f\91\82«
\8d\9e\82Ý
\8e\9e\83}
\83V
\83\93\8e\9e\8aÔ
\8eg
\97p
\90Ý
\92è
201 GikoSys.Setting.UseMachineTime := PostTimeCheckBox.Checked;
202 if GikoSys.IsNumeric(PostTimeEdit.Text) then
203 GikoSys.Setting.TimeAdjustSec := StrToIntDef(PostTimeEdit.Text, GikoSys.Setting.TimeAdjustSec)
205 GikoSys.Setting.TimeAdjustSec := 0;
206 GikoSys.Setting.TimeAdjust := PutPostTimeRadioButton.Checked;
207 //2ch
\8c¾
\8cê
\83T
\83|
\81[
\83g
208 GikoSys.Setting.GengoSupport := GengoSupport.Checked;
209 GikoSys.SetGikoMessage;
210 //
\83\8d\81[
\83J
\83\8b\81E
\83\8a\83\82\81[
\83g̼±Å
\8cx
\8d\90
211 GikoSys.Setting.LocalTrapAtt := LocalTrapAtt.Checked;
212 GikoSys.Setting.RemoteTrapAtt := RemoteTrapAtt.Checked;
214 GikoSys.Setting.FixedCookie := FixedCookieEdit.Text;
216 //
\83\8a\83\93\83N
\88Ú
\93®
\97\9a\97ð
217 GikoSys.Setting.MoveHistorySize :=
218 StrToIntDef( MoveHistoryMaxEdit.Text, 20 );
220 //
\81@
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94
221 GikoSys.Setting.HeadResCount :=
222 StrToIntDef( AHandredLabeledEdit.Text , 1);
223 GikoSys.Setting.ResRangeExCount :=
224 StrToIntDef( ResRangeLabeledEdit.Text , 100 );
225 GikoSys.Setting.KuroutSettingTabIndex := PageControl1.ActivePageIndex;
226 //
\8aÖ
\98A
\83L
\81[
\83\8f\81[
\83h
\92Ç
\89Á
\83t
\83\89\83O
227 GikoSys.Setting.AddKeywordLink := AddKeywordCheckBox.Checked;
228 //
\8cë
\94½
\89\9e\91Î
\8dô
229 GikoSys.Setting.ReplaceDat := ReplaceDatCheckBox.Checked;
230 GikoSys.Setting.SentIniFileSize := SentIniFileSizeUpDown.Position;
231 GikoSys.Setting.ExtList := ExtListLabeledEdit.Text;
232 // Folder.idx
\93Ç
\82Ý
\8d\9e\82Ý
\8e\9edat
\83`
\83F
\83b
\83N
233 GikoSys.Setting.CheckDatFile := CheckDatFileCheckBox.Checked;
235 GikoSys.Setting.RespopupDeltaX := StrToInt(DeltaXLabeledEdit.Text);
236 GikoSys.Setting.RespopupDeltaY := StrToInt(DeltaYLabeledEdit.Text);
237 GikoSys.Setting.RespopupWait := StrToInt(RespopupWaitLabeledEdit.Text);
238 GikoForm.ResPopupClearTimer.Interval := GikoSys.Setting.RespopupWait;
239 GikoSys.Setting.RespopupMailTo := RespopupMailToCheckBox.Checked;
240 //
\8cë
\94\9a\83`
\83F
\83b
\83N
241 GikoSys.Setting.UseGobakuCheck := UseGobakuCheckBox.Checked;
245 procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject);
247 if not GikoSys.IsNumeric(RecvBufferSize.Text) then
248 RecvBufferSize.Text := '4096';
249 if StrToInt(RecvBufferSize.Text) < 256 then
250 RecvBufferSize.Text := '4096';
253 procedure TKuroutOption.PostTimeEditExit(Sender: TObject);
255 if not GikoSys.IsNumeric(PostTimeEdit.Text) then
256 PostTimeEdit.Text := '0';
259 procedure TKuroutOption.PostTimeCheckBoxClick(Sender: TObject);
261 PostTimeLabel.Enabled := PostTimeCheckBox.Checked;
262 PostTimeEdit.Enabled := PostTimeCheckBox.Checked;
263 PutPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
264 BackPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
267 procedure TKuroutOption.OkBottonClick(Sender: TObject);
269 RecvBufferSizeExit(Sender);
270 PostTimeEditExit(Sender);
271 MoveHistoryMaxEditExit(Sender);
272 AHandredLabeledEditExit(Sender);
273 ExtListLabeledEditExit(Sender);
274 DeltaXLabeledEditExit(Sender);
275 DeltaYLabeledEditExit(Sender);
276 RespopupWaitLabeledEditExit(Sender);
281 procedure TKuroutOption.FormCreate(Sender: TObject);
284 PostTimeCheckBoxClick(Sender);
287 procedure TKuroutOption.SetColumnData();
293 //=====
\94Â
\83\8a\83X
\83g =====
294 for i := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
295 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
296 if GikoSys.Setting.CategoryColumnOrder[ i ] = TGikoCategoryColumnID( j ) then begin
297 CVisibledListBox.AddItem(GikoCategoryColumnCaption[ j ], nil);
303 for i := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
305 for j := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
306 if GikoSys.Setting.CategoryColumnOrder[ j ] = TGikoCategoryColumnID( i ) then begin
312 CUnVisibledListBox.AddItem(GikoCategoryColumnCaption[ i ], nil);
315 //=====
\83X
\83\8c\83\8a\83X
\83g =====
316 for i := 0 to GikoSys.Setting.BoardColumnOrder.Count - 1 do begin
317 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
318 if GikoSys.Setting.BoardColumnOrder[ i ] = TGikoBoardColumnID( j ) then begin
319 BVisibledListBox.AddItem(GikoBoardColumnCaption[ j ], nil);
325 for i := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
327 for j := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 0 do begin
328 if GikoSys.Setting.BoardColumnOrder[ j ] = TGikoBoardColumnID( i ) then begin
334 BUnVisibledListBox.AddItem(GikoBoardColumnCaption[ i ], nil);
338 procedure TKuroutOption.CDeleteButtonClick(Sender: TObject);
342 for i := 0 to CVisibledListBox.Count - 1 do begin
343 if CVisibledListBox.Selected[i] then begin
344 CUnVisibledListBox.AddItem( CVisibledListBox.Items.Strings[ i ], nil);
345 CVisibledListBox.DeleteSelected;
351 procedure TKuroutOption.CAddButtonClick(Sender: TObject);
355 for i := 0 to CUnVisibledListBox.Count - 1 do begin
356 if CUnVisibledListBox.Selected[i] then begin
357 CVisibledListBox.AddItem( CUnVisibledListBox.Items.Strings[ i ], nil);
358 CUnVisibledListBox.DeleteSelected;
364 procedure TKuroutOption.BAddButtonClick(Sender: TObject);
368 for i := 0 to BUnVisibledListBox.Count - 1 do begin
369 if BUnVisibledListBox.Selected[i] then begin
370 BVisibledListBox.AddItem( BUnVisibledListBox.Items.Strings[ i ], nil);
371 BUnVisibledListBox.DeleteSelected;
377 procedure TKuroutOption.BDeleteButtonClick(Sender: TObject);
381 for i := 0 to BVisibledListBox.Count - 1 do begin
382 if BVisibledListBox.Selected[i] then begin
383 BUnVisibledListBox.AddItem( BVisibledListBox.Items.Strings[ i ], nil);
384 BVisibledListBox.DeleteSelected;
390 procedure TKuroutOption.CUpButtonClick(Sender: TObject);
394 for i := 1 to CVisibledListBox.Count - 1 do begin
395 if CVisibledListBox.Selected[i] then begin
396 CVisibledListBox.Items.Exchange(i, i -1);
402 procedure TKuroutOption.CDownButtonClick(Sender: TObject);
406 for i := 0 to CVisibledListBox.Count - 2 do begin
407 if CVisibledListBox.Selected[i] then begin
408 CVisibledListBox.Items.Exchange(i, i + 1);
414 procedure TKuroutOption.BUpButtonClick(Sender: TObject);
418 for i := 1 to BVisibledListBox.Count - 1 do begin
419 if BVisibledListBox.Selected[i] then begin
420 BVisibledListBox.Items.Exchange(i, i -1);
426 procedure TKuroutOption.BDownButtonClick(Sender: TObject);
430 for i := 0 to BVisibledListBox.Count - 2 do begin
431 if BVisibledListBox.Selected[i] then begin
432 BVisibledListBox.Items.Exchange(i, i + 1);
439 procedure TKuroutOption.PostColumnData();
443 GikoForm.ActiveListColumnSave;
445 //=====
\94Â
\83\8a\83X
\83g =====
446 for i := GikoSys.Setting.CategoryColumnOrder.Count -1 downto 1 do
447 GikoSys.Setting.CategoryColumnOrder.Delete(i);
449 for i := 0 to CVisibledListBox.Count - 1 do begin
450 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
451 if CVisibledListBox.Items.Strings[ i ] = GikoCategoryColumnCaption[ j ] then begin
452 GikoSys.Setting.CategoryColumnOrder.Add( TGikoCategoryColumnID(j) );
458 //=====
\83X
\83\8c\83\8a\83X
\83g =====
459 for i := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 1 do
460 GikoSys.Setting.BoardColumnOrder.Delete(i);
462 for i := 0 to BVisibledListBox.Count - 1 do begin
463 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
464 if BVisibledListBox.Items.Strings[ i ] = GikoBoardColumnCaption[ j ] then begin
465 GikoSys.Setting.BoardColumnOrder.Add( TGikoBoardColumnID(j) );
470 //
\83X
\83\8c\88ê
\97\97\82Ì
\95`
\89æ
\82Ì
\8dX
\90V
471 GikoForm.SetActiveList(GikoForm.ActiveList);
473 //
\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
474 procedure TKuroutOption.MoveHistoryMaxEditExit(Sender: TObject);
476 if not GikoSys.IsNumeric(MoveHistoryMaxEdit.Text) then
477 MoveHistoryMaxEdit.Text := '20';
478 if StrToInt(MoveHistoryMaxEdit.Text) < 1 then
479 MoveHistoryMaxEdit.Text := '1';
481 //
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94\82Ì
\95Ò
\8fW
\8cã
\82Ì
\90Ý
\92è
\95¶
\8e\9a\97ñ
\83`
\83F
\83b
\83N
482 procedure TKuroutOption.AHandredLabeledEditExit(Sender: TObject);
484 if not GikoSys.IsNumeric(AHandredLabeledEdit.Text) then
485 AHandredLabeledEdit.Text := '1';
486 if StrToInt(AHandredLabeledEdit.Text) < 1 then
487 AHandredLabeledEdit.Text := '1';
491 procedure TKuroutOption.ExtListLabeledEditExit(Sender: TObject);
493 if AnsiEndsStr(';', ExtListLabeledEdit.Text) then begin
494 ExtListLabeledEdit.Text :=
495 Copy(ExtListLabeledEdit.Text, 0,
496 Length(ExtListLabeledEdit.Text) - 1);
499 //
\83\8c\83X
\83|
\83b
\83v
\83A
\83b
\83v
\88Ê
\92uX
500 procedure TKuroutOption.DeltaXLabeledEditExit(Sender: TObject);
502 if not GikoSys.IsNumeric(DeltaXLabeledEdit.Text) then
503 DeltaXLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupDeltaX);
504 if StrToInt(DeltaXLabeledEdit.Text) < DeltaXUpDown.Min then
505 DeltaXLabeledEdit.Text := IntToStr(DeltaXUpDown.Min);
506 if StrToInt(DeltaXLabeledEdit.Text) > DeltaXUpDown.Max then
507 DeltaXLabeledEdit.Text:= IntToStr(DeltaXUpDown.Max);
509 //
\83\8c\83X
\83|
\83b
\83v
\83A
\83b
\83v
\88Ê
\92uY
510 procedure TKuroutOption.DeltaYLabeledEditExit(Sender: TObject);
512 if not GikoSys.IsNumeric(DeltaYLabeledEdit.Text) then
513 DeltaYLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupDeltaY);
514 if StrToInt(DeltaYLabeledEdit.Text) < DeltaYUpDown.Min then
515 DeltaYLabeledEdit.Text := IntToStr(DeltaYUpDown.Min);
516 if StrToInt(DeltaYLabeledEdit.Text) > DeltaYUpDown.Max then
517 DeltaYLabeledEdit.Text := IntToStr(DeltaYUpDown.Max);
520 procedure TKuroutOption.RespopupWaitLabeledEditExit(Sender: TObject);
522 if not GikoSys.IsNumeric(RespopupWaitLabeledEdit.Text) then
523 RespopupWaitLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupWait);
524 if StrToInt(RespopupWaitLabeledEdit.Text) < RespopupWaitUpDown.Min then
525 RespopupWaitLabeledEdit.Text := IntToStr(RespopupWaitUpDown.Min);
526 if StrToInt(RespopupWaitLabeledEdit.Text) > RespopupWaitUpDown.Max then
527 RespopupWaitLabeledEdit.Text := IntToStr(RespopupWaitUpDown.Max);
530 procedure TKuroutOption.ResRangeLabeledEditExit(Sender: TObject);
532 if not GikoSys.IsNumeric(ResRangeLabeledEdit.Text) then
533 ResRangeLabeledEdit.Text := '100';
534 if StrToInt(ResRangeLabeledEdit.Text) < 100 then
535 ResRangeLabeledEdit.Text := '100';
536 if StrToInt(ResRangeLabeledEdit.Text) > 9999 then
537 ResRangeLabeledEdit.Text := '9999';