0 と 1 の世界の見習い探検家

2014年01月

今日は午後から学校に行ってきました。
実は一昨日で3先生は登校は終了し、現在自宅学習期間という名の休みなんです。

んで今日学校に行ってきた理由は、数学の成績がアレでちょっと特別招待されたという理由も無くはないのですが、メインの理由は放送委員です。。。
僕の学年の卒業記念品となるDVDを2日前に編集を開始したと聞いて真っ青になりました。
顔面ブルースクリーンですよ((つまらん

記念品のDVDは毎年放送委員会で映像を編集して業者で人数分のDVDを作ってもらい、配布しています。
外注ということですからもちろん通常の作品制作よりも納期が厳しいです。
というか1月中旬ですよ。
伸ばすに伸ばしてこれです。

ってか
それまで何やってた。。。


明日も放送委員会に出勤してきます。

はい。。。


では。。。

C#版メモ帳づくりは順調です。
今回はただメモ帳を作るというだけでなくC#の細かい動作関係を徹底的に調べるというのも目的のうちでして。。。

一つのソースファイルから条件付きコンパイルを利用して正式版とデバッグ版の2つの実行ファイルを出力するようにしています。
バッチファイルでcscのコマンドラインを細かく指定してやるだけなのですが、思ったよりも多機能でこれがなかなか楽しい((

というのはさておき。。。
リソースについてもいじってみました。

リソース…TTSneoでいうところの『使うファイル』、プロデルで言うと『素材』ですね。
つまりコンパイル時に実行ファイルに埋め込むファイルのことです。

プロデルやTTSneoでは "使うファイルは、" などの形でスクリプトファイルの中で宣言していましたが、C#の場合は別で指定するのが一般的です。
Visual Studioのプロジェクトであればファイルをプロジェクトで指定しますが、今回はVisual Studioを使っていないので、コンパイラ(csc.exe)のコマンドラインで指定しました。

・・・でそのリソースで遊んだ結果がこちら・・・

イメージ 1


デバッグ版はデバッグ関係のメッセージをコンソールに出力する機能やデバッグ(G)というメニューを表示する機能を正式版に追加した形です。
そしてそのデバッグ版だけにリソースとしてソースコードのファイルを埋め込んじゃいましたw
さらにそれをメニューから呼び出せるという・・・w

ちなみに正式版にはこの「デバッグ(&G)」が表示されないようになっています。

イメージ 2

コンパイラとかを使ってこういった遊びが簡単にできるのでC#は楽しいですね!!(

はい。


ちなみにソースコードは非常にカオスなことになっている模様です。(

※Twitterの本日の#a32trainツイート一覧

京成線 普通 上野行き 3010-8 #a32train 3010編成: 37 #keisei_unyo
京成線 普通 千葉中央行き モハ3301 #a32train 3304編成: B59 #keisei_unyo
京成線 普通 うすい行き 3025-6 #a32train 3025編成: 01 #keisei_unyo

修正もしてないのに急に動くようになったとか情弱の言い訳かよと自分でも呆れますが。。。
原因が分からず放置して、バージョン情報のウィンドウを作ってただけなんですけどねぇ。。。

問題のプログラム

    public StringSelectFile()

    {

       OpenFileDialog openDialog = new OpenFileDialog();

 

       openDialog.FileName         = ""; // デフォルトのファイル名

       openDialog.InitialDirectory = ""; // デフォルトのフォルダ

       openDialog.Filter           = this.fileFilter;// フィルタ(選択するファイルの拡張子)

       openDialog.FilterIndex      = this.fileFilterIndex;

       openDialog.Title            = "開く"; // ダイアログのタイトル

       openDialog.Multiselect      = false; //複数のファイルを選択できるようにする

       openDialog.RestoreDirectory = false; //ダイアログボックスを閉じた際にディレクトリをInitialDirectoryへ戻す

       openDialog.CheckFileExists  = true; // 存在しないファイルの名前が指定された時に警告を表示する

       openDialog.CheckPathExists  = true; //存在しないパスが指定された時に警告する

 

        if(openDialog.ShowDialog() == DialogResult.OK)

        {

            // 選択されたファイルのパスを返す

            returnopenDialog.FileName;

        }

        else

        {

            // 空の文字列を返す

            return "";

        }

 

        //return "";

    }

C#のソースコードの着色された状態での投稿試験です。



using System;

using System.Drawing;

using System.Windows.Forms;

using System.IO;

 

class CSNotepad

{

    public static void Main(string[] args)

    {

       OpenFileDialog openDialog = new OpenFileDialog();

        Console.WriteLine("openDialogを生成しました。");

 

       openDialog.FileName         = ""; // デフォルトのファイル名

       openDialog.InitialDirectory = ""; // デフォルトのフォルダ

       openDialog.Filter           = "TestExtensions(*.abp)|*.abp"; // フィルタ(選択するファイルの拡張子)

       openDialog.FilterIndex      = 1;

       openDialog.Title            = "開く"; // ダイアログのタイトル

       openDialog.Multiselect      = false; //複数のファイルを選択できるようにする

       openDialog.RestoreDirectory = false; //ダイアログボックスを閉じた際にディレクトリをInitialDirectoryへ戻す

       openDialog.CheckFileExists  = true; // 存在しないファイルの名前が指定された時に警告を表示する

       openDialog.CheckPathExists  = true; //存在しないパスが指定された時に警告する

        Console.WriteLine("openDialogの基礎情報の設定を行いました。");

 

        // ダイアログの結果を代入するオブジェクトを生成

       DialogResult openDialogResult = newDialogResult();

        Console.WriteLine("openDialogResultを生成しました。");

 

       openDialogResult = openDialog.ShowDialog();

        Console.WriteLine("ShowDialogを実行しました。");

 

        if(openDialogResult == System.Windows.Forms.DialogResult.OK)

        {

            // 選択されたファイルのパスを返す

            Console.WriteLine(openDialog.FileName);

        }

        /* else

        {

            // 空の文字列を返す

           Console.WriteLine("選択されませんでした");

        } */

    }

}

このページのトップヘ