分享
 
 
 

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

王朝c#·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

这次,我先介绍 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);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有