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 procedure SetPairs(const Value: TReplacePairCollection);
68 procedure SetShortCut(const Value: TShortCut);
69 procedure SetTitle(const Value: string);
71 constructor Create(Collection: TCollection); override;
72 destructor Destroy; override;
73 procedure Assign(Source: TPersistent); override;
75 property Pairs: TReplacePairCollection read FPairs write SetPairs;
76 property Title: string read FTitle write SetTitle;
77 property ShortCut: TShortCut read FShortCut write SetShortCut;
80 TReplacePresetCollection = class(TCollection)
82 function GetItem(Index: Integer): TReplacePreset;
84 function Add: TReplacePreset;
85 property Items[Index: Integer]: TReplacePreset read GetItem; default;
88 //
\8dÅ
\8fI
\93I
\82É
\82±
\82ê
\82ð
\83V
\83\8a\83A
\83\89\83C
\83Y
\82·
\82é
89 TReplacePresets = class(TComponent)
91 FPresets: TReplacePresetCollection;
92 procedure SetPresets(const Value: TReplacePresetCollection);
94 constructor Create(AOwner: TComponent); override;
95 destructor Destroy; override;
96 procedure Assign(Source: TPersistent); override;
98 property Presets: TReplacePresetCollection read FPresets write SetPresets;
105 procedure TReplacePair.Assign(Source: TPersistent);
107 if not (Source is TReplacePair) then
110 FPairRec := (Source as TReplacePair).FPairRec;
113 procedure TReplacePair.Clear;
124 constructor TReplacePair.Create(Collection: TCollection);
130 function TReplacePair.ExecuteReplace(TargetStr: string): string;
132 Options: TReplaceFlags;
134 // 1
\82Â
\82Ì
\92u
\8a·
\82ð
\8eÀ
\91\95\82·
\82é
136 Options := [rfReplaceAll];
138 Options := Options + [rfIgnoreCase];
140 Result := StringReplaceRegExp(Result, BeforeStr, AfterStr, Options)
142 Result := StringReplace(Result, BeforeStr, AfterStr, Options);
145 function TReplacePair.GetAfterStr: string;
147 Result := FPairRec.AfterStr;
150 function TReplacePair.GetBeforeStr: string;
152 Result := FPairRec.BeforeStr;
155 function TReplacePair.GetIgnoreCase: boolean;
157 Result := FPairRec.IgnoreCase;
160 function TReplacePair.GetUseRegExp: boolean;
162 Result := FPairRec.UseRegExp;
165 function TReplacePair.IsValidPair: Boolean;
168 if BeforeStr = '' then
178 procedure TReplacePair.SetAfterStr(const Value: string);
180 FPairRec.AfterStr := Value;
183 procedure TReplacePair.SetBeforeStr(const Value: string);
185 FPairRec.BeforeStr := Value;
188 procedure TReplacePair.SetIgnoreCase(const Value: boolean);
190 FPairRec.IgnoreCase := Value;
193 procedure TReplacePair.SetUseRegExp(const Value: boolean);
195 FPairRec.UseRegExp := Value;
200 procedure TReplacePreset.Assign(Source: TPersistent);
204 if not (Source is TReplacePreset) then
208 Src := Source as TReplacePreset;
209 Pairs.Assign(Src.Pairs);
211 ShortCut := Src.ShortCut;
215 constructor TReplacePreset.Create(Collection: TCollection);
218 FPairs := TReplacePairCollection.Create(TReplacePair);
221 destructor TReplacePreset.Destroy;
227 procedure TReplacePreset.SetPairs(const Value: TReplacePairCollection);
229 FPairs.Assign(Value);
232 procedure TReplacePreset.SetShortCut(const Value: TShortCut);
237 procedure TReplacePreset.SetTitle(const Value: string);
244 procedure TReplacePresets.Assign(Source: TPersistent);
246 if not (Source is TReplacePresets) then
250 FPresets.Assign((Source as TReplacePresets).FPresets);
254 constructor TReplacePresets.Create(AOwner: TComponent);
257 FPresets := TReplacePresetCollection.Create(TReplacePreset);
260 destructor TReplacePresets.Destroy;
266 procedure TReplacePresets.SetPresets(
267 const Value: TReplacePresetCollection);
269 FPresets.Assign(Value);
272 { TReplacePairCollection }
274 function TReplacePairCollection.Add: TReplacePair;
276 Result := inherited Add as TReplacePair;
279 function TReplacePairCollection.ExecuteReplace(TargetStr: string): string;
284 for i := 0 to Count-1 do
286 Result := (Items[i] as TReplacePair).ExecuteReplace(Result);
290 function TReplacePairCollection.GetItem(Index: Integer): TReplacePair;
292 Result := (inherited GetItem(Index)) as TReplacePair;
295 function TReplacePairCollection.StringExpression: string;
300 for i := 0 to Count-1 do
303 Result := Result + '
\81A';
304 Result := Result + Format('
\81u%s
\81v
\81¨
\81u%s
\81v',
305 [Items[i].BeforeStr, Items[i].AfterStr]);
309 { TReplacePresetCollection }
311 function TReplacePresetCollection.Add: TReplacePreset;
313 Result := inherited Add as TReplacePreset;
316 function TReplacePresetCollection.GetItem(Index: Integer): TReplacePreset;
318 Result := inherited GetItem(Index) as TReplacePreset;
323 Classes.RegisterClass(TReplacePresets);