Archive for 6月 11th, 2012

  1. Hello, Windows Forms(ClojureCLR) World!

    Posted on 6月 11th, 2012 by cx20

    Windows Forms(ClojureCLR)

    Windows フォーム(Windows Forms)は .NET Framework におけるユーザーインターフェイス基盤である。Windows アプリケーションにおけるウィンドウやダイアログに対応する。
    以下は ClojureCLR における Windows フォーム の例となっている。

    ソースコード

    (System.Reflection.Assembly/LoadWithPartialName "System.Windows.Forms")
     
    (import '(System.Windows.Forms Form))
    (import '(System.Windows.Forms Label))
    (import '(System.Windows.Forms Application))
     
    (def form (Form.))
    (doto form
      (.set_Size (new System.Drawing.Size 640 480))
      (.set_Text "Hello, World!")
    )
    (def label1 (Label.))
    (doto label1
      (.set_Size (new System.Drawing.Size 320 20))
      (.set_Text "Hello, Windows Forms(ClojureCLR) World!")
    )
    (doto (.Controls form)
    (.Add label1))
     
    (. Application Run form)

    実行方法

    C:¥> Clojure.Main Hello.clj

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, Windows Forms(ClojureCLR) World!   |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+