网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#应用
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.捕捉摄相头的数据流 .
.C#操作xml文件入门.
.C#中父窗口和子窗口之间实现控件.
.如何用C#编写文本编辑器.
.用Split()方法提取字符.
.提取HTML代码中文字的C#函数.
.在C#中建立复杂的、灵活的SQL查询.
.如何把html中的相对路径变成绝对.
.利用c#制作简单的留言板(2).
.汇总c#.net常用函数和方法集.
.C# 操作文件.
.C#编写的windows计算器-源代码.
.C#中除去所有在HTML元素中标记.
.给大家一个新的加密方法,C#的.
.一个调查实例<主要训练向panel中.
.C#使用指针.
.用C#实现pdf文件的完整性验证.
.C#关闭当前页面(借道JavaScript).
.Vsiaul C#如何读取注册信息.
.使用foreach来读取记录.

用C#开发智能手机软件:推箱子(二)

发表日期:2007-10-14


这次,我先介绍 Common/Fcl.cs 源程序文件。

以下是引用片段:
1 using System;
  2 using System.IO;
  3 using System.Drawing;
  4
  5 namespace Skyiv.Ben.PushBox.Common
  6 {
  7 /// 
  8 /// 这里是 .NET Framework 支持,而 .NET Compact Framework 不支持的东东
  9 /// 
  10 static class Fcl
  11 {
  12 /// 
  13 /// 获取为此环境定义的换行字符串。-- Environment
  14 /// 
  15 public static string NewLine { get { return "\r\n"; } }
  16
  17 /// 
  18 /// 打开一个文本文件,将文件的所有行读入一个字符串,然后关闭该文件。-- File
  19 /// 
  20 /// 要打开以进行读取的文件
  21 /// 包含文件所有行的字符串
  22 public static string ReadAllText(string path)
  23 {
  24 string text = "";
  25 if (File.Exists(path))
  26 {
  27 using (StreamReader sr = new StreamReader(path, Pub.Encode))
  28 {
  29 text = sr.ReadToEnd();
  30 }
  31 }
  32 return text;
  33 }
  34
  35 /// 
  36 /// 创建一个新文件,在其中写入指定的字符串,然后关闭该文件。-- File
  37 /// 
  38 /// 要写入的文件
  39 /// 要写入文件的字符串
  40 public static void WriteAllText(string path, string contents)
  41 {
  42 using (StreamWriter sw = new StreamWriter(path, false, Pub.Encode))
  43 {
  44 sw.Write(contents);
  45 }
  46 }
  47
  48 /// 
  49 /// 将指定的 Size 添加到指定的 Point。-- Point
  50 /// 
  51 /// 要添加的 Point
  52 /// 要添加的 Size
  53 /// 加法运算的结果
  54 public static Point Add(Point point, Size size)
  55 {
  56 return new Point(point.X + size.Width, point.Y + size.Height);
  57 }
  58
  59 /// 
  60 /// 将一维数组的大小更改为指定的新大小。-- Array
  61 /// 
  62 /// 数组元素的类型
  63 /// 要调整大小的一维数组
  64 /// 新数组的大小
  65 public static void Resize(ref T[] array, int newSize)
  66 {
  67 if (array != null && array.Length == newSize) return;
  68 if (array == null) array = new T[0];
  69 T[] newArray = new T[newSize];
  70 Array.Copy(array, newArray, Math.Min(array.Length, newArray.Length));
  71 array = newArray;
  72 }
  73 }
  74 }


  俗话说,工欲善其事,必先利其器。我们知道,Microsoft .NET Compact Framework 只是 Microsoft .NET Framework 的一个子集,她省略了一些不常用的功能。但是,如果我们恰好需要这些功能,只好自己重新实现一下了。这个 Fcl 静态类就是起这个作用的。源程序代码的注释已经写得很清楚了。

  Fcl.NewLine 我原本是想写成这样的:

以下是引用片段:
static class Fcl
  {
  static static string newLine;
  /// 
  /// 获取为此环境定义的换行字符串。-- Environment
  /// 
  public static string NewLine
  {
  get
  {
  if (newLine == null)
  {
  newLine = (Environment.OSVersion.Platform != PlatformID.Unix) ? "\r\n" : "\n";
  }
  return newLine;
  }
  }
  }


  可惜的是,这段代码无法在 .NET Compact Framework 下通过编译(如果是 .NET Framework 则没有问题)。原因是 PlatformID 枚举的成员:

  Unix 操作系统为 Unix。

  Win32NT 操作系统为 Windows NT 或较新的版本。

  Win32S 操作系统为 Win32s(Win32 子集)类型。

  Win32Windows 操作系统为 Windows 95 或较新的版本。

  WinCE 操作系统为 Windows CE。

  PlatformID.Unix 并不被 .NET CF 所支持。这实在是一件很奇怪的事,既然 .NET CF 都支持 PlatformID 的 Win32NT、Win32S、Win32Windows、WinCE 成员,为什么就不能支持 Unix 成员呢?这样,这个程序将来要移植到 Linux 操作系统时就有些小麻烦了。

  要知道,这在主窗体的代码中用以下一段代码来实现在智能手机上禁用“前端显示”功能。

以下是引用片段:
public partial class MainForm : Form
  {
  protected override void OnLoad(EventArgs e)
  {
  base.OnLoad(e);
  miTopMost.Enabled = (Environment.OSVersion.Platform != PlatformID.WinCE);
  env.LoadConfig();
  env.LoadGroup();
  LoadLevel(true);
  if (env.IsSave) Restore(env.Steps);
  }

上一篇:教你用C#开发智能手机软件:推箱子(一) 人气:13617
下一篇:用C#开发智能手机软件:推箱子(三) 人气:5844
浏览全部C#的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