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 procedure OkBottonClick(Sender: TObject);
87 procedure FormCreate(Sender: TObject);
88 procedure CDeleteButtonClick(Sender: TObject);
89 procedure CAddButtonClick(Sender: TObject);
90 procedure BAddButtonClick(Sender: TObject);
91 procedure BDeleteButtonClick(Sender: TObject);
92 procedure CUpButtonClick(Sender: TObject);
93 procedure CDownButtonClick(Sender: TObject);
94 procedure BUpButtonClick(Sender: TObject);
95 procedure BDownButtonClick(Sender: TObject);
96 procedure MoveHistoryMaxEditExit(Sender: TObject);
97 procedure AHandredLabeledEditExit(Sender: TObject);
98 procedure ExtListLabeledEditExit(Sender: TObject);
102 procedure SaveSetting;
103 procedure RecvBufferSizeExit(Sender: TObject);
104 procedure PostTimeEditExit(Sender: TObject);
105 procedure PostTimeCheckBoxClick(Sender: TObject);
106 procedure SetColumnData();
107 procedure PostColumnData();
113 KuroutOption: TKuroutOption;
122 procedure TKuroutOption.SetValue;
124 //
\8eó
\90M
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
125 RecvBufferSize.Text := IntToStr(Gikosys.Setting.RecvBufferSize);
127 ProtocolCheckBox.Checked := GikoSys.Setting.Protocol;
128 //
\83v
\83\8d\83L
\83V
\90Ú
\91±HTTP1.1
\8eg
\97p
129 ProxyProtocolCheckBox.Checked := Gikosys.Setting.ProxyProtocol;
130 ReadTimeOut.Text := IntToStr(GikoSys.Setting.ReadTimeOut);
132 //
\8f\91\82«
\8d\9e\82Ý
\8e\9e\83}
\83V
\83\93\8e\9e\8aÔ
\8eg
\97p
\90Ý
\92è
133 PostTimeCheckBox.Checked := GikoSys.Setting.UseMachineTime;
134 PostTimeEdit.Text := IntToStr(GikoSys.Setting.TimeAdjustSec);
135 if GikoSys.Setting.TimeAdjust then
136 PutPostTimeRadioButton.Checked := True
138 BackPostTimeRadioButton.Checked := True;
142 PageControl1.ActivePageIndex := GikoSys.Setting.KuroutSettingTabIndex;
145 GengoSupport.Checked := GikoSys.Setting.GengoSupport;
147 LocalTrapAtt.Checked := GikoSys.Setting.LocalTrapAtt;
148 RemoteTrapAtt.Checked := GikoSys.Setting.RemoteTrapAtt;
150 FixedCookieEdit.Text := GikoSys.Setting.FixedCookie;
151 //
\83\8a\83\93\83N
\88Ú
\93®
\97\9a\97ð
152 MoveHistoryMaxEdit.Text := IntToStr( GikoSys.Setting.MoveHistorySize );
153 //
\81@
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94
154 AHandredUpDown.Position := GikoSys.Setting.HeadResCount;
155 //
\8aÖ
\98A
\83L
\81[
\83\8f\81[
\83h
\92Ç
\89Á
\83t
\83\89\83O
156 AddKeywordCheckBox.Checked := GikoSys.Setting.AddKeywordLink;
157 //
\8cë
\94½
\89\9e\91Î
\8dô
158 ReplaceDatCheckBox.Checked := GikoSys.Setting.ReplaceDat;
159 SentIniFileSizeUpDown.Position := GikoSys.Setting.SentIniFileSize;
160 ExtListLabeledEdit.Text := GikoSys.Setting.ExtList;
161 // Folder.idx
\93Ç
\82Ý
\8d\9e\82Ý
\8e\9edat
\83`
\83F
\83b
\83N
162 CheckDatFileCheckBox.Checked := GikoSys.Setting.CheckDatFile;
165 procedure TKuroutOption.SaveSetting;
167 //
\8eó
\90M
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
168 Gikosys.Setting.RecvBufferSize := StrToIntDef(RecvBufferSize.Text, Gikosys.Setting.RecvBufferSize);
169 GikoSys.Setting.ReadTimeOut := StrToIntDef(ReadTimeOut.Text, GikoSys.Setting.ReadTimeOut);
171 GikoSys.Setting.Protocol := ProtocolCheckBox.Checked;
172 //
\83v
\83\8d\83L
\83V
\90Ú
\91±HTTP1.1
\8eg
\97p
173 Gikosys.Setting.ProxyProtocol := ProxyProtocolCheckBox.Checked;
174 //
\8f\91\82«
\8d\9e\82Ý
\8e\9e\83}
\83V
\83\93\8e\9e\8aÔ
\8eg
\97p
\90Ý
\92è
175 GikoSys.Setting.UseMachineTime := PostTimeCheckBox.Checked;
176 if GikoSys.IsNumeric(PostTimeEdit.Text) then
177 GikoSys.Setting.TimeAdjustSec := StrToIntDef(PostTimeEdit.Text, GikoSys.Setting.TimeAdjustSec)
179 GikoSys.Setting.TimeAdjustSec := 0;
180 GikoSys.Setting.TimeAdjust := PutPostTimeRadioButton.Checked;
181 //2ch
\8c¾
\8cê
\83T
\83|
\81[
\83g
182 GikoSys.Setting.GengoSupport := GengoSupport.Checked;
183 GikoSys.SetGikoMessage;
184 //
\83\8d\81[
\83J
\83\8b\81E
\83\8a\83\82\81[
\83g̼±Å
\8cx
\8d\90
185 GikoSys.Setting.LocalTrapAtt := LocalTrapAtt.Checked;
186 GikoSys.Setting.RemoteTrapAtt := RemoteTrapAtt.Checked;
188 GikoSys.Setting.FixedCookie := FixedCookieEdit.Text;
190 //
\83\8a\83\93\83N
\88Ú
\93®
\97\9a\97ð
191 GikoSys.Setting.MoveHistorySize :=
192 StrToIntDef( MoveHistoryMaxEdit.Text, 20 );
194 //
\81@
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94
195 GikoSys.Setting.HeadResCount :=
196 StrToIntDef( AHandredLabeledEdit.Text , 1);
198 GikoSys.Setting.KuroutSettingTabIndex := PageControl1.ActivePageIndex;
199 //
\8aÖ
\98A
\83L
\81[
\83\8f\81[
\83h
\92Ç
\89Á
\83t
\83\89\83O
200 GikoSys.Setting.AddKeywordLink := AddKeywordCheckBox.Checked;
201 //
\8cë
\94½
\89\9e\91Î
\8dô
202 GikoSys.Setting.ReplaceDat := ReplaceDatCheckBox.Checked;
203 GikoSys.Setting.SentIniFileSize := SentIniFileSizeUpDown.Position;
204 GikoSys.Setting.ExtList := ExtListLabeledEdit.Text;
205 // Folder.idx
\93Ç
\82Ý
\8d\9e\82Ý
\8e\9edat
\83`
\83F
\83b
\83N
206 GikoSys.Setting.CheckDatFile := CheckDatFileCheckBox.Checked;
209 procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject);
211 if not GikoSys.IsNumeric(RecvBufferSize.Text) then
212 RecvBufferSize.Text := '4096';
213 if StrToInt(RecvBufferSize.Text) < 256 then
214 RecvBufferSize.Text := '4096';
217 procedure TKuroutOption.PostTimeEditExit(Sender: TObject);
219 if not GikoSys.IsNumeric(PostTimeEdit.Text) then
220 PostTimeEdit.Text := '0';
223 procedure TKuroutOption.PostTimeCheckBoxClick(Sender: TObject);
225 PostTimeLabel.Enabled := PostTimeCheckBox.Checked;
226 PostTimeEdit.Enabled := PostTimeCheckBox.Checked;
227 PutPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
228 BackPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
231 procedure TKuroutOption.OkBottonClick(Sender: TObject);
233 RecvBufferSizeExit(Sender);
234 PostTimeEditExit(Sender);
235 MoveHistoryMaxEditExit(Sender);
236 AHandredLabeledEditExit(Sender);
237 ExtListLabeledEditExit(Sender);
242 procedure TKuroutOption.FormCreate(Sender: TObject);
245 PostTimeCheckBoxClick(Sender);
248 procedure TKuroutOption.SetColumnData();
254 //=====
\94Â
\83\8a\83X
\83g =====
255 for i := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
256 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
257 if GikoSys.Setting.CategoryColumnOrder[ i ] = TGikoCategoryColumnID( j ) then begin
258 CVisibledListBox.AddItem(GikoCategoryColumnCaption[ j ], nil);
264 for i := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
266 for j := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
267 if GikoSys.Setting.CategoryColumnOrder[ j ] = TGikoCategoryColumnID( i ) then begin
273 CUnVisibledListBox.AddItem(GikoCategoryColumnCaption[ i ], nil);
276 //=====
\83X
\83\8c\83\8a\83X
\83g =====
277 for i := 0 to GikoSys.Setting.BoardColumnOrder.Count - 1 do begin
278 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
279 if GikoSys.Setting.BoardColumnOrder[ i ] = TGikoBoardColumnID( j ) then begin
280 BVisibledListBox.AddItem(GikoBoardColumnCaption[ j ], nil);
286 for i := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
288 for j := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 0 do begin
289 if GikoSys.Setting.BoardColumnOrder[ j ] = TGikoBoardColumnID( i ) then begin
295 BUnVisibledListBox.AddItem(GikoBoardColumnCaption[ i ], nil);
299 procedure TKuroutOption.CDeleteButtonClick(Sender: TObject);
303 for i := 0 to CVisibledListBox.Count - 1 do begin
304 if CVisibledListBox.Selected[i] then begin
305 CUnVisibledListBox.AddItem( CVisibledListBox.Items.Strings[ i ], nil);
306 CVisibledListBox.DeleteSelected;
312 procedure TKuroutOption.CAddButtonClick(Sender: TObject);
316 for i := 0 to CUnVisibledListBox.Count - 1 do begin
317 if CUnVisibledListBox.Selected[i] then begin
318 CVisibledListBox.AddItem( CUnVisibledListBox.Items.Strings[ i ], nil);
319 CUnVisibledListBox.DeleteSelected;
325 procedure TKuroutOption.BAddButtonClick(Sender: TObject);
329 for i := 0 to BUnVisibledListBox.Count - 1 do begin
330 if BUnVisibledListBox.Selected[i] then begin
331 BVisibledListBox.AddItem( BUnVisibledListBox.Items.Strings[ i ], nil);
332 BUnVisibledListBox.DeleteSelected;
338 procedure TKuroutOption.BDeleteButtonClick(Sender: TObject);
342 for i := 0 to BVisibledListBox.Count - 1 do begin
343 if BVisibledListBox.Selected[i] then begin
344 BUnVisibledListBox.AddItem( BVisibledListBox.Items.Strings[ i ], nil);
345 BVisibledListBox.DeleteSelected;
351 procedure TKuroutOption.CUpButtonClick(Sender: TObject);
355 for i := 1 to CVisibledListBox.Count - 1 do begin
356 if CVisibledListBox.Selected[i] then begin
357 CVisibledListBox.Items.Exchange(i, i -1);
363 procedure TKuroutOption.CDownButtonClick(Sender: TObject);
367 for i := 0 to CVisibledListBox.Count - 2 do begin
368 if CVisibledListBox.Selected[i] then begin
369 CVisibledListBox.Items.Exchange(i, i + 1);
375 procedure TKuroutOption.BUpButtonClick(Sender: TObject);
379 for i := 1 to BVisibledListBox.Count - 1 do begin
380 if BVisibledListBox.Selected[i] then begin
381 BVisibledListBox.Items.Exchange(i, i -1);
387 procedure TKuroutOption.BDownButtonClick(Sender: TObject);
391 for i := 0 to BVisibledListBox.Count - 2 do begin
392 if BVisibledListBox.Selected[i] then begin
393 BVisibledListBox.Items.Exchange(i, i + 1);
400 procedure TKuroutOption.PostColumnData();
404 GikoForm.ActiveListColumnSave;
406 //=====
\94Â
\83\8a\83X
\83g =====
407 for i := GikoSys.Setting.CategoryColumnOrder.Count -1 downto 1 do
408 GikoSys.Setting.CategoryColumnOrder.Delete(i);
410 for i := 0 to CVisibledListBox.Count - 1 do begin
411 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
412 if CVisibledListBox.Items.Strings[ i ] = GikoCategoryColumnCaption[ j ] then begin
413 GikoSys.Setting.CategoryColumnOrder.Add( TGikoCategoryColumnID(j) );
419 //=====
\83X
\83\8c\83\8a\83X
\83g =====
420 for i := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 1 do
421 GikoSys.Setting.BoardColumnOrder.Delete(i);
423 for i := 0 to BVisibledListBox.Count - 1 do begin
424 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
425 if BVisibledListBox.Items.Strings[ i ] = GikoBoardColumnCaption[ j ] then begin
426 GikoSys.Setting.BoardColumnOrder.Add( TGikoBoardColumnID(j) );
431 //
\83X
\83\8c\88ê
\97\97\82Ì
\95`
\89æ
\82Ì
\8dX
\90V
432 GikoForm.SetActiveList(GikoForm.ActiveList);
434 //
\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
435 procedure TKuroutOption.MoveHistoryMaxEditExit(Sender: TObject);
437 if not GikoSys.IsNumeric(MoveHistoryMaxEdit.Text) then
438 MoveHistoryMaxEdit.Text := '20';
439 if StrToInt(MoveHistoryMaxEdit.Text) < 1 then
440 MoveHistoryMaxEdit.Text := '1';
442 //
\90æ
\93ª
\95\
\8e¦
\83\8c\83X
\90\94\82Ì
\95Ò
\8fW
\8cã
\82Ì
\90Ý
\92è
\95¶
\8e\9a\97ñ
\83`
\83F
\83b
\83N
443 procedure TKuroutOption.AHandredLabeledEditExit(Sender: TObject);
445 if not GikoSys.IsNumeric(AHandredLabeledEdit.Text) then
446 AHandredLabeledEdit.Text := '1';
447 if StrToInt(AHandredLabeledEdit.Text) < 1 then
448 AHandredLabeledEdit.Text := '1';
452 procedure TKuroutOption.ExtListLabeledEditExit(Sender: TObject);
454 if AnsiEndsStr(';', ExtListLabeledEdit.Text) then begin
455 ExtListLabeledEdit.Text :=
456 Copy(ExtListLabeledEdit.Text, 0,
457 Length(ExtListLabeledEdit.Text) - 1);