• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 利用Delphi 2005 編寫C#應用程序

    發表于:2007-05-25來源:作者:點擊數: 標簽:應用程序2005利用編寫delphi
    Delphi 2005 被Broland成為 windows 平臺上的最終的完整 解決方案 。 Delphi 2005 集成了Delphi , C # , Microsoft .NET Framework and Win32 ,支持圖形用戶接口( GUI ) , Web開發, 數據庫 、富客戶端應用程序( rich-client applications )等多種開發 開
    Delphi 2005 被Broland成為windows平臺上的最終的完整解決方案。 Delphi 2005 集成了Delphi , C # , Microsoft .NET Framework and Win32 ,支持圖形用戶接口( GUI ) , Web開發, 數據庫、富客戶端應用程序( rich-client applications )等多種開發開發語言,同時還集成了軟件生命周期管理( ALM )功能及開發者生產力促進功能(即RAD)。在Delphi 2005中,所提供的IDE使windows平臺的開發更快速,更容易,并且新的版本能更好的支持Win32 標準,同時還提供了一個世界級水平的編譯器和調試器;他還提供了大量的可重用的組件,一個強大的代碼生成向導,可以幫你更快的產生你所想要的代碼;Delphi 2005 還 包括了嶄新的第二代企業核心對象技術 ( Borland Enterprise Core Objects II即ECO II ) 。ECO II 為模型驅動的.NET企業應用提供了開發框架。Delphi 2005還能協助開發團隊在創建新應用的同時,維護及改進現有的Windows應用。


      總之,憑借Delphi 2005,開發人員既能繼續改進Win32應用,又能先行采用.NET及ASP.NET,是一款值得使用的開發工具。這篇文章中我們就在Delphi 2005 開發環境中體驗一下,Borland為我們提供的C# 開發功能。閑話少敘,還是趕快進入我們的C#體驗之旅吧!


      1、先打開Delphi 2005 開發環境。點擊菜單中的“ file ” ,在顯示的下拉菜單中選擇“New” ,如下圖所示:



      鼠標點擊" new "會在右面會在右面出現一個下級菜單。如下圖所示:



      我們在其中選擇“ other ”,緊接著回彈出“ new Items ”對話框。如下圖所示:



      我們在其中的左邊選擇“ c # Projects ”,并在右面,選擇“ Console Application ”,點擊“ ok ”按鈕。會出現“ New Application ”對話框。在其中“ Name: ”中添加一個工程的名字,在" Location: "項中添加保存工程的位置??梢渣c擊后面的“ ... ”按鈕,在彈出的保存對話中,選擇保存位置。如下圖所示:



      在“ New Application ”對話框中點擊" ok "按鈕,進入Delphi 2005 的編程環境。


      下圖顯示的是其中的項目窗口中的內容:



      因為我們在“ New Application ”對話框中沒有改變工程的名稱,使用了默認的" Project1 "所以在此顯示為" Project1.exe " (我們在這里將工程命名為“ colcsharpip1” ,所以顯示為“ colcsharpip1 ” )?!?AssemblyInfo.cs ”是與系統有關的文件, “ Class.cs ”則是我們要添加代碼的地方。






     2、默認的情況下,在編譯器的正中間就應該顯示編譯器給我們添加的代碼。如下所示:


    using System ;


    namespace Project1
    {
     /// <summary>
     /// Summary description for Class .
     /// </summary>
     class Class
     {
      /// <summary>
      /// The main entry point for the application .
      /// </summary>
      [STAThread]
      static void Main ( string [ ] args )
      {
       //
       // TODO : Add code to start application here
       //
      }
     }
    }


      說明:


     ?。?)其中using System ,表示使用System庫,就像用delphi 寫.net程序中開頭的


    uses
    System . Drawing , System . Collections , System . ComponentModel ,
    System . Windows . Forms , System . Data ;


      功能是一樣的。


     ?。?)namespace Project1中的namespace 關鍵字表示一個名空間。


     ?。?)class Class 表示建立一個名字為Class的類。


     ?。?)static void Main ( string [ ] args )才是程序的入口函數。


      3、下面我們建立自己的程序,在程序中我們要實現的功能是:再輸入主機名字時,顯示該主機的ip地址,并顯示相關的信息,如ip地址協議簇,以及ip協議的版本。步驟如下:


     ?。?)為了實現以上功能要在文件開頭添加如下庫的引用。代碼如下:


    //添加所要用到的庫文件。
    using System . Net ;
    using System . Net . Sockets ;
    using System . Text . RegularExpressions ;


     ?。?)在static void Main ( string [ ] args ) { }中添加如下代碼:


    //定義一個字符串型的變量,用來保存主機的名稱。
    string server = null ;


    // 定義了一個用戶輸入的規則。
    // 用來檢查用戶的輸入。
    // 他只允許用戶輸入2 ~ 40個字符長度的字符串。
    Regex rex = new Regex ( @ " ^ [ a – z A – Z ] \ w { 1 , 39 } $ " ) ;


    if ( args . Length < 1) //如果輸入的字符長度小于1 。
    {
     //如果沒有主機名稱被作為程序的參數輸入,
     // 那么就一當前主機的名稱作為默認的主機.
     server = Dns . GetHostName ( ) ; //使用Dns類的GetHostName方法得到主機名稱,并保存在server變量中。
     Console . WriteLine ( " Using current host : " + server ) ;
     //使用Console類的WriteLine方法,在控制面板中輸出信息。
    }
    else //如果輸入的字符長度大于1 。
    {
     server = args [ 0 ] ; //得到參數中的值,并保存在server變量中。
     if ( ! ( rex . Match ( server ) ) . Suclearcase/" target="_blank" >ccess ) //如果輸入的格式不對。
     {
      Console . WriteLine ( " Input string format not allowed . " ) ; //顯示提示信息。
      return ;
     }


     // 設置顯示所用的文字類型。


     System . Text . ASCIIEncoding ASCII = new System . Text . ASCIIEncoding ( ) ;


     // 得到主機相關信息。
     IPHostEntry heserver = Dns . Resolve ( server ) ;


     //列舉主機地址列表
     foreach (IPAddress curAdd in heserver . AddressList )
     {
      // 顯示主機所支持的地址協議簇類型.
      // 如果這個主機所支持的地址協議簇類型是IPv6 - enabled ,那么它的值為: InternNetworkV6 .
      // 如果這個主機所支持的地址協議簇類型也是IPv4 - enabled ,那么它的值為 InterNetwork.
      Console . WriteLine ( " AddressFamily : " + curAdd . AddressFamily . ToString ( ) ) ;


      // 顯示IPV6 地址中的ScopeId 屬性 .
      if ( curAdd . AddressFamily . ToString ( ) == ProtocolFamily . InterNetworkV6 . ToString ( ) )
    Console . WriteLine ( " Scope Id : " + curAdd . ScopeId . ToString ( ) ) ;


       // 使用標準格式顯示主機的IP地址.
       // 如果是IPv4格式將被顯示為點分格式。
       // 如果是IPv6格式將被現實為冒號分割的十六進制方式.
       Console . WriteLine ( " Address : " + curAdd . ToString ( ) ) ;


      // 按字節格式顯示主機的IP地址。
      Console . Write ( " AddressBytes : " ) ;


      Byte[] bytes = curAdd . GetAddressBytes ( ) ;
      for (int i = 0 ; i < bytes . Length ; i + + )
      {
       Console . Write ( bytes [ i ] ) ;
      }


      Console . WriteLine ( " \ r \ n " ) ;


     }


     // 顯示主機是否支持IPv4和IPv6。
     Console . WriteLine ( " \ r \ n SupportsIPv4 : " + Socket . SupportsIPv4 ) ;
     Console . WriteLine ( " SupportsIPv6 : " + Socket . SupportsIPv6 ) ;


     if ( Socket . SupportsIPv6 ) //如果支持IPv6
     {
      // 顯示IPv6種偵聽的地址。
      Console . WriteLine ( " \ r \ n IPv6Any : " + IPAddress . IPv6Any . ToString ( ) ) ;


      // 顯示主機的回送地址.
      Console . WriteLine ( " IPv6Loopback : " + IPAddress . IPv6Loopback . ToString ( ) ) ;


      Console . WriteLine ( " IsLoopback ( IPv6Loopback ) : " + IPAddress . IsLoopback ( IPAddress . IPv6Loopback ) ) ;
     }


     //顯示IPv4主機的回送地址。
     Console . WriteLine ( " IsLoopback ( Loopback ) : " + IPAddress . IsLoopback ( IPAddress . Loopback ) ) ;


     //輸入任意鍵程序繼續
     Console . Read ( ) ;
    }


      顯示結果如下圖所示:



      4、體會:


      總體感覺,Delphi 2005 中的提供了多種語言編寫程序的平臺,但C#編譯的速度還比較快,不想再C++ Builder中的兩種語言所產生的編譯速度超慢的現象??梢?,Borland工程師對于編譯速度還是用心了,不過就是在啟動時,因為載入的東西太多,啟動速度讓人著急。

    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>