OSDN Git Service

最新100レス表示の表示数を拡張できるようにオプションを追加
[gikonavigoeson/gikonavi.git] / KuroutSetting.pas
1 unit KuroutSetting;
2
3 interface
4
5 uses
6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7   Dialogs, StdCtrls, ComCtrls, GikoSystem, GikoUtil, ExtCtrls, StrUtils;
8
9 type
10   TKuroutOption = class(TForm)
11         PageControl1: TPageControl;
12         TabSheet1: TTabSheet;
13         GroupBox11: TGroupBox;
14         Label17: TLabel;
15         Label18: TLabel;
16         RecvBufferSize: TEdit;
17         ProxyProtocolCheckBox: TCheckBox;
18         ProtocolCheckBox: TCheckBox;
19         GroupBox13: TGroupBox;
20         Label24: TLabel;
21         Label25: TLabel;
22         PostTimeLabel: TLabel;
23         Label27: TLabel;
24         PostTimeCheckBox: TCheckBox;
25         PostTimeEdit: TEdit;
26         PutPostTimeRadioButton: TRadioButton;
27         BackPostTimeRadioButton: TRadioButton;
28         OkBotton: TButton;
29         CancelBotton: TButton;
30         ApplyButton: TButton;
31         ColumnTabSheet: TTabSheet;
32         CategoryColumnGroupBox: TGroupBox;
33         CUnVisibledListBox: TListBox;
34         CVisibledListBox: TListBox;
35         CAddButton: TButton;
36         CDeleteButton: TButton;
37         BoardColumnGroupBox: TGroupBox;
38         BUnVisibledListBox: TListBox;
39         BVisibledListBox: TListBox;
40         BAddButton: TButton;
41         BDeleteButton: TButton;
42         Label1: TLabel;
43         Label2: TLabel;
44         Label3: TLabel;
45         Label4: TLabel;
46         CUpButton: TButton;
47         CDownButton: TButton;
48         BUpButton: TButton;
49         BDownButton: TButton;
50     GroupBox1: TGroupBox;
51     GengoSupport: TCheckBox;
52     Label5: TLabel;
53     Label6: TLabel;
54     ReadTimeOut: TEdit;
55     Label7: TLabel;
56     KakikomiTabSheet: TTabSheet;
57     CookieGroupBox: TGroupBox;
58     Label8: TLabel;
59     FixedCookieEdit: TEdit;
60     Label9: TLabel;
61     GroupBox3: TGroupBox;
62     Label10: TLabel;
63     MoveHistoryMaxEdit: TEdit;
64     Label11: TLabel;
65     AHandredGroupBox: TGroupBox;
66     AHandredLabeledEdit: TLabeledEdit;
67     AHandredUpDown: TUpDown;
68     ThreadGroupBox: TGroupBox;
69     AddKeywordCheckBox: TCheckBox;
70     TabSheet2: TTabSheet;
71     SecurityGroupBox: TGroupBox;
72     GroupBox2: TGroupBox;
73     LocalTrapAtt: TCheckBox;
74     RemoteTrapAtt: TCheckBox;
75     ReplaceDatCheckBox: TCheckBox;
76     Label12: TLabel;
77     GroupBox4: TGroupBox;
78     SentIniFileSizeEdit: TEdit;
79     SentIniFileSizeUpDown: TUpDown;
80     Label13: TLabel;
81     Label14: TLabel;
82     ExtListLabeledEdit: TLabeledEdit;
83     Label15: TLabel;
84     LogGroupBox: TGroupBox;
85     CheckDatFileCheckBox: TCheckBox;
86     RespopupTabSheet: TTabSheet;
87     RespopuGroupBox: TGroupBox;
88     DeltaXLabeledEdit: TLabeledEdit;
89     DeltaYLabeledEdit: TLabeledEdit;
90     DeltaXUpDown: TUpDown;
91     DeltaYUpDown: TUpDown;
92     Label16: TLabel;
93     RespopupWaitLabeledEdit: TLabeledEdit;
94     RespopupWaitUpDown: TUpDown;
95     Label19: TLabel;
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);
116   private
117         { Private \90é\8c¾ }
118         procedure SetValue;
119         procedure SaveSetting;
120         procedure RecvBufferSizeExit(Sender: TObject);
121         procedure PostTimeEditExit(Sender: TObject);
122         procedure PostTimeCheckBoxClick(Sender: TObject);
123         procedure SetColumnData();
124         procedure PostColumnData();
125   public
126         { Public \90é\8c¾ }
127   end;
128
129 var
130   KuroutOption: TKuroutOption;
131
132 implementation
133
134 uses
135         Giko, Setting;
136
137 {$R *.dfm}
138
139 procedure TKuroutOption.SetValue;
140 begin
141         //\8eó\90M\83o\83b\83t\83@\83T\83C\83Y
142         RecvBufferSize.Text := IntToStr(Gikosys.Setting.RecvBufferSize);
143         //HTTP1.1\8eg\97p
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);
148
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
154         else
155                 BackPostTimeRadioButton.Checked := True;
156
157         SetColumnData();
158
159         PageControl1.ActivePageIndex := GikoSys.Setting.KuroutSettingTabIndex;
160
161         //2chAnnai
162         GengoSupport.Checked := GikoSys.Setting.GengoSupport;
163         //FusianaSet
164         LocalTrapAtt.Checked := GikoSys.Setting.LocalTrapAtt;
165         RemoteTrapAtt.Checked := GikoSys.Setting.RemoteTrapAtt;
166         // Cookie
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;
186 end;
187
188 procedure TKuroutOption.SaveSetting;
189 begin
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);
193         //HTTP1.1\8eg\97p
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)
201         else
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;
210         // Cookie
211         GikoSys.Setting.FixedCookie := FixedCookieEdit.Text;
212
213     // \83\8a\83\93\83N\88Ú\93®\97\9a\97ð
214     GikoSys.Setting.MoveHistorySize :=
215         StrToIntDef( MoveHistoryMaxEdit.Text, 20 );
216
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;
231
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;
237 end;
238
239 procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject);
240 begin
241         if not GikoSys.IsNumeric(RecvBufferSize.Text) then
242                 RecvBufferSize.Text := '4096';
243         if StrToInt(RecvBufferSize.Text) < 256 then
244                 RecvBufferSize.Text := '4096';
245 end;
246
247 procedure TKuroutOption.PostTimeEditExit(Sender: TObject);
248 begin
249         if not GikoSys.IsNumeric(PostTimeEdit.Text) then
250                 PostTimeEdit.Text := '0';
251 end;
252
253 procedure TKuroutOption.PostTimeCheckBoxClick(Sender: TObject);
254 begin
255         PostTimeLabel.Enabled := PostTimeCheckBox.Checked;
256         PostTimeEdit.Enabled := PostTimeCheckBox.Checked;
257         PutPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
258         BackPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
259 end;
260
261 procedure TKuroutOption.OkBottonClick(Sender: TObject);
262 begin
263         RecvBufferSizeExit(Sender);
264         PostTimeEditExit(Sender);
265     MoveHistoryMaxEditExit(Sender);
266     AHandredLabeledEditExit(Sender);
267     ExtListLabeledEditExit(Sender);
268     DeltaXLabeledEditExit(Sender);
269     DeltaYLabeledEditExit(Sender);
270     RespopupWaitLabeledEditExit(Sender);
271     PostColumnData();
272         SaveSetting;
273 end;
274
275 procedure TKuroutOption.FormCreate(Sender: TObject);
276 begin
277         SetValue;
278         PostTimeCheckBoxClick(Sender);
279
280 end;
281 procedure TKuroutOption.SetColumnData();
282 var
283         i, j : Integer;
284         flag : Boolean;
285 begin
286
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);
292                                 break;
293                         end;
294                 end;
295         end;
296
297         for i := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
298                 flag := false;
299                 for j := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
300                         if GikoSys.Setting.CategoryColumnOrder[ j ] = TGikoCategoryColumnID( i ) then begin
301                                 flag := true;
302                                 break;
303                         end;
304                 end;
305                 if not flag then
306                         CUnVisibledListBox.AddItem(GikoCategoryColumnCaption[ i ], nil);
307         end;
308
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);
314                                 Break;
315                         end;
316                 end;
317         end;
318
319         for i := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
320                 flag := false;
321                 for j := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 0 do begin
322                         if GikoSys.Setting.BoardColumnOrder[ j ] = TGikoBoardColumnID( i ) then begin
323                                 flag := true;
324                                 Break;
325                         end;
326                 end;
327                 if not flag then
328                         BUnVisibledListBox.AddItem(GikoBoardColumnCaption[ i ], nil);
329
330         end;
331 end;
332 procedure TKuroutOption.CDeleteButtonClick(Sender: TObject);
333 var
334         i: Integer;
335 begin
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;
340                         break;
341                 end;
342         end;
343 end;
344
345 procedure TKuroutOption.CAddButtonClick(Sender: TObject);
346 var
347         i: Integer;
348 begin
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;
353                         break;
354                 end;
355         end;
356 end;
357
358 procedure TKuroutOption.BAddButtonClick(Sender: TObject);
359 var
360         i: Integer;
361 begin
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;
366                         break;
367                 end;
368         end;
369 end;
370
371 procedure TKuroutOption.BDeleteButtonClick(Sender: TObject);
372 var
373         i: Integer;
374 begin
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;
379                         break;
380                 end;
381         end;
382 end;
383
384 procedure TKuroutOption.CUpButtonClick(Sender: TObject);
385 var
386         i: Integer;
387 begin
388         for i := 1 to CVisibledListBox.Count - 1 do begin
389                 if CVisibledListBox.Selected[i] then begin
390                         CVisibledListBox.Items.Exchange(i, i -1);
391                         break;
392                 end;
393         end;
394 end;
395
396 procedure TKuroutOption.CDownButtonClick(Sender: TObject);
397 var
398         i: Integer;
399 begin
400         for i := 0 to CVisibledListBox.Count - 2 do begin
401                 if CVisibledListBox.Selected[i] then begin
402                         CVisibledListBox.Items.Exchange(i, i + 1);
403                         break;
404                 end;
405         end;
406 end;
407
408 procedure TKuroutOption.BUpButtonClick(Sender: TObject);
409 var
410         i: Integer;
411 begin
412         for i := 1 to BVisibledListBox.Count - 1 do begin
413                 if BVisibledListBox.Selected[i] then begin
414                         BVisibledListBox.Items.Exchange(i, i -1);
415                         break;
416                 end;
417         end;
418 end;
419
420 procedure TKuroutOption.BDownButtonClick(Sender: TObject);
421 var
422         i: Integer;
423 begin
424         for i := 0 to BVisibledListBox.Count - 2 do begin
425                 if BVisibledListBox.Selected[i] then begin
426                         BVisibledListBox.Items.Exchange(i, i + 1);
427                         break;
428                 end;
429         end;
430 end;
431
432
433 procedure TKuroutOption.PostColumnData();
434 var
435         i, j : Integer;
436 begin
437         GikoForm.ActiveListColumnSave;
438
439         //===== \94Â\83\8a\83X\83g =====
440         for i := GikoSys.Setting.CategoryColumnOrder.Count -1 downto 1 do
441                 GikoSys.Setting.CategoryColumnOrder.Delete(i);
442
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) );
447                                 break;
448                         end;
449                 end;
450         end;
451
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);
455
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) );
460                                 Break;
461                         end;
462                 end;
463         end;
464         //\83X\83\8c\88ê\97\97\82Ì\95`\89æ\82Ì\8dX\90V
465         GikoForm.SetActiveList(GikoForm.ActiveList);
466 end;
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);
469 begin
470         if not GikoSys.IsNumeric(MoveHistoryMaxEdit.Text) then
471                 MoveHistoryMaxEdit.Text := '20';
472     if StrToInt(MoveHistoryMaxEdit.Text) < 1 then
473         MoveHistoryMaxEdit.Text := '1';
474 end;
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);
477 begin
478         if not GikoSys.IsNumeric(AHandredLabeledEdit.Text) then
479                 AHandredLabeledEdit.Text := '1';
480     if StrToInt(AHandredLabeledEdit.Text) < 1 then
481         AHandredLabeledEdit.Text := '1';
482
483 end;
484
485 procedure TKuroutOption.ExtListLabeledEditExit(Sender: TObject);
486 begin
487     if AnsiEndsStr(';', ExtListLabeledEdit.Text) then begin
488         ExtListLabeledEdit.Text :=
489             Copy(ExtListLabeledEdit.Text, 0,
490                 Length(ExtListLabeledEdit.Text) - 1);
491     end;
492 end;
493 // \83\8c\83X\83|\83b\83v\83A\83b\83v\88Ê\92uX
494 procedure TKuroutOption.DeltaXLabeledEditExit(Sender: TObject);
495 begin
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);
502 end;
503 // \83\8c\83X\83|\83b\83v\83A\83b\83v\88Ê\92uY
504 procedure TKuroutOption.DeltaYLabeledEditExit(Sender: TObject);
505 begin
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);
512 end;
513
514 procedure TKuroutOption.RespopupWaitLabeledEditExit(Sender: TObject);
515 begin
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);
522 end;
523
524 procedure TKuroutOption.ResRangeLabeledEditExit(Sender: TObject);
525 begin
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';
532 end;
533
534 end.