5 GUI
\82©
\82ç
\93Æ
\97§
\82µ
\82½
\81A
\95¶
\8e\9a\97ñ
\92u
\8a·
\8aÖ
\98A
\83\8d\83W
\83b
\83N
\83N
\83\89\83X
\82Ì
\8eÀ
\91\95
10 uses Classes, SysUtils, Forms, Menus, RegexUtils, Contnrs;
13 //
\88È
\89º
\82Ì5
\82Â
\82Ì
\83N
\83\89\83X
\82Ì
\92è
\8b`
\82Í
\81A
\8f¬
\82³
\82¢
\95û
\82©
\82ç
\81¨
\91å
\82«
\82¢
\95û
\82Ö
\81A
\82Æ
14 //
\8bL
\8fq
\82µ
\82Ä
\82 \82é(
\8aÜ
\82Ü
\82ê
\82é
\95û
\82©
\82ç
\8aÜ
\82Þ
\95û
\81A
\82Ì
\8f\87\94Ô)
16 //
\8c\9f\8dõ
\8cê
\82Æ
\92u
\8a·
\8cê
\82Ì
\83y
\83A
\82Æ
\82»
\82Ì
\83I
\83v
\83V
\83\87\83\93\82ð
\8bL
\98^
\82·
\82é
\8d\
\91¢
\91Ì
17 TReplacePairRec = record
24 //
\8c\9f\8dõ
\8cê
\82Æ
\92u
\8a·
\8cê
\82Ì
\83y
\83A
\82Æ
\82»
\82Ì
\83I
\83v
\83V
\83\87\83\93\82ð
\8bL
\98^
\82·
\82é
\83N
\83\89\83X
25 TReplacePair = class(TCollectionItem)
27 FPairRec: TReplacePairRec;
28 procedure SetAfterStr(const Value: string);
29 procedure SetBeforeStr(const Value: string);
30 procedure SetIgnoreCase(const Value: boolean);
31 procedure SetUseRegExp(const Value: boolean);
32 function GetAfterStr: string;
33 function GetBeforeStr: string;
34 function GetIgnoreCase: boolean;
35 function GetUseRegExp: boolean;
37 function ExecuteReplace(TargetStr: string): string;
38 procedure Assign(Source: TPersistent); override;
41 property BeforeStr: string read GetBeforeStr write SetBeforeStr;
42 property AfterStr: string read GetAfterStr write SetAfterStr;
43 property IgnoreCase: boolean read GetIgnoreCase write SetIgnoreCase default false;
44 property UseRegExp: boolean read GetUseRegExp write SetUseRegExp default false;
47 // TReplacePair
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93\83N
\83\89\83X
\81B
48 TReplacePairCollection = class(TCollection)
50 function GetItem(Index: Integer): TReplacePair;
52 function Add: TReplacePair;
53 property Items[Index: Integer]: TReplacePair read GetItem; default;
54 function ExecuteReplace(TargetStr: string): string;
57 // TReplacePair
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93\82ð
\95Û
\8e\9d\82µ
\81A
\83^
\83C
\83g
\83\8b\82È
\82Ç
\82ð
\82Ü
\82Æ
\82ß
\82Ä
58 // 1
\82Â
\82Ì
\83v
\83\8a\83Z
\83b
\83g
\90Ý
\92è
\8d\80\96Ú
\82ð
\95\
\8c»
\82·
\82é
\83N
\83\89\83X
59 TReplacePreset = class(TCollectionItem)
62 FPairs: TReplacePairCollection;
64 procedure SetPairs(const Value: TReplacePairCollection);
65 procedure SetShortCut(const Value: TShortCut);
66 procedure SetTitle(const Value: string);
68 constructor Create(Collection: TCollection); override;
69 destructor Destroy; override;
70 procedure Assign(Source: TPersistent); override;
72 property Pairs: TReplacePairCollection read FPairs write SetPairs;
73 property Title: string read FTitle write SetTitle;
74 property ShortCut: TShortCut read FShortCut write SetShortCut;
77 TReplacePresetCollection = class(TCollection)
79 function GetItem(Index: Integer): TReplacePreset;
81 function Add: TReplacePreset;
82 property Items[Index: Integer]: TReplacePreset read GetItem; default;
85 //
\8dÅ
\8fI
\93I
\82É
\82±
\82ê
\82ð
\83V
\83\8a\83A
\83\89\83C
\83Y
\82·
\82é
86 TReplacePresets = class(TComponent)
88 FPresets: TReplacePresetCollection;
89 procedure SetPresets(const Value: TReplacePresetCollection);
91 constructor Create(AOwner: TComponent); override;
92 destructor Destroy; override;
93 procedure Assign(Source: TPersistent); override;
95 property Presets: TReplacePresetCollection read FPresets write SetPresets;
102 procedure TReplacePair.Assign(Source: TPersistent);
104 if not (Source is TReplacePair) then
107 FPairRec := (Source as TReplacePair).FPairRec;
110 procedure TReplacePair.Clear;
121 function TReplacePair.ExecuteReplace(TargetStr: string): string;
123 Options: TReplaceFlags;
125 // 1
\82Â
\82Ì
\92u
\8a·
\82ð
\8eÀ
\91\95\82·
\82é
127 Options := [rfReplaceAll];
129 Options := Options + [rfIgnoreCase];
131 Result := StringReplaceRegExp(Result, BeforeStr, AfterStr, Options)
133 Result := StringReplace(Result, BeforeStr, AfterStr, Options);
136 function TReplacePair.GetAfterStr: string;
138 Result := FPairRec.AfterStr;
141 function TReplacePair.GetBeforeStr: string;
143 Result := FPairRec.BeforeStr;
146 function TReplacePair.GetIgnoreCase: boolean;
148 Result := FPairRec.IgnoreCase;
151 function TReplacePair.GetUseRegExp: boolean;
153 Result := FPairRec.UseRegExp;
156 procedure TReplacePair.SetAfterStr(const Value: string);
158 FPairRec.AfterStr := Value;
161 procedure TReplacePair.SetBeforeStr(const Value: string);
163 FPairRec.BeforeStr := Value;
166 procedure TReplacePair.SetIgnoreCase(const Value: boolean);
168 FPairRec.IgnoreCase := Value;
171 procedure TReplacePair.SetUseRegExp(const Value: boolean);
173 FPairRec.UseRegExp := Value;
178 procedure TReplacePreset.Assign(Source: TPersistent);
182 if not (Source is TReplacePreset) then
186 Src := Source as TReplacePreset;
187 Pairs.Assign(Src.Pairs);
189 ShortCut := Src.ShortCut;
193 constructor TReplacePreset.Create(Collection: TCollection);
196 FPairs := TReplacePairCollection.Create(TReplacePair);
199 destructor TReplacePreset.Destroy;
205 procedure TReplacePreset.SetPairs(const Value: TReplacePairCollection);
207 FPairs.Assign(Value);
210 procedure TReplacePreset.SetShortCut(const Value: TShortCut);
215 procedure TReplacePreset.SetTitle(const Value: string);
222 procedure TReplacePresets.Assign(Source: TPersistent);
224 if not (Source is TReplacePresets) then
228 FPresets.Assign((Source as TReplacePresets).FPresets);
232 constructor TReplacePresets.Create(AOwner: TComponent);
235 FPresets := TReplacePresetCollection.Create(TReplacePreset);
238 destructor TReplacePresets.Destroy;
244 procedure TReplacePresets.SetPresets(
245 const Value: TReplacePresetCollection);
247 FPresets.Assign(Value);
250 { TReplacePairCollection }
252 function TReplacePairCollection.Add: TReplacePair;
254 Result := inherited Add as TReplacePair;
257 function TReplacePairCollection.ExecuteReplace(TargetStr: string): string;
262 for i := 0 to Count-1 do
264 Result := (Items[i] as TReplacePair).ExecuteReplace(Result);
268 function TReplacePairCollection.GetItem(Index: Integer): TReplacePair;
270 Result := (inherited GetItem(Index)) as TReplacePair;
273 { TReplacePresetCollection }
275 function TReplacePresetCollection.Add: TReplacePreset;
277 Result := inherited Add as TReplacePreset;
280 function TReplacePresetCollection.GetItem(Index: Integer): TReplacePreset;
282 Result := inherited GetItem(Index) as TReplacePreset;
287 Classes.RegisterClass(TReplacePresets);