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);
283 CenterForm: TCustomForm;
285 CenterForm := TCustomForm(Owner);
286 if Assigned(CenterForm) then begin
287 Left := ((CenterForm.Width - Width) div 2) + CenterForm.Left;
288 Top := ((CenterForm.Height - Height) div 2) + CenterForm.Top;
290 Left := (Screen.Width - Width) div 2;
291 Top := (Screen.Height - Height) div 2;
295 PostTimeCheckBoxClick(Sender);
298 procedure TKuroutOption.SetColumnData();
304 //=====
\94Â
\83\8a\83X
\83g =====
305 for i := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
306 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
307 if GikoSys.Setting.CategoryColumnOrder[ i ] = TGikoCategoryColumnID( j ) then begin
308 CVisibledListBox.AddItem(GikoCategoryColumnCaption[ j ], nil);
314 for i := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
316 for j := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
317 if GikoSys.Setting.CategoryColumnOrder[ j ] = TGikoCategoryColumnID( i ) then begin
323 CUnVisibledListBox.AddItem(GikoCategoryColumnCaption[ i ], nil);
326 //=====
\83X
\83\8c\83\8a\83X
\83g =====
327 for i := 0 to GikoSys.Setting.BoardColumnOrder.Count - 1 do begin
328 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
329 if GikoSys.Setting.BoardColumnOrder[ i ] = TGikoBoardColumnID( j ) then begin
330 BVisibledListBox.AddItem(GikoBoardColumnCaption[ j ], nil);
336 for i := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
338 for j := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 0 do begin
339 if GikoSys.Setting.BoardColumnOrder[ j ] = TGikoBoardColumnID( i ) then begin
345 BUnVisibledListBox.AddItem(GikoBoardColumnCaption[ i ], nil);
349 procedure TKuroutOption.CDeleteButtonClick(Sender: TObject);
353 for i := 0 to CVisibledListBox.Count - 1 do begin
354 if CVisibledListBox.Selected[i] then begin
355 CUnVisibledListBox.AddItem( CVisibledListBox.Items.Strings[ i ], nil);
356 CVisibledListBox.DeleteSelected;
362 procedure TKuroutOption.CAddButtonClick(Sender: TObject);
366 for i := 0 to CUnVisibledListBox.Count - 1 do begin
367 if CUnVisibledListBox.Selected[i] then begin
368 CVisibledListBox.AddItem( CUnVisibledListBox.Items.Strings[ i ], nil);
369 CUnVisibledListBox.DeleteSelected;
375 procedure TKuroutOption.BAddButtonClick(Sender: TObject);
379 for i := 0 to BUnVisibledListBox.Count - 1 do begin
380 if BUnVisibledListBox.Selected[i] then begin
381 BVisibledListBox.AddItem( BUnVisibledListBox.Items.Strings[ i ], nil);
382 BUnVisibledListBox.DeleteSelected;
388 procedure TKuroutOption.BDeleteButtonClick(Sender: TObject);
392 for i := 0 to BVisibledListBox.Count - 1 do begin
393 if BVisibledListBox.Selected[i] then begin
394 BUnVisibledListBox.AddItem( BVisibledListBox.Items.Strings[ i ], nil);
395 BVisibledListBox.DeleteSelected;
401 procedure TKuroutOption.CUpButtonClick(Sender: TObject);
405 for i := 1 to CVisibledListBox.Count - 1 do begin
406 if CVisibledListBox.Selected[i] then begin
407 CVisibledListBox.Items.Exchange(i, i -1);
413 procedure TKuroutOption.CDownButtonClick(Sender: TObject);
417 for i := 0 to CVisibledListBox.Count - 2 do begin
418 if CVisibledListBox.Selected[i] then begin
419 CVisibledListBox.Items.Exchange(i, i + 1);
425 procedure TKuroutOption.BUpButtonClick(Sender: TObject);
429 for i := 1 to BVisibledListBox.Count - 1 do begin
430 if BVisibledListBox.Selected[i] then begin
431 BVisibledListBox.Items.Exchange(i, i -1);
437 procedure TKuroutOption.BDownButtonClick(Sender: TObject);
441 for i := 0 to BVisibledListBox.Count - 2 do begin
442 if BVisibledListBox.Selected[i] then begin
443 BVisibledListBox.Items.Exchange(i, i + 1);
450 procedure TKuroutOption.PostColumnData();
454 GikoForm.ActiveListColumnSave;
456 //=====
\94Â
\83\8a\83X
\83g =====
457 for i := GikoSys.Setting.CategoryColumnOrder.Count -1 downto 1 do
458 GikoSys.Setting.CategoryColumnOrder.Delete(i);
460 for i := 0 to CVisibledListBox.Count - 1 do begin
461 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
462 if CVisibledListBox.Items.Strings[ i ] = GikoCategoryColumnCaption[ j ] then begin
463 GikoSys.Setting.CategoryColumnOrder.Add( TGikoCategoryColumnID(j) );
469 //=====
\83X
\83\8c\83\8a\83X
\83g =====
470 for i := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 1 do
471 GikoSys.Setting.BoardColumnOrder.Delete(i);
473 for i := 0 to BVisibledListBox.Count - 1 do begin
474 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
475 if BVisibledListBox.Items.Strings[ i ] = GikoBoardColumnCaption[ j ] then begin
476 GikoSys.Setting.BoardColumnOrder.Add( TGikoBoardColumnID(j) );
481 //
\83X
\83\8c\88ê
\97\97\82Ì
\95`
\89æ
\82Ì
\8dX
\90V
482 GikoForm.SetActiveList(GikoForm.ActiveList);
484 //
\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
485 procedure TKuroutOption.MoveHistoryMaxEditExit(Sender: TObject);
487 if not GikoSys.IsNumeric(MoveHistoryMaxEdit.Text) then
488 MoveHistoryMaxEdit.Text := '20';
489 if StrToInt(MoveHistoryMaxEdit.Text) < 1 then
490 MoveHistoryMaxEdit.Text := '1';
492 //
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94\82Ì
\95Ò
\8fW
\8cã
\82Ì
\90Ý
\92è
\95¶
\8e\9a\97ñ
\83`
\83F
\83b
\83N
493 procedure TKuroutOption.AHandredLabeledEditExit(Sender: TObject);
495 if not GikoSys.IsNumeric(AHandredLabeledEdit.Text) then
496 AHandredLabeledEdit.Text := '1';
497 if StrToInt(AHandredLabeledEdit.Text) < 1 then
498 AHandredLabeledEdit.Text := '1';
502 procedure TKuroutOption.ExtListLabeledEditExit(Sender: TObject);
504 if AnsiEndsStr(';', ExtListLabeledEdit.Text) then begin
505 ExtListLabeledEdit.Text :=
506 Copy(ExtListLabeledEdit.Text, 0,
507 Length(ExtListLabeledEdit.Text) - 1);
510 //
\83\8c\83X
\83|
\83b
\83v
\83A
\83b
\83v
\88Ê
\92uX
511 procedure TKuroutOption.DeltaXLabeledEditExit(Sender: TObject);
513 if not GikoSys.IsNumeric(DeltaXLabeledEdit.Text) then
514 DeltaXLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupDeltaX);
515 if StrToInt(DeltaXLabeledEdit.Text) < DeltaXUpDown.Min then
516 DeltaXLabeledEdit.Text := IntToStr(DeltaXUpDown.Min);
517 if StrToInt(DeltaXLabeledEdit.Text) > DeltaXUpDown.Max then
518 DeltaXLabeledEdit.Text:= IntToStr(DeltaXUpDown.Max);
520 //
\83\8c\83X
\83|
\83b
\83v
\83A
\83b
\83v
\88Ê
\92uY
521 procedure TKuroutOption.DeltaYLabeledEditExit(Sender: TObject);
523 if not GikoSys.IsNumeric(DeltaYLabeledEdit.Text) then
524 DeltaYLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupDeltaY);
525 if StrToInt(DeltaYLabeledEdit.Text) < DeltaYUpDown.Min then
526 DeltaYLabeledEdit.Text := IntToStr(DeltaYUpDown.Min);
527 if StrToInt(DeltaYLabeledEdit.Text) > DeltaYUpDown.Max then
528 DeltaYLabeledEdit.Text := IntToStr(DeltaYUpDown.Max);
531 procedure TKuroutOption.RespopupWaitLabeledEditExit(Sender: TObject);
533 if not GikoSys.IsNumeric(RespopupWaitLabeledEdit.Text) then
534 RespopupWaitLabeledEdit.Text := IntToStr(GikoSys.Setting.RespopupWait);
535 if StrToInt(RespopupWaitLabeledEdit.Text) < RespopupWaitUpDown.Min then
536 RespopupWaitLabeledEdit.Text := IntToStr(RespopupWaitUpDown.Min);
537 if StrToInt(RespopupWaitLabeledEdit.Text) > RespopupWaitUpDown.Max then
538 RespopupWaitLabeledEdit.Text := IntToStr(RespopupWaitUpDown.Max);
541 procedure TKuroutOption.ResRangeLabeledEditExit(Sender: TObject);
543 if not GikoSys.IsNumeric(ResRangeLabeledEdit.Text) then
544 ResRangeLabeledEdit.Text := '100';
545 if StrToInt(ResRangeLabeledEdit.Text) < 100 then
546 ResRangeLabeledEdit.Text := '100';
547 if StrToInt(ResRangeLabeledEdit.Text) > 9999 then
548 ResRangeLabeledEdit.Text := '9999';