Action Script 3(as、mxml ファイル) のコンパイル用ツール

ActionScript 3(as、mxml ファイル)をFlex 2 SDKコマンドプロンプトコンパイルすると快適だよ、と前回書いたのだが、実際には何度も
mxmlc -default-size 240 240 -default-frame-rate=30 -default-background-color=0xFFFFFF Hello.as
と書くのは結構面倒なものである。(オイ)
人間楽をしたいものである。必要こそ発明の母なのである。

というわけで、指定したファイルを mxmlc コマンドでコンパイルするツールを C# で作ってみた。この時点で、Visual StudioFlex SDK を使っている方向けというニッチな市場ではあるが。

Windows アプリケーションとしてプロジェクトを作成する。

以下のようにコントロールを設置


プロパティの設定

OpenFileButton
    Text:開く

textBox2
    Text:-default-size 240 240 -default-frame-rate=30 -default-background-color=0xFFFFFF

CompileButton
    Text:コンパイル

textBox3
    BackColor:Black
    ForeColor:White
    Multiline:True


Form1.cs に OpenFileButton、CompileButton のClickイベントを記述。(もちろんイベントハンドラはそれぞれのボタンをダブルクリックして作成)

       private void OpenFileButton_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "Action Script|*.as;*.mxml";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = openFileDialog1.FileName;
            }

        }

        private void CompileButton_Click(object sender, EventArgs e)
        {
            string program = "mxmlc";
            string argument = textBox2.Text + " " + textBox1.Text;
            textBox3.Text = argument;
            Process proc = new Process();
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.FileName = program;
            proc.StartInfo.Arguments = argument;
            proc.Start();
            textBox3.Text += proc.StandardOutput.ReadToEnd();
            proc.WaitForExit();

        }


つまり textBox1 で指定されたファイルを textBox2 で指定されたパラメータで mxmlc コマンドを実行してくれるわけです。その結果は textBox3 に表示されます。

でも、Flex SDK をガンガン使っている人たちってこのくらいのツールはすでに作っているんだろうな。。