工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > Delphi > 正文
利用Delphi 2005 编写C#应用程序
[文章信息]
作者:潇潇
时间:2004-12-21
出处:天极网
责任编辑:方舟
[文章导读]
本文介绍利用Delphi 2005编写C#程序的步骤和方法
advertisement
热点推荐
· 真没想到VB也可以这样用之指针技术
· 禁止QQ登录的方法
· 给你的XML文件做个数字签名
· ImageReady制作“焰火”小动画
· Java加密和数字签名编程快速入门
[正文]

上一页  1 2  

 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程序中开头的

uses
System . 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 ) { }中添加如下代码:

//定义一个字符串型的变量,用来保存主机的名称。
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 ( ) ;
}

  显示结果如下图所示:


  4、体会:

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

上一页  1 2  

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • 图解Delphi 8 Eco 开发实战
  • Delphi中实现DBGrid列宽度自动调整
  • 奇迹重现 Delphi 2005赏析
  • Delphi 2005抢先预览
  • 利用Delphi编写Socket通信程序
  • 民营家电商排队造手机 设备商全面杀入
  • 英特尔澄清杨旭任职传闻 官方没宣布此消息
  • 国资委河北密制联通拆分方案
  • 垃圾邮件害人害企害国 清除垃圾邮件不手软
  • 中兴携手阿尔卡特 全球逐鹿CDMA
  • 用友总裁王文京:誓将ERP变成“大众消费”
  • 香港消费者委员会:数码相机最贵未必最好
  • 外电称中兴正评估西门子手机业务 或能并购
  • Advertisement