<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/sa10bs243/">
    <title>sa10bs243 @ ウィキ</title>
    <link>http://w.atwiki.jp/sa10bs243/</link>
    <atom:link href="https://w.atwiki.jp/sa10bs243/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>sa10bs243 @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2010-07-04T19:31:31+09:00</dc:date>
    <utime>1278239491</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/sa10bs243/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sa10bs243/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sa10bs243/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sa10bs243/pages/3.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sa10bs243/pages/4.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sa10bs243/pages/5.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sa10bs243/pages/6.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sa10bs243/pages/7.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sa10bs243/pages/8.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sa10bs243/pages/9.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/sa10bs243/pages/13.html">
    <title>work</title>
    <link>https://w.atwiki.jp/sa10bs243/pages/13.html</link>
    <description>
      using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using Kbt.Tool.TextEditHelpTool.TextEditHelpForm.Editors;

namespace Kbt.Tool.TextEditHelpTool.TextEditHelpForm
{
　　public partial class TextEditHelpForm : System.Windows.Forms.Form
　　{
　　　　#region 定数
　　　　/// &lt;summary&gt;
　　　　/// エンコードリスト
　　　　/// &lt;/summary&gt;
　　　　private static readonly List&lt;EncodeType&gt; ENCODE_LIST;
　　　　/// &lt;summary&gt;
　　　　/// エディタリスト
　　　　/// &lt;/summary&gt;
　　　　private static readonly List&lt;ITextEditor&gt; EDITOR_LIST;
　　　　#endregion

　　　　#region 静的コンストラクタ
　　　　/// &lt;summary&gt;
　　　　/// 静的コンストラクタ
　　　　/// &lt;/summary&gt;
　　　　static TextEditHelpForm()
　　　　{
　　　　　　TextEditHelpForm.ENCODE_LIST = new List&lt;EncodeType&gt;();
　　　　　　TextEditHelpForm.ENCODE_LIST.Add(new EncodeType(&quot;Shift_JIS&quot;, Encoding.GetEncoding(&quot;Shift_Jis&quot;)));
　　　　　　TextEditHelpForm.ENCODE_LIST.Add(new EncodeType(&quot;UTF-8&quot;, Encoding.UTF8));

　　　　　　TextEditHelpForm.EDITOR_LIST = new List&lt;ITextEditor&gt;();
　　　　　　TextEditHelpForm.EDITOR_LIST.Add(new SqlSelectEditor());
　　　　}
　　　　#endregion

　　　　#region コンストラクタ
　　　　/// &lt;summary&gt;
　　　　/// コンストラクタ
　　　　/// &lt;/summary&gt;
　　　　public TextEditHelpForm()
　　　　{
　　　　　　InitializeComponent();
　　　　　　this.InitializeForm();
　　　　} 
　　　　#endregion

　　　　//====================
　　　　//　　  EVENT
　　　　//====================
　　　　#region 参照ボタンクリック
　　　　/// &lt;summary&gt;
　　　　/// 参照ボタンクリック
　　　　/// &lt;/summary&gt;
　　　　/// &lt;param name=&quot;sender&quot;&gt;&lt;/param&gt;
　　　　/// &lt;param name=&quot;e&quot;&gt;&lt;/param&gt;
　　　　private void btnFilePath_Click(object sender, EventArgs e)
　　　　{
　　　　　　OpenFileDialog ofd = new OpenFileDialog();

　　　　　　//ofd.FileName = &quot;○○.txt&quot;;
　　　　　　//[ファイルの種類]に表示される選択肢を指定する
　　　　　　//指定しないとすべてのファイルが表示される
　　　　　　ofd.Filter =
　　　　　　　　&quot;テキストファイル(*.txt)|*.txt|すべてのファイル(*.*)|*.*&quot;;
　　　　　　ofd.FilterIndex = 1;
　　　　　　ofd.Title = &quot;対象のテキストファイルを選択してください&quot;;
　　　　　　//ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする
　　　　　　ofd.RestoreDirectory = true;

　　　　　　if (ofd.ShowDialog() == DialogResult.OK)
　　　　　　{
　　　　　　　　this.txtFilePath.Text = ofd.FileName;
　　　　　　}
　　　　}
　　　　#endregion

　　　　#region ファイル読込ボタンクリック
　　　　/// &lt;summary&gt;
　　　　/// ファイル読込ボタンクリック
　　　　/// &lt;/summary&gt;
　　　　/// &lt;param name=&quot;sender&quot;&gt;&lt;/param&gt;
　　　　/// &lt;param name=&quot;e&quot;&gt;&lt;/param&gt;
　　　　private void btnReadFile_Click(object sender, EventArgs e)
　　　　{
　　　　　　// 存在チェック
　　　　　　if (File.Exists(this.txtFilePath.Text) == false)
　　　　　　{
　　　　　　　　MessageBox.Show(string.Format(&quot;指定したファイルは存在しません\r\n{0}&quot;, this.txtFilePath.Text),
　　　　　　　　　　&quot;ファイル読込エラー&quot;, MessageBoxButtons.OK, MessageBoxIcon.Error);

　　　　　　　　this.txtFilePath.Focus();
　　　　　　　　return;
　　　　　　}

　　　　　　try
　　　　　　{
　　　　　　　　EncodeType selectedEncode = (EncodeType)this.cmbEncode.SelectedValue;
　　　　　　　　this.txtBefore.Text = File.ReadAllText(this.txtFilePath.Text, selectedEncode.Type);
　　　　　　}
　　　　　　catch (Exception ex)
　　　　　　{
　　　　　　　　MessageBox.Show(ex.ToString(),
　　　　　　　　　　&quot;ファイル読込エラー&quot;, MessageBoxButtons.OK, MessageBoxIcon.Error);
　　　　　　　　this.txtFilePath.Focus();
　　　　　　}
　　　　}
　　　　#endregion

　　　　#region 編集ボタンクリック
　　　　/// &lt;summary&gt;
　　　　/// 編集ボタンクリック
　　　　/// &lt;/summary&gt;
　　　　/// &lt;param name=&quot;sender&quot;&gt;&lt;/param&gt;
　　　　/// &lt;param name=&quot;e&quot;&gt;&lt;/param&gt;
　　　　private void btnEdit_Click(object sender, EventArgs e)
　　　　{
　　　　　　try
　　　　　　{
　　　　　　　　ITextEditor textEditor = (ITextEditor)this.cmbEditor.SelectedValue;
　　　　　　　　this.txtAfter.Text = textEditor.Edit(this.txtBefore.Text);
　　　　　　}
　　　　　　catch (Exception ex)
　　　　　　{
　　　　　　　　MessageBox.Show(ex.ToString(),
　　　　　　　　　　&quot;エラー&quot;, MessageBoxButtons.OK, MessageBoxIcon.Error);
　　　　　　　　this.txtBefore.Focus();
　　　　　　}
　　　　}
　　　　#endregion

　　　　//====================
　　　　//　　  PRIVATE
　　　　//====================
　　　　#region フォーム初期化
　　　　/// &lt;summary&gt;
　　　　/// フォーム初期化
　　　　/// &lt;/summary&gt;
　　　　private void InitializeForm()
　　　　{
　　　　　　// エンコードの型
　　　　　　this.cmbEncode.DataSource = TextEditHelpForm.ENCODE_LIST;
　　　　　　this.cmbEncode.DisplayMember = &quot;Name&quot;;

　　　　　　// エディタ
　　　　　　this.cmbEditor.DataSource = TextEditHelpForm.EDITOR_LIST;
　　　　　　this.cmbEditor.DisplayMember = &quot;Name&quot;;
　　　　}
　　　　#endregion
　　　　
　　}
}

