利用Delphi 2005 编写C#应用程序

2016-02-19 16:12 4 1 收藏

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享利用Delphi 2005 编写C#应用程序,希望可以对大家能有小小的帮助。

【 tulaoshi.com - 编程语言 】

  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: "项中添加保存工程的位置。可以点击后面的 ... 按钮,在弹出的保存对话中,选择保存位置。如下图所示:

  在 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   //  } }}

  说明:

  (1)其中using System ,表示使用System库,就像用delphi 写.net程序中开头的

  

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

  功能是一样的。

  (2)namespace Project1中的namespace 关键字表示一个名空间。

  (3)class Class 表示建立一个名字为Class的类。

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

  3、下面我们建立自己的程序,在程序中我们要实现的功能是:再输入主机名字时,显示该主机的ip地址,并显示相关的信息,如ip地址协议簇,以及ip协议的版本。步骤如下:

  (1)为了实现以上功能要在文件开头添加如下库的引用。代码如下:

  

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

  (2)在static void Main ( string [ ] args ) { }中添加如下代码:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  

//定义一个字符串型的变量,用来保存主机的名称。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 ) ) . Success ) //如果输入的格式不对。 {  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 ( ) ;}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  显示结果如下图所示:

  4、体会:

  总体感觉,Delphi 2005 中的提供了多种语言编写程序的平台,但C#编译的速度还比较快,不想再C++ Builder中的两种语言所产生的编译速度超慢的现象。可见,Borland工程师对于编译速度还是用心了,不过就是在启动时,因为载入的东西太多,启动速度让人着急。

来源:http://www.tulaoshi.com/n/20160219/1611315.html

延伸阅读
编写多文档应用程序 作者:王雪松 下载本文示例代码 一、 动态菜单与工具栏 (未登录状态) (登陆状态) 实现原理: 1.菜单 BOOL SetMenu( HWND hWnd, // handle to window HMENU hMenu /...
标签: Delphi
ClientSocket组件为客户端组件。它是通信的请求方,也就是说,它是主动地与服务器端建立连接。 ServerSocket组件为服务器端组件。它是通信的响应方,也就是说,它的动作是监听以及被动接受客户端的连接请求,并对请求进行回复。 ServerSocket组件可以同时接受一个或多个ClientSocket组件的连接请求,并与每个ClientSocket组...
标签: Delphi
  11.1 Help文件的建立 Help文件是 Micosoft Windows3.0 以上的版本提供的超文本帮助文件。利用这种超文本 , 用户可非常方便地使用帮助文件系统。帮助文件是以主题为主线进行编写的,一个主题可以跳转至相关的主题,也可按关键字进行主题查询。帮助文件与软件开发工具相结合,可实现应用程序的 ' 上下文敏感 ' ,而且帮助系统...
标签: Delphi
  所有的应用程序都是 TApplication的派生类。 TApplication 有三种方法调用在线帮助系统。 HelpContext方法可调用 WinHelp( 关于 Winhelp的内容见上节 ) 。它把 HelpFile 中的文件名和一个文本代码传递给 WinHelp 。 HelpFile是 TApplication 的字符串类型的属性,专门用来存放 Help 文件的。如果 HelpFile 属性是空字...
标签: ASP
       作者:rainbow ASP动网先锋      3.0 选择一个编辑器      尽管我是一个顽固的Notepad狂,但这次我不建议用它编辑源码。原因是你正在与真正的编程语言打交道,使用Notepad编辑源码编译时可能产生大量的错误信息行(C++程序员知道我在说什么。)  &n...

经验教程

333

收藏

99
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部