在上篇文章「
使用 c# 開發智慧型手機軟體:推箱子(一)
」中,我對推箱子程式作了總體介紹。這次,我先介紹 common/fcl.cs 源程式檔案。
1using
system;
2using
system.io;
3using
system.drawing;45
namespace
skyiv.ben.pushbox.common6 }
1617
///18
///開啟乙個文字檔案,將檔案的所有行讀入乙個字串,然後關閉該檔案。-- file
19/// 20
///要開啟以進行讀取的檔案 21
///包含檔案所有行的字串 22
public
static
string
readalltext(
string
path)
2331}32
return
text;33}
3435
///36
///建立乙個新檔案,在其中寫入指定的字串,然後關閉該檔案。-- file
37/// 38
///要寫入的檔案 39
///要寫入檔案的字串 40
public
static
void
writealltext(
string
path,
string
contents)
4146}47
48///
49///
將指定的 size 新增到指定的 point。-- point
50/// 51
///要新增的 point 52
///要新增的 size 53
///加法運算的結果 54
public
static
point add(point point, size size)
5558
59///
60///
將一維陣列的大小更改為指定的新大小。-- array
61/// 62
///陣列元素的型別 63
///要調整大小的一維陣列 64
///新陣列的大小 65
public
static
void
resize
<
t>
(ref
t array,
intnewsize)
6673}74
}75俗話說,工欲善其事,必先利其器。我們知道,microsoft .net compact framework 只是 microsoft .net framework 的乙個子集,她省略了一些不常用的功能。但是,如果我們恰好需要這些功能,只好自己重新實現一下了。這個 fcl 靜態類就是起這個作用的。源程式**的注釋已經寫得很清楚了。
fcl.newline 我原本是想寫成這樣的:
static
class
fclreturn
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
使用 C 開發智慧型手機軟體 推箱子 十四
這是 使用 c 開發智慧型手機軟體 推箱子 系列文章的第十四篇。在這篇文章中,介紹 window errormsgdlg.cs 源程式檔案。這個源程式檔案包含 errormsgdlg 類,該類繼承自 system.windows.forms.form 類,表示推箱子的 錯誤資訊 對話方塊。如下圖所示...
使用 C 開發智慧型手機軟體 推箱子 三
這是 使用 c 開發智慧型手機軟體 推箱子 系列文章的第三篇。在這篇文章中,介紹 common block.cs 源程式檔案。1namespace skyiv.ben.pushbox.common223 24public static char getchar ushort block 2528 2...
使用 C 開發智慧型手機軟體 推箱子 十七
這是 使用 c 開發智慧型手機軟體 推箱子 系列文章的第十七篇。在這篇文章中,介紹 window selectgroupdlg.cs 源程式檔案。這個源程式檔案包含 selectgroupdlg 類,該類繼承自 system.windows.forms.form 類,表示推箱子的 選組 對話方塊。如...