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 constructor Create(Collection: TCollection); override;
38 function ExecuteReplace(TargetStr: string): string;
39 procedure Assign(Source: TPersistent); override;
41 function IsValidPair: Boolean;
43 property BeforeStr: string read GetBeforeStr write SetBeforeStr;
44 property AfterStr: string read GetAfterStr write SetAfterStr;
45 property IgnoreCase: boolean read GetIgnoreCase write SetIgnoreCase default false;
46 property UseRegExp: boolean read GetUseRegExp write SetUseRegExp default false;
49 // TReplacePair
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93\83N
\83\89\83X
\81B
50 TReplacePairCollection = class(TCollection)
52 function GetItem(Index: Integer): TReplacePair;
54 function Add: TReplacePair;
55 property Items[Index: Integer]: TReplacePair read GetItem; default;
56 function ExecuteReplace(TargetStr: string): string;
57 function StringExpression: string;
60 // 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Ä
61 // 1
\82Â
\82Ì
\83v
\83\8a\83Z
\83b
\83g
\90Ý
\92è
\8d\80\96Ú
\82ð
\95\
\8c»
\82·
\82é
\83N
\83\89\83X
62 TReplacePreset = class(TCollectionItem)
65 FPairs: TReplacePairCollection;
67 FConfirmAfterReplace: Boolean;
68 procedure SetPairs(const Value: TReplacePairCollection);
69 procedure SetShortCut(const Value: TShortCut);
70 procedure SetTitle(const Value: string);
71 procedure SetConfirmAfterReplace(const Value: Boolean);
73 constructor Create(Collection: TCollection); override;
74 destructor Destroy; override;
75 procedure Assign(Source: TPersistent); override;
77 property Pairs: TReplacePairCollection read FPairs write SetPairs;
78 property Title: string read FTitle write SetTitle;
79 property ShortCut: TShortCut read FShortCut write SetShortCut;
80 property ConfirmAfterReplace: Boolean read FConfirmAfterReplace write SetConfirmAfterReplace;
83 TReplacePresetCollection = class(TCollection)
85 function GetItem(Index: Integer): TReplacePreset;
87 function Add: TReplacePreset;
88 property Items[Index: Integer]: TReplacePreset read GetItem; default;
91 //
\8dÅ
\8fI
\93I
\82É
\82±
\82ê
\82ð
\83V
\83\8a\83A
\83\89\83C
\83Y
\82·
\82é
92 TReplacePresets = class(TComponent)
94 FPresets: TReplacePresetCollection;
95 procedure SetPresets(const Value: TReplacePresetCollection);
97 constructor Create(AOwner: TComponent); override;
98 destructor Destroy; override;
99 procedure Assign(Source: TPersistent); override;
101 property Presets: TReplacePresetCollection read FPresets write SetPresets;
108 procedure TReplacePair.Assign(Source: TPersistent);
110 if not (Source is TReplacePair) then
113 FPairRec := (Source as TReplacePair).FPairRec;
116 procedure TReplacePair.Clear;
127 constructor TReplacePair.Create(Collection: TCollection);
133 function TReplacePair.ExecuteReplace(TargetStr: string): string;
135 Options: TReplaceFlags;
137 // 1
\82Â
\82Ì
\92u
\8a·
\82ð
\8eÀ
\91\95\82·
\82é
139 Options := [rfReplaceAll];
141 Options := Options + [rfIgnoreCase];
143 Result := StringReplaceRegExp(Result, BeforeStr, AfterStr, Options)
145 Result := StringReplace(Result, BeforeStr, AfterStr, Options);
148 function TReplacePair.GetAfterStr: string;
150 Result := FPairRec.AfterStr;
153 function TReplacePair.GetBeforeStr: string;
155 Result := FPairRec.BeforeStr;
158 function TReplacePair.GetIgnoreCase: boolean;
160 Result := FPairRec.IgnoreCase;
163 function TReplacePair.GetUseRegExp: boolean;
165 Result := FPairRec.UseRegExp;
168 function TReplacePair.IsValidPair: Boolean;
171 if BeforeStr = '' then
181 procedure TReplacePair.SetAfterStr(const Value: string);
183 FPairRec.AfterStr := Value;
186 procedure TReplacePair.SetBeforeStr(const Value: string);
188 FPairRec.BeforeStr := Value;
191 procedure TReplacePair.SetIgnoreCase(const Value: boolean);
193 FPairRec.IgnoreCase := Value;
196 procedure TReplacePair.SetUseRegExp(const Value: boolean);
198 FPairRec.UseRegExp := Value;
203 procedure TReplacePreset.Assign(Source: TPersistent);
207 if not (Source is TReplacePreset) then
211 Src := Source as TReplacePreset;
212 Pairs.Assign(Src.Pairs);
214 ShortCut := Src.ShortCut;
215 ConfirmAfterReplace := Src.ConfirmAfterReplace;
219 constructor TReplacePreset.Create(Collection: TCollection);
222 FPairs := TReplacePairCollection.Create(TReplacePair);
225 destructor TReplacePreset.Destroy;
231 procedure TReplacePreset.SetPairs(const Value: TReplacePairCollection);
233 FPairs.Assign(Value);
236 procedure TReplacePreset.SetShortCut(const Value: TShortCut);
241 procedure TReplacePreset.SetTitle(const Value: string);
246 procedure TReplacePreset.SetConfirmAfterReplace(const Value: Boolean);
248 FConfirmAfterReplace := Value;
253 procedure TReplacePresets.Assign(Source: TPersistent);
255 if not (Source is TReplacePresets) then
259 FPresets.Assign((Source as TReplacePresets).FPresets);
263 constructor TReplacePresets.Create(AOwner: TComponent);
266 FPresets := TReplacePresetCollection.Create(TReplacePreset);
269 destructor TReplacePresets.Destroy;
275 procedure TReplacePresets.SetPresets(
276 const Value: TReplacePresetCollection);
278 FPresets.Assign(Value);
281 { TReplacePairCollection }
283 function TReplacePairCollection.Add: TReplacePair;
285 Result := inherited Add as TReplacePair;
288 function TReplacePairCollection.ExecuteReplace(TargetStr: string): string;
293 for i := 0 to Count-1 do
295 Result := (Items[i] as TReplacePair).ExecuteReplace(Result);
299 function TReplacePairCollection.GetItem(Index: Integer): TReplacePair;
301 Result := (inherited GetItem(Index)) as TReplacePair;
304 function TReplacePairCollection.StringExpression: string;
309 for i := 0 to Count-1 do
312 Result := Result + '
\81A';
313 Result := Result + Format('
\81u%s
\81v
\81¨
\81u%s
\81v',
314 [Items[i].BeforeStr, Items[i].AfterStr]);
318 { TReplacePresetCollection }
320 function TReplacePresetCollection.Add: TReplacePreset;
322 Result := inherited Add as TReplacePreset;
325 function TReplacePresetCollection.GetItem(Index: Integer): TReplacePreset;
327 Result := inherited GetItem(Index) as TReplacePreset;
332 Classes.RegisterClass(TReplacePresets);