=============================================================
namespace Kbt.Tool.TextEditHelpTool.TextEditHelpForm
{
　　partial class TextEditHelpForm
　　{
　　　　/// &lt;summary&gt;
　　　　/// 必要なデザイナー変数です。
　　　　/// &lt;/summary&gt;
　　　　private System.ComponentModel.IContainer components = null;

　　　　/// &lt;summary&gt;
　　　　/// 使用中のリソースをすべてクリーンアップします。
　　　　/// &lt;/summary&gt;
　　　　/// &lt;param name=&quot;disposing&quot;&gt;マネージ リソースが破棄される場合 true、破棄されない場合は false です。&lt;/param&gt;
　　　　protected override void Dispose(bool disposing)
　　　　{
　　　　　　if (disposing &amp;&amp; (components != null))
　　　　　　{
　　　　　　　　components.Dispose();
　　　　　　}
　　　　　　base.Dispose(disposing);
　　　　}

　　　　#region Windows フォーム デザイナーで生成されたコード

　　　　/// &lt;summary&gt;
　　　　/// デザイナー サポートに必要なメソッドです。このメソッドの内容を
　　　　/// コード エディターで変更しないでください。
　　　　/// &lt;/summary&gt;
　　　　private void InitializeComponent()
　　　　{
　　　　　　this.txtFilePath = new System.Windows.Forms.TextBox();
　　　　　　this.btnReadFile = new System.Windows.Forms.Button();
　　　　　　this.cmbEditor = new System.Windows.Forms.ComboBox();
　　　　　　this.btnEdit = new System.Windows.Forms.Button();
　　　　　　this.cmbEncode = new System.Windows.Forms.ComboBox();
　　　　　　this.btnFilePath = new System.Windows.Forms.Button();
　　　　　　this.label1 = new System.Windows.Forms.Label();
　　　　　　this.grpBefore = new System.Windows.Forms.GroupBox();
　　　　　　this.grpAfter = new System.Windows.Forms.GroupBox();
　　　　　　this.button1 = new System.Windows.Forms.Button();
　　　　　　this.txtBefore = new System.Windows.Forms.RichTextBox();
　　　　　　this.txtAfter = new System.Windows.Forms.RichTextBox();
　　　　　　this.grpBefore.SuspendLayout();
　　　　　　this.grpAfter.SuspendLayout();
　　　　　　this.SuspendLayout();
　　　　　　// 
　　　　　　// txtFilePath
　　　　　　// 
　　　　　　this.txtFilePath.Location = new System.Drawing.Point(18, 22);
　　　　　　this.txtFilePath.Name = &quot;txtFilePath&quot;;
　　　　　　this.txtFilePath.Size = new System.Drawing.Size(386, 22);
　　　　　　this.txtFilePath.TabIndex = 1;
　　　　　　// 
　　　　　　// btnReadFile
　　　　　　// 
　　　　　　this.btnReadFile.Location = new System.Drawing.Point(18, 49);
　　　　　　this.btnReadFile.Name = &quot;btnReadFile&quot;;
　　　　　　this.btnReadFile.Size = new System.Drawing.Size(386, 23);
　　　　　　this.btnReadFile.TabIndex = 3;
　　　　　　this.btnReadFile.Text = &quot;ファイル読込&quot;;
　　　　　　this.btnReadFile.UseVisualStyleBackColor = true;
　　　　　　this.btnReadFile.Click += new System.EventHandler(this.btnReadFile_Click);
　　　　　　// 
　　　　　　// cmbEditor
　　　　　　// 
　　　　　　this.cmbEditor.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
　　　　　　this.cmbEditor.FormattingEnabled = true;
　　　　　　this.cmbEditor.Location = new System.Drawing.Point(94, 12);
　　　　　　this.cmbEditor.Name = &quot;cmbEditor&quot;;
　　　　　　this.cmbEditor.Size = new System.Drawing.Size(420, 23);
　　　　　　this.cmbEditor.TabIndex = 4;
　　　　　　// 
　　　　　　// btnEdit
　　　　　　// 
　　　　　　this.btnEdit.Location = new System.Drawing.Point(558, 132);
　　　　　　this.btnEdit.Name = &quot;btnEdit&quot;;
　　　　　　this.btnEdit.Size = new System.Drawing.Size(34, 665);
　　　　　　this.btnEdit.TabIndex = 5;
　　　　　　this.btnEdit.Text = &quot;編　集　→&quot;;
　　　　　　this.btnEdit.UseVisualStyleBackColor = true;
　　　　　　this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
　　　　　　// 
　　　　　　// cmbEncode
　　　　　　// 
　　　　　　this.cmbEncode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
　　　　　　this.cmbEncode.FormattingEnabled = true;
　　　　　　this.cmbEncode.Location = new System.Drawing.Point(410, 49);
　　　　　　this.cmbEncode.Name = &quot;cmbEncode&quot;;
　　　　　　this.cmbEncode.Size = new System.Drawing.Size(92, 23);
　　　　　　this.cmbEncode.TabIndex = 10;
　　　　　　// 
　　　　　　// btnFilePath
　　　　　　// 
　　　　　　this.btnFilePath.Location = new System.Drawing.Point(410, 21);
　　　　　　this.btnFilePath.Name = &quot;btnFilePath&quot;;
　　　　　　this.btnFilePath.Size = new System.Drawing.Size(92, 23);
　　　　　　this.btnFilePath.TabIndex = 2;
　　　　　　this.btnFilePath.Text = &quot;参照&quot;;
　　　　　　this.btnFilePath.UseVisualStyleBackColor = true;
　　　　　　this.btnFilePath.Click += new System.EventHandler(this.btnFilePath_Click);
　　　　　　// 
　　　　　　// label1
　　　　　　// 
　　　　　　this.label1.AutoSize = true;
　　　　　　this.label1.Font = new System.Drawing.Font(&quot;ＭＳ Ｐゴシック&quot;, 10.2F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
　　　　　　this.label1.Location = new System.Drawing.Point(12, 13);
　　　　　　this.label1.Name = &quot;label1&quot;;
　　　　　　this.label1.Size = new System.Drawing.Size(76, 17);
　　　　　　this.label1.TabIndex = 7;
　　　　　　this.label1.Text = &quot;モード　：&quot;;
　　　　　　// 
　　　　　　// grpBefore
　　　　　　// 
　　　　　　this.grpBefore.Controls.Add(this.txtBefore);
　　　　　　this.grpBefore.Controls.Add(this.txtFilePath);
　　　　　　this.grpBefore.Controls.Add(this.btnFilePath);
　　　　　　this.grpBefore.Controls.Add(this.cmbEncode);
　　　　　　this.grpBefore.Controls.Add(this.btnReadFile);
　　　　　　this.grpBefore.Location = new System.Drawing.Point(12, 41);
　　　　　　this.grpBefore.Name = &quot;grpBefore&quot;;
　　　　　　this.grpBefore.Size = new System.Drawing.Size(530, 772);
　　　　　　this.grpBefore.TabIndex = 12;
　　　　　　this.grpBefore.TabStop = false;
　　　　　　this.grpBefore.Text = &quot;編集前&quot;;
　　　　　　// 
　　　　　　// grpAfter
　　　　　　// 
　　　　　　this.grpAfter.Controls.Add(this.txtAfter);
　　　　　　this.grpAfter.Controls.Add(this.button1);
　　　　　　this.grpAfter.Location = new System.Drawing.Point(607, 43);
　　　　　　this.grpAfter.Name = &quot;grpAfter&quot;;
　　　　　　this.grpAfter.Size = new System.Drawing.Size(530, 772);
　　　　　　this.grpAfter.TabIndex = 13;
　　　　　　this.grpAfter.TabStop = false;
　　　　　　this.grpAfter.Text = &quot;編集後&quot;;
　　　　　　// 
　　　　　　// button1
　　　　　　// 
　　　　　　this.button1.Location = new System.Drawing.Point(32, 49);
　　　　　　this.button1.Name = &quot;button1&quot;;
　　　　　　this.button1.Size = new System.Drawing.Size(484, 23);
　　　　　　this.button1.TabIndex = 12;
　　　　　　this.button1.Text = &quot;ファイル出力&quot;;
　　　　　　this.button1.UseVisualStyleBackColor = true;
　　　　　　// 
　　　　　　// txtBefore
　　　　　　// 
　　　　　　this.txtBefore.Location = new System.Drawing.Point(18, 91);
　　　　　　this.txtBefore.Name = &quot;txtBefore&quot;;
　　　　　　this.txtBefore.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedBoth;
　　　　　　this.txtBefore.Size = new System.Drawing.Size(484, 665);
　　　　　　this.txtBefore.TabIndex = 11;
　　　　　　this.txtBefore.Text = &quot;&quot;;
　　　　　　this.txtBefore.WordWrap = false;
　　　　　　// 
　　　　　　// txtAfter
　　　　　　// 
　　　　　　this.txtAfter.Location = new System.Drawing.Point(32, 89);
　　　　　　this.txtAfter.Name = &quot;txtAfter&quot;;
　　　　　　this.txtAfter.Size = new System.Drawing.Size(484, 665);
　　　　　　this.txtAfter.TabIndex = 12;
　　　　　　this.txtAfter.Text = &quot;&quot;;
　　　　　　this.txtAfter.WordWrap = false;
　　　　　　// 
　　　　　　// TextEditHelpForm
　　　　　　// 
　　　　　　this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
　　　　　　this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
　　　　　　this.ClientSize = new System.Drawing.Size(1161, 827);
　　　　　　this.Controls.Add(this.grpAfter);
　　　　　　this.Controls.Add(this.grpBefore);
　　　　　　this.Controls.Add(this.label1);
　　　　　　this.Controls.Add(this.btnEdit);
　　　　　　this.Controls.Add(this.cmbEditor);
　　　　　　this.Name = &quot;TextEditHelpForm&quot;;
　　　　　　this.Text = &quot;テキスト編集補助ツール&quot;;
　　　　　　this.grpBefore.ResumeLayout(false);
　　　　　　this.grpBefore.PerformLayout();
　　　　　　this.grpAfter.ResumeLayout(false);
　　　　　　this.ResumeLayout(false);
　　　　　　this.PerformLayout();

　　　　}

　　　　#endregion

　　　　private System.Windows.Forms.TextBox txtFilePath;
　　　　private System.Windows.Forms.Button btnReadFile;
　　　　private System.Windows.Forms.ComboBox cmbEditor;
　　　　private System.Windows.Forms.Button btnEdit;
　　　　private System.Windows.Forms.ComboBox cmbEncode;
　　　　private System.Windows.Forms.Button btnFilePath;
　　　　private System.Windows.Forms.Label label1;
　　　　private System.Windows.Forms.GroupBox grpBefore;
　　　　private System.Windows.Forms.GroupBox grpAfter;
　　　　private System.Windows.Forms.Button button1;
　　　　private System.Windows.Forms.RichTextBox txtBefore;
　　　　private System.Windows.Forms.RichTextBox txtAfter;
　　}
}

=============================================================
using System;
using System.Collections.Generic;
using System.Text;

namespace Kbt.Tool.TextEditHelpTool.TextEditHelpForm
{
　　internal class EncodeType
　　{
　　　　#region 属性
　　　　/// &lt;summary&gt;
　　　　/// エンコード名
　　　　/// &lt;/summary&gt;
　　　　private string _name = string.Empty;
　　　　/// &lt;summary&gt;
　　　　/// エンコードの型
　　　　/// &lt;/summary&gt;
　　　　private Encoding _encodeType = Encoding.UTF8;
　　　　#endregion

　　　　#region コンストラクタ
　　　　/// &lt;summary&gt;
　　　　/// コンストラクタ
　　　　/// &lt;/summary&gt;
　　　　/// &lt;param name=&quot;name&quot;&gt;型名&lt;/param&gt;
　　　　/// &lt;param name=&quot;encodeType&quot;&gt;エンコード&lt;/param&gt;
　　　　public EncodeType(string name, Encoding encodeType)
　　　　{
　　　　　　this._name = name;
　　　　　　this._encodeType = encodeType;
　　　　}
　　　　#endregion

　　　　//====================
　　　　//　　  PUBLIC
　　　　//====================
　　　　#region エンコード名
　　　　/// &lt;summary&gt;
　　　　/// エンコード名
　　　　/// &lt;/summary&gt;
　　　　public string Name
　　　　{
　　　　　　get { return this._name; }
　　　　} 
　　　　#endregion

　　　　#region エンコード型
　　　　/// &lt;summary&gt;
　　　　/// エンコード型
　　　　/// &lt;/summary&gt;
　　　　public Encoding Type
　　　　{
　　　　　　get { return this._encodeType; }
　　　　}
　　　　#endregion
　　}
}

=============================================================
using System;
using System.Collections.Generic;
using System.Text;

namespace Kbt.Tool.TextEditHelpTool.TextEditHelpForm.Editors
{
　　public interface ITextEditor
　　{
　　　　/// &lt;summary&gt;
　　　　/// 編集する
　　　　/// &lt;/summary&gt;
　　　　/// &lt;param name=&quot;value&quot;&gt;編集対象の文字列&lt;/param&gt;
　　　　/// &lt;returns&gt;編集後の文字列&lt;/returns&gt;
　　　　string Edit(string value);

　　　　/// &lt;summary&gt;
　　　　/// エディタ名
　　　　/// &lt;/summary&gt;
　　　　string Name { get; }

　　　　/// &lt;summary&gt;
　　　　/// エディタのコメント
　　　　/// &lt;/summary&gt;
　　　　string Comment { get; }
　　}
}


=============================================================
using System;
using System.Collections.Generic;
using System.Text;

namespace Kbt.Tool.TextEditHelpTool.TextEditHelpForm.Editors
{
　　/// &lt;summary&gt;
　　/// １行単位で編集するベースクラス
　　/// &lt;/summary&gt;
　　public abstract class LineEditorBase
　　　　: ITextEditor
　　{
　　　　#region コンストラクタ
　　　　/// &lt;summary&gt;
　　　　/// コンストラクタ
　　　　/// &lt;/summary&gt;
　　　　public LineEditorBase()
　　　　{
　　　　} 
　　　　#endregion

　　　　//====================
　　　　//　　  PUBLIC
　　　　//====================
　　　　#region 編集する
　　　　/// &lt;summary&gt;
　　　　/// 編集する
　　　　/// &lt;/summary&gt;
　　　　/// &lt;param name=&quot;value&quot;&gt;編集対象の文字列&lt;/param&gt;
　　　　/// &lt;returns&gt;編集後の文字列&lt;/returns&gt;
　　　　public string Edit(string value)
　　　　{
　　　　　　if (string.IsNullOrEmpty(value) == true) { return string.Empty; }

　　　　　　List&lt;string&gt; resultList = new List&lt;string&gt;();

　　　　　　// 行リストに変換
　　　　　　List&lt;string&gt; lineList = new List&lt;string&gt;(value.Replace(@&quot;\r\n&quot;, @&quot;\n&quot;).Split(&#039;\n&#039;));

　　　　　　lineList.ForEach(
　　　　　　　　delegate(string line)
　　　　　　　　{
　　　　　　　　　　resultList.Add(this.EditLine(line));
　　　　　　　　}
　　　　　　);

　　　　　　return string.Join(Environment.NewLine, resultList.ToArray());
　　　　}
　　　　#endregion

　　　　#region エディタ名
　　　　/// &lt;summary&gt;
　　　　/// エディタ名
　　　　/// &lt;/summary&gt;
　　　　public abstract string Name { get; } 
　　　　#endregion

　　　　#region エディタのコメント
　　　　/// &lt;summary&gt;
　　　　/// エディタのコメント
　　　　/// &lt;/summary&gt;
　　　　public abstract string Comment { get; }
　　　　#endregion

　　　　//====================
　　　　// PROTECTED ABSTRACT
　　　　//====================
　　　　#region 行編集
　　　　/// &lt;summary&gt;
　　　　/// 行編集
　　　　/// &lt;/summary&gt;
　　　　/// &lt;param name=&quot;line&quot;&gt;１行の文字列&lt;/param&gt;
　　　　/// &lt;returns&gt;編集結果文字列&lt;/returns&gt;
　　　　protected abstract string EditLine(string line); 
　　　　#endregion
　　}
}

=============================================================
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace Kbt.Tool.TextEditHelpTool.TextEditHelpForm.Editors
{
　　/// &lt;summary&gt;
　　/// SELECT文作成
　　/// &lt;/summary&gt;
　　public class SqlSelectEditor
　　　　: LineEditorBase
　　{
　　　　#region コンストラクタ
　　　　/// &lt;summary&gt;
　　　　/// コンストラクタ
　　　　/// &lt;/summary&gt;
　　　　public SqlSelectEditor()
　　　　　　:base()
　　　　{
　　　　} 
　　　　#endregion

　　　　//====================
　　　　//  PUBLIC OVERRIDE
　　　　//====================
　　　　#region エディタ名
　　　　/// &lt;summary&gt;
　　　　/// エディタ名
　　　　/// &lt;/summary&gt;
　　　　public override string Name
　　　　{
　　　　　　get
　　　　　　{
　　　　　　　　return &quot;SELECT文作成&quot;;
　　　　　　}
　　　　}
　　　　#endregion

　　　　#region エディタのコメント
　　　　/// &lt;summary&gt;
　　　　/// エディタのコメント
　　　　/// &lt;/summary&gt;
　　　　public override string Comment
　　　　{
　　　　　　get
　　　　　　{
　　　　　　　　return &quot;&quot;;
　　　　　　}
　　　　}
　　　　#endregion

　　　　//====================
　　　　// PROTECTED OVERRIDE
　　　　//====================
　　　　#region 行編集
　　　　/// &lt;summary&gt;
　　　　/// 行編集
　　　　/// &lt;/summary&gt;
　　　　/// &lt;param name=&quot;line&quot;&gt;１行の文字列&lt;/param&gt;
　　　　/// &lt;returns&gt;編集結果文字列&lt;/returns&gt;
　　　　protected override string EditLine(string line)
　　　　{
　　　　　　string result = line.ToUpper().Trim();

　　　　　　const string ymdFormat = &quot;TO_CHAR({0}, &#039;YYYY/MM/DD&#039;)&quot;;
　　　　　　const string ymFormat = &quot;TO_CHAR({0}, &#039;YYYY/MM&#039;)&quot;;
　　　　　　const string suryoFormat = &quot;NVL({0}, 0)&quot;;

　　　　　　if (Regex.IsMatch(result, &quot;_YMD$&quot;) == true)
　　　　　　{
　　　　　　　　result = string.Format(ymdFormat, result);
　　　　　　}
　　　　　　else if (Regex.IsMatch(result, &quot;_YM$&quot;) == true)
　　　　　　{
　　　　　　　　result = string.Format(ymFormat, result);
　　　　　　}
　　　　　　else if (Regex.IsMatch(result, &quot;_S$&quot;) == true)
　　　　　　{
　　　　　　　　result = string.Format(suryoFormat, result);
　　　　　　}

　　　　　　return result;
　　　　}
　　　　#endregion
　　}
}    </description>
    <dc:date>2010-07-04T19:31:31+09:00</dc:date>
    <utime>1278239491</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sa10bs243/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/sa10bs243/pages/1.html</link>
    <description>
      てすと    </description>
    <dc:date>2010-04-12T22:15:44+09:00</dc:date>
    <utime>1271078144</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sa10bs243/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/sa10bs243/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
-[[プラグイン紹介&gt;プラグイン]]
-[[まとめサイト作成支援ツール]]
-[[メニュー]]
-[[メニュー2]]

----

**リンク
-[[@wiki&gt;&gt;http://atwiki.jp]]
-[[@wikiご利用ガイド&gt;&gt;http://atwiki.jp/guide/]]

**他のサービス
-[[無料ホームページ作成&gt;&gt;http://atpages.jp]]
-[[無料ブログ作成&gt;&gt;http://atword.jp]]
-[[2ch型掲示板レンタル&gt;&gt;http://atchs.jp]]
-[[無料掲示板レンタル&gt;&gt;http://atbbs.jp]]
-[[お絵かきレンタル&gt;&gt;http://atpaint.jp/]]
-[[無料ソーシャルプロフ&gt;&gt;http://sns.atfb.jp/]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります


//**更新履歴
//#recent(20)

&amp;link_editmenu(text=ここを編集)
    </description>
    <dc:date>2010-03-28T20:46:38+09:00</dc:date>
    <utime>1269776798</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sa10bs243/pages/3.html">
    <title>右メニュー</title>
    <link>https://w.atwiki.jp/sa10bs243/pages/3.html</link>
    <description>
      **更新履歴
#recent(20)


&amp;link_editmenu2(text=ここを編集)
    </description>
    <dc:date>2010-03-28T20:46:38+09:00</dc:date>
    <utime>1269776798</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sa10bs243/pages/4.html">
    <title>プラグイン/ニュース</title>
    <link>https://w.atwiki.jp/sa10bs243/pages/4.html</link>
    <description>
      * ニュース
@wikiのwikiモードでは
 #news(興味のある単語)
と入力することで、あるキーワードに関連するニュース一覧を表示することができます
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_174_ja.html


-----


たとえば、#news(wiki)と入力すると以下のように表示されます。


#news(wiki)
    </description>
    <dc:date>2010-03-28T20:46:38+09:00</dc:date>
    <utime>1269776798</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sa10bs243/pages/5.html">
    <title>まとめサイト作成支援ツール</title>
    <link>https://w.atwiki.jp/sa10bs243/pages/5.html</link>
    <description>
      * まとめサイト作成支援ツールについて
@wikiには[[まとめサイト作成を支援するツール&gt;&gt;http://atwiki.jp/matome/]]があります。
また、
 #matome_list
と入力することで、注目の掲示板が一覧表示されます。

利用例）#matome_listと入力すると下記のように表示されます
#matome_list
    </description>
    <dc:date>2010-03-28T20:46:38+09:00</dc:date>
    <utime>1269776798</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sa10bs243/pages/6.html">
    <title>プラグイン/編集履歴</title>
    <link>https://w.atwiki.jp/sa10bs243/pages/6.html</link>
    <description>
      * 更新履歴
@wikiのwikiモードでは
 #recent(数字)
と入力することで、wikiのページ更新履歴を表示することができます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_117_ja.html


-----


たとえば、#recent(20)と入力すると以下のように表示されます。


#recent(20)
    </description>
    <dc:date>2010-03-28T20:46:38+09:00</dc:date>
    <utime>1269776798</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sa10bs243/pages/7.html">
    <title>プラグイン/アーカイブ</title>
    <link>https://w.atwiki.jp/sa10bs243/pages/7.html</link>
    <description>
      * アーカイブ
@wikiのwikiモードでは
 #archive_log()
と入力することで、特定のウェブページを保存しておくことができます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/25_171_ja.html


-----


たとえば、#archive_log()と入力すると以下のように表示されます。
保存したいURLとサイト名を入力して&quot;アーカイブログ&quot;をクリックしてみよう


#archive_log()
    </description>
    <dc:date>2010-03-28T20:46:38+09:00</dc:date>
    <utime>1269776798</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sa10bs243/pages/8.html">
    <title>プラグイン/動画(Youtube)</title>
    <link>https://w.atwiki.jp/sa10bs243/pages/8.html</link>
    <description>
      * 動画(youtube)
@wikiのwikiモードでは
 #video(動画のURL)
と入力することで、動画を貼り付けることが出来ます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_209_ja.html

また動画のURLはYoutubeのURLをご利用ください。
＝＞http://www.youtube.com/

-----


たとえば、#video(http://youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。


#video(http://youtube.com/watch?v=kTV1CcS53JQ)

    </description>
    <dc:date>2010-03-28T20:46:38+09:00</dc:date>
    <utime>1269776798</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sa10bs243/pages/9.html">
    <title>プラグイン</title>
    <link>https://w.atwiki.jp/sa10bs243/pages/9.html</link>
    <description>
      @wikiにはいくつかの便利なプラグインがあります。

-----


#ls

-----

これ以外のプラグインについては@wikiガイドをご覧ください
=&gt;http://atwiki.jp/guide/
    </description>
    <dc:date>2010-03-28T20:46:38+09:00</dc:date>
    <utime>1269776798</utime>
  </item>
  </rdf:RDF>
