9 TAbonType = (atStandard, stTransparent);
10 TCompType = (ctStandard, ctRegexp);
11 TTargetType = (ttAll, ttThread, ttBoard);
13 TLineInfo = class(TObject)
17 TargetType: TTargetType;
21 function ToString: String;
23 procedure Copy(const Src: TLineInfo);
26 TAbonThread = class(TObject)
33 function IsTarget(Chk: String): Boolean;
37 DEF_REGEXP: String = '{{REGEXP}}';
38 DEF_THREAD: String = '{{THREAD:';
39 DEF_BOARD: String = '{{BOARD:';
40 DEF_END: String = '}}';
44 constructor TAbonThread.Create;
49 procedure TAbonThread.Clear;
56 function TAbonThread.IsTarget(Chk: String): Boolean;
63 EndPos := AnsiPos(DEF_END, Chk);
64 if (EndPos < 1) then begin
65 Result := True; //
\8ew
\92è
\8c`
\8e®
\82Æ
\88á
\82¤
\82Ì
\82Å
\91Î
\8fÛ
67 else if (AnsiPos(DEF_BOARD, Chk) = 1) then begin
68 if (Is2ch = False) then begin
69 Result := False; // 2ch
\82Å
\82È
\82¢
71 DefLen := Length(DEF_BOARD);
72 CopyLen := EndPos - DefLen - 1;
73 Target := Copy(Chk, DefLen + 1, CopyLen);
74 if (Target = Board) then
75 Result := True //
\91Î
\8fÛ
\82Ì
\94Â
77 Result := False; //
\91Î
\8fÛ
\82Ì
\94Â
\82Å
\82Í
\82È
\82¢
80 else if (AnsiPos(DEF_THREAD, Chk) = 1) then begin
81 if (Is2ch = False) then begin
82 Result := False; // 2ch
\82Å
\82È
\82¢
84 DefLen := Length(DEF_THREAD);
85 CopyLen := EndPos - DefLen - 1;
86 Target := Copy(Chk, DefLen + 1, CopyLen);
87 if (Target = Board + '/' + Thread) then
88 Result := True //
\91Î
\8fÛ
\82Ì
\83X
\83\8c
90 Result := False; //
\91Î
\8fÛ
\82Ì
\83X
\83\8c\82Å
\82Í
\82È
\82¢
94 Result := True; //
\8ew
\92è
\8c`
\8e®
\82Æ
\88á
\82¤
\82Ì
\82Å
\91Î
\8fÛ
98 constructor TLineInfo.Create;
100 AbonType := atStandard;
101 CompType := ctStandard;
105 function TLineInfo.ToString: String;
110 atStandard: dst := '
\92Ê
\8fí
\82 \82Ú
\81[
\82ñ
\81E';
111 stTransparent: dst := '
\93§
\96¾
\82 \82Ú
\81[
\82ñ
\81E';
115 ctStandard: dst := dst + '
\92Ê
\8fí
\94ä
\8ar
\81E';
116 ctRegexp: dst := dst + '
\90³
\8bK
\95\
\8c»
\81E';
117 else dst := dst + '
\81E';
120 ttAll: dst := dst + '
\91S
\83X
\83\8c\91Î
\8fÛ';
121 ttThread: dst := dst + '
\83X
\83\8c\8ew
\92è';
122 ttBoard: dst := dst + '
\94Â
\8ew
\92è';
127 procedure TLineInfo.Clear;
129 AbonType := atStandard;
130 CompType := ctStandard;
136 procedure TLineInfo.Copy(const Src: TLineInfo);
138 AbonType := Src.AbonType;
139 CompType := Src.CompType;
140 TargetType := Src.TargetType;
141 TargetBoard := Src.TargetBoard;
142 TargetThread := Src.TargetThread;