Command Line

Text Editor で編集するファイルを Command Line から受け取ります。
ドラッグ&ドロップや拡張子に関連付けてダブルクリックで起動出来るようになります。
これで「Text Editor の基礎」は終了とします。
実用的な Text Editor は Text Editor の開発 を参照して下さい。

前田稔(Maeda Minoru)の超初心者のプログラム入門

Command Line

  1. ドラッグ&ドロップされた Text File の名前は Command Line の引数として渡されます。
    引数は Main() メソッドの string[] args で受け取ります。
    Command Line の基本は Command Line 引数 を参照して下さい。
        static void Main(string[] args)
        {
            ・・・
        }
    
  2. Program.cs の Main() メソッドです。
    args.Length がパラメータの個数で、一番目がファイル名で、二番目が文字コードです。
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            switch(args.Length)
            {   case 0:
                    Application.Run(new Form1());
                    break;
                case 1:	
                    Application.Run(new Form1(args[0]));
                    break;
                case 2:
                    Application.Run(new Form1(args[0], args[1]));
                    break;
            }
        } 
    
  3. Form1.cs のコンストラクタは、Main からの呼び出し形式に合わせて3種類用意します。
            public Form1()
            {
                XML_Load();
                InitializeComponent();
                this.richTextBox1.Font = font;
            }
            public Form1(string tfile)
            {
                FormInit(tfile, string.Empty);
            }
            public Form1(string tfile, string tcode)
            {
                FormInit(tfile, tcode);
            }
    
  4. コンストラクタから呼び出される FormInit() メソッドです。
            private void FormInit(string tfile, string tcode)
            {
                XML_Load();
                InitializeComponent();
                this.richTextBox1.Font = font;
                txtfile = tfile;
                LoadFile(tcode);
            }
    
  5. FormInit() から呼び出される LoadFile() メソッドです。
            private void LoadFile(string tcode)
            {
                StreamReader reader;
                txtcode = tcode;
                richTextBox1.Clear();
                if (txtcode==string.Empty)
                    reader = new StreamReader(txtfile);
                else
                    reader = new StreamReader(txtfile, Encoding.GetEncoding(txtcode));
                string A;
                while ((A = reader.ReadLine()) != null)
                {
                    richTextBox1.AppendText(A + "\n");
                }
                reader.Close();
            }
    
  6. 完成したプログラム(TextEditor.exe)をデスクトップに置きます。
    Windows Explorer などから TEXT FILE(Unicode または UTF-8 で保存)をドロップして下さい。
    プログラムが起動してファイルが表示されたらOKです。
    他のアプリケーションから Text File の名前を指定して起動することも出来ます。
        public string   ED_Path = @"C:\bin\TextEditor.exe";
        if (File.Exists(fileName))   //ファイルの存在を確認
        {
            Process.Start(ED_Path, fileName);
        }
    

[Previous Chapter ↑] XML に保存

超初心者のプログラム入門(C# Frame Work)