OSDN Git Service

文字列置換に関するロジッククラス集、PresetReplace.pas追加
authornaru <bottle@mikage.to>
Sat, 13 Mar 2004 01:02:57 +0000 (01:02 +0000)
committernaru <bottle@mikage.to>
Sat, 13 Mar 2004 01:02:57 +0000 (01:02 +0000)
bottleclient/PresetReplace.pas [new file with mode: 0644]
bottleclient/SstpBottle.dpr

diff --git a/bottleclient/PresetReplace.pas b/bottleclient/PresetReplace.pas
new file mode 100644 (file)
index 0000000..d0776a7
--- /dev/null
@@ -0,0 +1,172 @@
+unit PresetReplace;
+
+{
+  PresetReplace.pas
+  GUI\82©\82ç\93Æ\97§\82µ\82½\81A\81u\83v\83\8a\83Z\83b\83g\92u\8a·\81v\83\8d\83W\83b\83N\83N\83\89\83X\82Ì\8eÀ\91\95
+}
+
+interface
+
+uses Classes, SysUtils, Forms, Menus;
+
+type
+  // \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Æ
+  // \8bL\8fq\82µ\82Ä\82 \82é(\8aÜ\82Ü\82ê\82é\95û\82©\82ç\8aÜ\82Þ\95û\81A\82Ì\8f\87\94Ô)
+
+  // \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é
+  TReplacePair = class(TCollectionItem)
+  private
+    FIgnoreCase: boolean;
+    FBeforeStr: String;
+    FAfterStr: String;
+    procedure SetAfterStr(const Value: String);
+    procedure SetBeforeStr(const Value: String);
+    procedure SetIgnoreCase(const Value: boolean);
+  published
+    property BeforeStr: String read FBeforeStr write SetBeforeStr;
+    property AfterStr: String read FAfterStr write SetAfterStr;
+    property IgnoreCase: boolean read FIgnoreCase write SetIgnoreCase;
+  end;
+
+  // TReplacePair\82Ì\83R\83\8c\83N\83V\83\87\83\93\83N\83\89\83X
+  TReplacePairCollection = class(TCollection)
+  end;
+
+  // 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Ä
+  // 1\82Â\82Ì\83v\83\8a\83Z\83b\83g\90Ý\92è\8d\80\96Ú\82ð\95\\8c»\82·\82é\83N\83\89\83X
+  TReplacePreset = class(TCollectionItem)
+  private
+    FTitle: String;
+    FPairs: TReplacePairCollection;
+    FShortCut: TShortCut;
+    procedure SetPairs(const Value: TReplacePairCollection);
+    procedure SetShortCut(const Value: TShortCut);
+    procedure SetTitle(const Value: String);
+  public
+    constructor Create(Collection: TCollection); override;
+    destructor Destroy; override;
+    procedure Assign(Source: TPersistent); override;
+  published
+    property Pairs: TReplacePairCollection read FPairs write SetPairs;
+    property Title: String read FTitle write SetTitle;
+    property ShortCut: TShortCut read FShortCut write SetShortCut;
+  end;
+
+  // \83v\83\8a\83Z\83b\83g\90Ý\92è\8d\80\96ÚTReplacePreset\82Ì\83R\83\8c\83N\83V\83\87\83\93\83N\83\89\83X
+  TReplacePresetCollection = class(TCollection)
+  end;
+
+  // \8dÅ\8fI\93I\82É\82±\82ê\82ð\83V\83\8a\83A\83\89\83C\83Y\82·\82é
+  TReplacePresets = class(TComponent)
+  private
+    FPresets: TReplacePresetCollection;
+    procedure SetPresets(const Value: TReplacePresetCollection);
+  public
+    constructor Create(AOwner: TComponent); override;
+    destructor Destroy; override;
+    procedure Assign(Source: TPersistent); override;
+  published
+    property Presets: TReplacePresetCollection read FPresets write SetPresets;
+  end;
+
+implementation
+
+{ TReplacePair }
+
+procedure TReplacePair.SetAfterStr(const Value: String);
+begin
+  FAfterStr := Value;
+end;
+
+procedure TReplacePair.SetBeforeStr(const Value: String);
+begin
+  FBeforeStr := Value;
+end;
+
+procedure TReplacePair.SetIgnoreCase(const Value: boolean);
+begin
+  FIgnoreCase := Value;
+end;
+
+{ TReplacePreset }
+
+procedure TReplacePreset.Assign(Source: TPersistent);
+var
+  Src: TReplacePreset;
+begin
+  if not (Source is TReplacePreset) then
+    inherited
+  else
+  begin
+    Src := Source as TReplacePreset;
+    Pairs.Assign(Src.Pairs);
+    Title := Src.Title;
+    ShortCut := Src.ShortCut;
+  end;
+end;
+
+constructor TReplacePreset.Create(Collection: TCollection);
+begin
+  inherited;
+  FPairs := TReplacePairCollection.Create(TReplacePair);
+end;
+
+destructor TReplacePreset.Destroy;
+begin
+  FPairs.Free;
+  inherited;
+end;
+
+procedure TReplacePreset.SetPairs(const Value: TReplacePairCollection);
+begin
+  FPairs.Assign(Value);
+end;
+
+procedure TReplacePreset.SetShortCut(const Value: TShortCut);
+begin
+  FShortCut := Value;
+end;
+
+procedure TReplacePreset.SetTitle(const Value: String);
+begin
+  FTitle := Value;
+end;
+
+{ TReplacePresets }
+
+procedure TReplacePresets.Assign(Source: TPersistent);
+var
+  Src: TReplacePresets;
+begin
+  if not (Source is TReplacePresets) then
+    inherited
+  else
+  begin
+    Src := Source as TReplacePresets;
+    Presets.Assign(Src.Presets);
+  end;
+end;
+
+constructor TReplacePresets.Create(AOwner: TComponent);
+begin
+  inherited;
+  FPresets := TReplacePresetCollection.Create(TReplacePreset);
+end;
+
+destructor TReplacePresets.Destroy;
+begin
+  FPresets.Free;
+  inherited;
+end;
+
+procedure TReplacePresets.SetPresets(
+  const Value: TReplacePresetCollection);
+begin
+  FPresets.Assign(Value);
+end;
+
+initialization
+
+Classes.RegisterClass(TReplacePresets);
+
+end.
index 6c06688..61e217a 100755 (executable)
@@ -57,7 +57,8 @@ uses
   SpecialCharEditor in 'SpecialCharEditor.pas' {frmSpecialCharEditor},
   HtmlOutputConfig in 'HtmlOutputConfig.pas' {frmHTMLOutputConfig},
   HtmlOutputProgress in 'HtmlOutputProgress.pas' {frmHTMLOutputProgress},
-  SearchLog in 'SearchLog.pas' {frmSearchLog};
+  SearchLog in 'SearchLog.pas' {frmSearchLog},
+  PresetReplace in 'PresetReplace.pas';
 
 // \8c^\95t\82«\92è\90\94\82ð\95Ï\8dX\82Å\82«\82é\82æ\82¤\82É\82·\82é\83R\83\93\83p\83C\83\89\83I\83v\83V\83\87\83\93
 // \88ê\95\94\82Ì\83R\83\93\83|\81[\83l\83\93\83g\82É\82±\82ê\82ª\95K\97v