Archive for 6月 12th, 2012

  1. Hello, Windows Forms(Phalanger) World!

    Posted on 6月 12th, 2012 by cx20

    Windows Forms(Phalanger)

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

    ソースコード

    <?
    use System;
    use SystemWindowsForms;
    use SystemDrawing;
     
    class HelloForm extends SystemWindowsFormsForm
    {
        public function __construct()
        {
            $this->Size = new SystemDrawingSize( 640, 480 );
            $this->Text = 'Hello, World!';
     
            $label1 = new SystemWindowsFormsLabel();
            $label1->Size = new SystemDrawingSize( 320, 20 );
            $label1->Text = 'Hello, Windows Forms(Phalanger) World!';
            $this->Controls->Add( $label1 );
        }
        static function Main()
        {
            FormsApplication::Run(new HelloForm());
        }
    }
    ?>

    ソースコード(アプリケーション設定ファイル)

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <phpNet>
            <classLibrary>
                <add assembly="mscorlib" />
                <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
            </classLibrary>
        </phpNet>
    </configuration>

    実行方法

    C:¥> phpc /pure /target:winexe Hello.php

    実行結果

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