计算机二级:Delphi2005编写C#应用程序
来源:优易学  2011-6-7 12:57:48   【优易学:中国教育考试门户网】   资料下载   IT书店


  (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] 

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训