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 procedure OkBottonClick(Sender: TObject);
100 procedure FormCreate(Sender: TObject);
101 procedure CDeleteButtonClick(Sender: TObject);
102 procedure CAddButtonClick(Sender: TObject);
103 procedure BAddButtonClick(Sender: TObject);
104 procedure BDeleteButtonClick(Sender: TObject);
105 procedure CUpButtonClick(Sender: TObject);
106 procedure CDownButtonClick(Sender: TObject);
107 procedure BUpButtonClick(Sender: TObject);
108 procedure BDownButtonClick(Sender: TObject);
109 procedure MoveHistoryMaxEditExit(Sender: TObject);
110 procedure AHandredLabeledEditExit(Sender: TObject);
111 procedure ExtListLabeledEditExit(Sender: TObject);
112 procedure DeltaXLabeledEditExit(Sender: TObject);
113 procedure DeltaYLabeledEditExit(Sender: TObject);
114 procedure RespopupWaitLabeledEditExit(Sender: TObject);
115 procedure ResRangeLabeledEditExit(Sender: TObject);
119 procedure SaveSetting;
120 procedure RecvBufferSizeExit(Sender: TObject);
121 procedure PostTimeEditExit(Sender: TObject);
122 procedure PostTimeCheckBoxClick(Sender: TObject);
123 procedure SetColumnData();
124 procedure PostColumnData();
130 KuroutOption: TKuroutOption;
139 procedure TKuroutOption.SetValue;
141 //
\8eó
\90M
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
142 RecvBufferSize.Text := IntToStr(Gikosys.Setting.RecvBufferSize);
144 ProtocolCheckBox.Checked := GikoSys.Setting.Protocol;
145 //
\83v
\83\8d\83L
\83V
\90Ú
\91±HTTP1.1
\8eg
\97p
146 ProxyProtocolCheckBox.Checked := Gikosys.Setting.ProxyProtocol;
147 ReadTimeOut.Text := IntToStr(GikoSys.Setting.ReadTimeOut);
149 //
\8f\91\82«
\8d\9e\82Ý
\8e\9e\83}
\83V
\83\93\8e\9e\8aÔ
\8eg
\97p
\90Ý
\92è
150 PostTimeCheckBox.Checked := GikoSys.Setting.UseMachineTime;
151 PostTimeEdit.Text := IntToStr(GikoSys.Setting.TimeAdjustSec);
152 if GikoSys.Setting.TimeAdjust then
153 PutPostTimeRadioButton.Checked := True
155 BackPostTimeRadioButton.Checked := True;
159 PageControl1.ActivePageIndex := GikoSys.Setting.KuroutSettingTabIndex;
162 GengoSupport.Checked := GikoSys.Setting.GengoSupport;
164 LocalTrapAtt.Checked := GikoSys.Setting.LocalTrapAtt;
165 RemoteTrapAtt.Checked := GikoSys.Setting.RemoteTrapAtt;
167 FixedCookieEdit.Text := GikoSys.Setting.FixedCookie;
168 //
\83\8a\83\93\83N
\88Ú
\93®
\97\9a\97ð
169 MoveHistoryMaxEdit.Text := IntToStr( GikoSys.Setting.MoveHistorySize );
170 //
\81@
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94
171 AHandredUpDown.Position := GikoSys.Setting.HeadResCount;
172 //
\95\
\8e¦
\83\8c\83X
\90\94
173 ResRangeCountUpDown.Position := GikoSys.Setting.ResRangeExCount;
174 //
\8aÖ
\98A
\83L
\81[
\83\8f\81[
\83h
\92Ç
\89Á
\83t
\83\89\83O
175 AddKeywordCheckBox.Checked := GikoSys.Setting.AddKeywordLink;
176 //
\8cë
\94½
\89\9e\91Î
\8dô
177 ReplaceDatCheckBox.Checked := GikoSys.Setting.ReplaceDat;
178 SentIniFileSizeUpDown.Position := GikoSys.Setting.SentIniFileSize;
179 ExtListLabeledEdit.Text := GikoSys.Setting.ExtList;
180 // Folder.idx
\93Ç
\82Ý
\8d\9e\82Ý
\8e\9edat
\83`
\83F
\83b
\83N
181 CheckDatFileCheckBox.Checked := GikoSys.Setting.CheckDatFile;
182 DeltaXUpDown.Position := GikoSys.Setting.RespopupDeltaX;
183 DeltaYUpDown.Position := GikoSys.Setting.RespopupDeltaY;
184 RespopupWaitUpDown.Position := GikoSys.Setting.RespopupWait;
185 RespopupMailToCheckBox.Checked := GikoSys.Setting.RespopupMailTo;
188 procedure TKuroutOption.SaveSetting;
190 //
\8eó
\90M
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
191 Gikosys.Setting.RecvBufferSize := StrToIntDef(RecvBufferSize.Text, Gikosys.Setting.RecvBufferSize);
192 GikoSys.Setting.ReadTimeOut := StrToIntDef(ReadTimeOut.Text, GikoSys.Setting.ReadTimeOut);
194 GikoSys.Setting.Protocol := ProtocolCheckBox.Checked;
195 //
\83v
\83\8d\83L
\83V
\90Ú
\91±HTTP1.1
\8eg
\97p
196 Gikosys.Setting.ProxyProtocol := ProxyProtocolCheckBox.Checked;
197 //
\8f\91\82«
\8d\9e\82Ý
\8e\9e\83}
\83V
\83\93\8e\9e\8aÔ
\8eg
\97p
\90Ý
\92è
198 GikoSys.Setting.UseMachineTime := PostTimeCheckBox.Checked;
199 if GikoSys.IsNumeric(PostTimeEdit.Text) then
200 GikoSys.Setting.TimeAdjustSec := StrToIntDef(PostTimeEdit.Text, GikoSys.Setting.TimeAdjustSec)
202 GikoSys.Setting.TimeAdjustSec := 0;
203 GikoSys.Setting.TimeAdjust := PutPostTimeRadioButton.Checked;
204 //2ch
\8c¾
\8cê
\83T
\83|
\81[
\83g
205 GikoSys.Setting.GengoSupport := GengoSupport.Checked;
206 GikoSys.SetGikoMessage;
207 //
\83\8d\81[
\83J
\83\8b\81E
\83\8a\83\82\81[
\83g̼±Å
\8cx
\8d\90
208 GikoSys.Setting.LocalTrapAtt := LocalTrapAtt.Checked;
209 GikoSys.Setting.RemoteTrapAtt := RemoteTrapAtt.Checked;
211 GikoSys.Setting.FixedCookie := FixedCookieEdit.Text;
213 //
\83\8a\83\93\83N
\88Ú
\93®
\97\9a\97ð
214 GikoSys.Setting.MoveHistorySize :=
215 StrToIntDef( MoveHistoryMaxEdit.Text, 20 );
217 //
\81@
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94
218 GikoSys.Setting.HeadResCount :=
219 StrToIntDef( AHandredLabeledEdit.Text , 1);
220 GikoSys.Setting.ResRangeExCount :=
221 StrToIntDef( ResRangeLabeledEdit.Text , 100 );
222 GikoSys.Setting.KuroutSettingTabIndex := PageControl1.ActivePageIndex;
223 //
\8aÖ
\98A
\83L
\81[
\83\8f\81[
\83h
\92Ç
\89Á
\83t
\83\89\83O
224 GikoSys.Setting.AddKeywordLink := AddKeywordCheckBox.Checked;
225 //
\8cë
\94½
\89\9e\91Î
\8dô
226 GikoSys.Setting.ReplaceDat := ReplaceDatCheckBox.Checked;
227 GikoSys.Setting.SentIniFileSize := SentIniFileSizeUpDown.Position;
228 GikoSys.Setting.ExtList := ExtListLabeledEdit.Text;
229 // Folder.idx
\93Ç
\82Ý
\8d\9e\82Ý
\8e\9edat
\83`
\83F
\83b
\83N
230 GikoSys.Setting.CheckDatFile := CheckDatFileCheckBox.Checked;
232 GikoSys.Setting.RespopupDeltaX := StrToInt(DeltaXLabeledEdit.Text);
233 GikoSys.Setting.RespopupDeltaY := StrToInt(DeltaYLabeledEdit.Text);
234 GikoSys.Setting.RespopupWait := StrToInt(RespopupWaitLabeledEdit.Text);
235 GikoForm.ResPopupClearTimer.Interval := GikoSys.Setting.RespopupWait;
236 GikoSys.Setting.RespopupMailTo := RespopupMailToCheckBox.Checked;
239 procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject);
241 if not GikoSys.IsNumeric(RecvBufferSize.Text) then
242 RecvBufferSize.Text := '4096';
243 if StrToInt(RecvBufferSize.Text) < 256 then
244 RecvBufferSize.Text := '4096';
247 procedure TKuroutOption.PostTimeEditExit(Sender: TObject);
249 if not GikoSys.IsNumeric(PostTimeEdit.Text) then
250 PostTimeEdit.Text := '0';
253 procedure TKuroutOption.PostTimeCheckBoxClick(Sender: TObject);
255 PostTimeLabel.Enabled := PostTimeCheckBox.Checked;
256 PostTimeEdit.Enabled := PostTimeCheckBox.Checked;
257 PutPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
258 BackPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
261 procedure TKuroutOption.OkBottonClick(Sender: TObject);
263 RecvBufferSizeExit(Sender);
264 PostTimeEditExit(Sender);
265 MoveHistoryMaxEditExit(Sender);
266 AHandredLabeledEditExit(Sender);
267 ExtListLabeledEditExit(Sender);
268 DeltaXLabeledEditExit(Sender);
269 DeltaYLabeledEditExit(Sender);
270 RespopupWaitLabeledEditExit(Sender);
275 procedure TKuroutOption.FormCreate(Sender: TObject);
278 PostTimeCheckBoxClick(Sender);
281 procedure TKuroutOption.SetColumnData();
287 //=====
\94Â
\83\8a\83X
\83g =====
288 for i := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
289 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
290 if GikoSys.Setting.CategoryColumnOrder[ i ] = TGikoCategoryColumnID( j ) then begin
291 CVisibledListBox.AddItem(GikoCategoryColumnCaption[ j ], nil);
297 for i := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
299 for j := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
300 if GikoSys.Setting.CategoryColumnOrder[ j ] = TGikoCategoryColumnID( i ) then begin
306 CUnVisibledListBox.AddItem(GikoCategoryColumnCaption[ i ], nil);
309 //=====
\83X
\83\8c\83\8a\83X
\83g =====
310 for i := 0 to GikoSys.Setting.BoardColumnOrder.Count - 1 do begin
311 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
312 if GikoSys.Setting.BoardColumnOrder[ i ] = TGikoBoardColumnID( j ) then begin
313 BVisibledListBox.AddItem(GikoBoardColumnCaption[ j ], nil);
319 for i := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
321 for j := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 0 do begin
322 if GikoSys.Setting.BoardColumnOrder[ j ] = TGikoBoardColumnID( i ) then begin
328 BUnVisibledListBox.AddItem(GikoBoardColumnCaption[ i ], nil);
332 procedure TKuroutOption.CDeleteButtonClick(Sender: TObject);
336 for i := 0 to CVisibledListBox.Count - 1 do begin
337 if CVisibledListBox.Selected[i] then begin
338 CUnVisibledListBox.AddItem( CVisibledListBox.Items.Strings[ i ], nil);
339 CVisibledListBox.DeleteSelected;
345 procedure TKuroutOption.CAddButtonClick(Sender: TObject);
349 for i := 0 to CUnVisibledListBox.Count - 1 do begin
350 if CUnVisibledListBox.Selected[i] then begin
351 CVisibledListBox.AddItem( CUnVisibledListBox.Items.Strings[ i ], nil);
352 CUnVisibledListBox.DeleteSelected;
358 procedure TKuroutOption.BAddButtonClick(Sender: TObject);
362 for i := 0 to BUnVisibledListBox.Count - 1 do begin
363 if BUnVisibledListBox.Selected[i] then begin
364 BVisibledListBox.AddItem( BUnVisibledListBox.Items.Strings[ i ], nil);
365 BUnVisibledListBox.DeleteSelected;
371 procedure TKuroutOption.BDeleteButtonClick(Sender: TObject);
375 for i := 0 to BVisibledListBox.Count - 1 do begin
376 if BVisibledListBox.Selected[i] then begin
377 BUnVisibledListBox.AddItem( BVisibledListBox.Items.Strings[ i ], nil);
378 BVisibledListBox.DeleteSelected;
384 procedure TKuroutOption.CUpButtonClick(Sender: TObject);
388 for i := 1 to CVisibledListBox.Count - 1 do begin
389 if CVisibledListBox.Selected[i] then begin
390 CVisibledListBox.Items.Exchange(i, i -1);
396 procedure TKuroutOption.CDownButtonClick(Sender: TObject);
400 for i := 0 to CVisibledListBox.Count - 2 do begin
401 if CVisibledListBox.Selected[i] then begin
402 CVisibledListBox.Items.Exchange(i, i + 1);
408 procedure TKuroutOption.BUpButtonClick(Sender: TObject);
412 for i := 1 to BVisibledListBox.Count - 1 do begin
413 if BVisibledListBox.Selected[i] then begin
414 BVisibledListBox.Items.Exchange(i, i -1);
420 procedure TKuroutOption.BDownButtonClick(Sender: TObject);
424 for i := 0 to BVisibledListBox.Count - 2 do begin
425 if BVisibledListBox.Selected[i] then begin
426 BVisibledListBox.Items.Exchange(i, i + 1);
433 procedure TKuroutOption.PostColumnData();
437 GikoForm.ActiveListColumnSave;
439 //=====
\94Â
\83\8a\83X
\83g =====
440 for i := GikoSys.Setting.CategoryColumnOrder.Count -1 downto 1 do
441 GikoSys.Setting.CategoryColumnOrder.Delete(i);
443 for i := 0 to CVisibledListBox.Count - 1 do begin
444 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
445 if CVisibledListBox.Items.Strings[ i ] = GikoCategoryColumnCaption[ j ] then begin
446 GikoSys.Setting.CategoryColumnOrder.Add( TGikoCategoryColumnID(j) );
452 //=====
\83X
\83\8c\83\8a\83X
\83g =====
453 for i := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 1 do
454 GikoSys.Setting.BoardColumnOrder.Delete(i);
456 for i := 0 to BVisibledListBox.Count - 1 do begin
457 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
458 if BVisibledListBox.Items.Strings[ i ] = GikoBoardColumnCaption[ j ] then begin
459 GikoSys.Setting.BoardColumnOrder.Add( TGikoBoardColumnID(j) );
464 //
\83X
\83\8c\88ê
\97\97\82Ì
\95`
\89æ
\82Ì
\8dX
\90V
465 GikoForm.SetActiveList(GikoForm.ActiveList);
467 //
\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
468 procedure TKuroutOption.MoveHistoryMaxEditExit(Sender: TObject);
470 if not GikoSys.IsNumeric(MoveHistoryMaxEdit.Text) then
471 MoveHistoryMaxEdit.Text := '20';
472 if StrToInt(MoveHistoryMaxEdit.Text) < 1 then
473 MoveHistoryMaxEdit.Text := '1';
475 //
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94\82Ì
\95Ò
\8fW
\8cã
\82Ì
\90Ý
\92è
\95¶
\8e\9a\97ñ
\83`
\83F
\83b
\83N
476 procedure TKuroutOption.AHandredLabeledEditExit(Sender: TObject);
478 if not GikoSys.IsNumeric(AHandredLabeledEdit.Text) then
479 AHandredLabeledEdit.Text := '1';
480 if StrToInt(AHandredLabeledEdit.Text) < 1 then
481 AHandredLabeledEdit.Text := '1';
485 procedure TKuroutOption.ExtListLabeledEditExit(Sender: TObject);
487 if AnsiEndsStr(';', ExtListLabeledEdit.Text) then begin
488 ExtListLabeledEdit.Text :=
489 Copy(ExtListLabeledEdit.Text, 0,
490 Length(ExtListLabeledEdit.Text) - 1);
493 //
\83\8c\83X
\83|
\83b
\83v
\83A
\83b
\83v
\88Ê
\92uX
494 procedure TKuroutOption.DeltaXLabeledEditExit(Sender: TObject);
496 if not GikoSys.IsNumeric(DeltaXLabeledEdit.Text) then
497 DeltaXLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupDeltaX);
498 if StrToInt(DeltaXLabeledEdit.Text) < DeltaXUpDown.Min then
499 DeltaXLabeledEdit.Text := IntToStr(DeltaXUpDown.Min);
500 if StrToInt(DeltaXLabeledEdit.Text) > DeltaXUpDown.Max then
501 DeltaXLabeledEdit.Text:= IntToStr(DeltaXUpDown.Max);
503 //
\83\8c\83X
\83|
\83b
\83v
\83A
\83b
\83v
\88Ê
\92uY
504 procedure TKuroutOption.DeltaYLabeledEditExit(Sender: TObject);
506 if not GikoSys.IsNumeric(DeltaYLabeledEdit.Text) then
507 DeltaYLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupDeltaY);
508 if StrToInt(DeltaYLabeledEdit.Text) < DeltaYUpDown.Min then
509 DeltaYLabeledEdit.Text := IntToStr(DeltaYUpDown.Min);
510 if StrToInt(DeltaYLabeledEdit.Text) > DeltaYUpDown.Max then
511 DeltaYLabeledEdit.Text := IntToStr(DeltaYUpDown.Max);
514 procedure TKuroutOption.RespopupWaitLabeledEditExit(Sender: TObject);
516 if not GikoSys.IsNumeric(RespopupWaitLabeledEdit.Text) then
517 RespopupWaitLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupWait);
518 if StrToInt(RespopupWaitLabeledEdit.Text) < RespopupWaitUpDown.Min then
519 RespopupWaitLabeledEdit.Text := IntToStr(RespopupWaitUpDown.Min);
520 if StrToInt(RespopupWaitLabeledEdit.Text) > RespopupWaitUpDown.Max then
521 RespopupWaitLabeledEdit.Text := IntToStr(RespopupWaitUpDown.Max);
524 procedure TKuroutOption.ResRangeLabeledEditExit(Sender: TObject);
526 if not GikoSys.IsNumeric(ResRangeLabeledEdit.Text) then
527 ResRangeLabeledEdit.Text := '100';
528 if StrToInt(ResRangeLabeledEdit.Text) < 100 then
529 ResRangeLabeledEdit.Text := '100';
530 if StrToInt(ResRangeLabeledEdit.Text) > 9999 then
531 ResRangeLabeledEdit.Text := '9999';