C#數(shù)據(jù)保存

在手動(dòng)X光檢測(cè)設(shè)備中,為了節(jié)省成本和空間,我們放棄了觸摸屏,而選擇利用PC來(lái)進(jìn)行參數(shù)的設(shè)置,設(shè)備狀態(tài)的查詢。數(shù)據(jù)的保存,更改,記錄也是軟件的關(guān)鍵。
C#中配置文件的種類有多種,經(jīng)常使用的便是XML,INI和JSON,這里我們便討論INI保存數(shù)據(jù)的方式。

Ini配置文件的格式類似于txt格式,具有鍵值屬性,圖中[道青科技]為節(jié)點(diǎn)名,而手動(dòng)線和自動(dòng)線則為該節(jié)點(diǎn)下鍵名,等號(hào)后面的便是值。寫入和讀取的方式一樣,都是節(jié)點(diǎn)名+鍵名+值。
Ini文件的路徑一般都放在應(yīng)用文件里,一般放在引用文件中bin/Debug文件夾中,取名config.ini,其路徑可以通過(guò)以下代碼獲?。?/p>
?INIPath?=?Application.StartupPath?+?"\\config.ini";
對(duì)于讀寫文件,刪除文件的方法?WritePrivateProfileString,GetPrivateProfileString,?WritePrivateProfileSection,在Windows的動(dòng)態(tài)鏈接庫(kù)kernel32中,可以調(diào)用后使用,以下便是調(diào)動(dòng)方法。
?[System.Runtime.InteropServices.DllImport("kernel32")]
?private?static?extern?long?WritePrivateProfileString(string?section,?string?key,?string?val,?string?filepath);
同楊,可以調(diào)用GetPrivateProfileString,?WritePrivateProfileSection函數(shù)。
函數(shù)引用
??for?(int?i?=?0;?i?<?8;?i++)
????????????????{
?ServoPoint[i]?=?Convert.ToInt16(config.INIRead("軸位置地址",?i.ToString()?+?"#軸",?INIPath));
????????????????}
上面的代碼依次讀取config.ini中節(jié)點(diǎn)名“軸位置地址0~7”中“0~7軸”的值,讀取的數(shù)據(jù)為String類型,轉(zhuǎn)換成INT就是所讀取的地址。
寫入的方式同讀取基本相同。