2014年04月27日

環境変数の取得

   このエントリーをはてなブックマークに追加 Clip to Evernote
どう書く?orgに感謝を込めて」シリーズ その3

■問題 (出題者:mattsan さん)

環境変数の取得をお願いします。 取得した内容を表示できればよいですが、可能でしたらキーから値を得る手段の実装もお願いします。
 

Environmentクラスを使えば簡単ですね。
そう言えば、環境変数って最近ほとんど使ってないなー。


■C#で書いたコード
using System;
using System.Collections;

namespace Sample {
    class Program {
        static void Main(string[] args) {
            // すべての環境変数を列挙する
            foreach (DictionaryEntry de in Environment.GetEnvironmentVariables()) {
                Console.WriteLine("{0}={1}", de.Key, de.Value);
                Console.WriteLine();
            }
            Console.WriteLine();

            // Environment.GetEnvironmentVariable を利用し、指定した環境変数を取得する
            var names = new[] { "OS", "ComSpec", "ProgramData", "TEMP", "USERDOMAIN", "SystemDrive" };
            foreach (var name in names) {
                Console.WriteLine("{0}={1}", name, Environment.GetEnvironmentVariable(name));
                Console.WriteLine();
            }

        }
    }
}
  

Posted by gushwell at 22:00Comments(0)TrackBack(0)

2014年04月20日

C#でファイルサイズの取得

   このエントリーをはてなブックマークに追加 Clip to Evernote
どう書く?orgに感謝を込めて」シリーズ その2

■問題 (出題:ところてん さん)
ファイルが存在しているか調べ、存在していたらファイルサイズを取得し、表示してください。


2つの方法で書いてみました。

■C#のコード 
using System;
using System.IO;

namespace Sample {
    class Program {
        static void Main(string[] args) {
            PrintFileSize(@"c:\Windows\notepad.exe");
            PrintFileSize2(@"c:\Windows\notepad.exe");
            Console.ReadLine();
        }

        static void PrintFileSize(string filePath) {
            if (File.Exists(filePath)) {
                var fi = new FileInfo(filePath);
                Console.WriteLine("{0} byte(s)",fi.Length);
            }
        }

        static void PrintFileSize2(string filePath) {
            var fi = new FileInfo(filePath);
            if (fi.Exists) {
                Console.WriteLine("{0} byte(s)", fi.Length);
            }
        }
    }
}


  
Posted by gushwell at 22:00Comments(0)TrackBack(0)

2014年04月17日

クリップボードへの転送

   このエントリーをはてなブックマークに追加 Clip to Evernote


どう書く?orgに感謝を込めて」で書いたように、以前書いたコードをアップしていきます。
第1回目は、クリップボードへの転送 です。 

■問題 (出題者:mattsanさん)
クリップボード(や同等の機能)へテキストを転送するプログラムをお願いします。 
また可能でしたらクリップボードのデータを取り出すプログラムもお願いします。
システムに依存する内容ですが、応用範囲が広いと思いましたので出題させてもらいました。
  
■コード   
private void buttonCopy_Click(object sender, EventArgs e) {
    Clipboard.SetText(textBox1.Text);
}

private void buttonPaste_Click_1(object sender, EventArgs e) {
    textBox2.Text = Clipboard.GetText();
}

private void buttonImagePaste_Click(object sender, EventArgs e) {
    var bitmap = Clipboard.GetImage();
    if (bitmap != null) {
        pictureBox1.Image = bitmap;
    }
}
イメージについては、ペーストだけのコード。これだけのコードで、ペイントアプリなどでコピーしたものを貼利付けられます。   
Posted by gushwell at 22:30Comments(0)TrackBack(0)

2014年04月10日

どう書く?.org に感謝を込めて

   このエントリーをはてなブックマークに追加 Clip to Evernote

一時期活発に投稿がなされていた「どう書く?.org(*)」ですが、そのブームも下火となり、

サイトもGitHubへ移行中とかで現在は閲覧できなくなっているようです。

(*) 出されたお題について、参加者がさまざまな言語で解いたプログラムコードを投稿し合い
  みんなで共有するというサイト。お題自体も参加者が自由に掲載できました。

残念ながら、そのGitHubへの移行も進んでいないようです。

僕は投稿自体は数問程度しかしなかったのですが、解いた問題は結構な数に上ります。もちろん、使用したプログラミング言語はC#です。
ハードディスクの肥やしにしておいてもしかたがないので、そのコードを順次アップしてくことで、
今は無き(?)「どう書く?org」に敬意と感謝を表したいと思います。
そして、これが皆さんのC#プログラミングのヒントになればと思います。

なんで今更「どう書く?org」なのというのは有りますが、ここに書く話題がなかなか見つからないというのも、その理由のひとつではあります(^^;; 


メルマガ「C#プログラミングレッスン」のどう書く?org編で紹介した問題もコードを再度見直してここにアップするつもりです。
気が向いたら、C#4.0, C#5.0の機能を使ったコードに書き直してアップすることもあるかもしれませんが、基本は、C#3.0で動作するコードです。
掲載順序はできるだけ易しい問題からとは思ってますが、そのときの気分次第かな(^^。

コードのすべては、Visual Studio  2013 で動作確認するつもりです。
とはいえ、間違っているコードもあるかもしれません。もし気が付かれた方はコメントで指摘していただけると嬉しいです。

なお、一部のソースでは、Interactive Extensions Main Library を利用しています。
Interactive Extensions Main Libraryは、Visual Studioの[ツール] - [ライブラリパッケージマネージャー] - [ソリューションの NuGetパッケージ管理...] で Ix_Main で検索して、インストールできます。
Interactive Extensions(Ix)については、こちらを参照してください。

出題者の方の名前がわかるものについては、名前(ハンドルネーム)を記すこととします。

  
Posted by gushwell at 21:30Comments(0)TrackBack(0)

2014年04月09日

WindowsXP のサポートが終了しました

   このエントリーをはてなブックマークに追加 Clip to Evernote
WindowsXP のサポートが終了しましたね。
このブログを訪問してくださる方に、サポート終了を知らない方は居ないと思いますが、
いちおうお知らせです。
今後新しいセキュリティ更新プログラムがマイクロソフト社から提供されなくなります。ネットに接続するとウイルス感染・情報漏洩などのリスクが今以上に高まりますので、新しいOSへの移行をおすすめします。


02
  
Posted by gushwell at 20:30Comments(0)TrackBack(0)

2014年04月04日

マイクロソフト MVP アワード受賞しました。

   このエントリーをはてなブックマークに追加 Clip to Evernote

今年も Microsoft MVP(Most Valuable Professional)アワードを受賞することができました。カテゴリはこれまで同様 Visual C# です。おかげさまで 2005年4月からの連続受賞で10回目となりました。

受賞する度に思いますが、よくここまで続いたなーって思います。僕の場合はほぼ100%オンラインでの活動で、正直、C#コミュニティに貢献しているという実感はあまりないですが、このように評価していただけてとても嬉しく思っています。
 
また、気持ちを新たに(マイペースで)情報発信していこいうと考えています。

  
Posted by gushwell at 22:05Comments(0)TrackBack(0)