第五章符串和檔案

2022-12-27 06:24:02 字數 4624 閱讀 4080

第四章字串和檔案i/o

4.1 字串

字串是ascii字元的集合。如同其他語言一樣,labview也提供了各種處理字串的功能,如果想獲得字串的例子,可檢視examples\general\下面扼要介紹一些內容。

● 建立字串控制物件和顯示物件

可以在controlsstring & table 中看到右邊所顯示字串控制物件和顯示物件。還可以使用操作工具或者標籤工具輸入或者改變字串控制物件中的文字。用移位工具拖曳字串控制物件和顯示物件的邊角可以增大它們的面積。

練習 4-1 組合字串

目的:使用一些字串功能函式將乙個數值轉換成字串,並把該字串和其他一些字串連線起來組成乙個新的輸出字串。

前面板開啟乙個新的前面板,按照下圖向其中新增物件。

其中的兩個字串控制物件和數值控制物件可以合併成乙個輸出字串並顯示在字串顯示器中。數值顯示器顯示出字串的長度。

本練習中輸出字串是乙個gpib(ieee 488)命令字串,它可用來與和串列埠儀器(rs-232 或者 rs-422)進行通訊。

流程圖● format into string函式(functionsstring)——在本練習中,它用於對數值和字串進行格式化,使它們成為乙個輸出字串。用變形工具可以新增三個加和輸入。

● string length函式(functionsstring)——在本練習中,它用於返回乙個字串的位元組數

● 執行該vi。注意,format into string 功能函式將兩個字串控制物件和數值控制物件組合成乙個輸出字串。

● 把該vi儲存為 build 在下乙個練習中還將用到這個vi。

● 字串格式的設定:選中format into string函式,單擊右鍵,在快速選單中選擇edit format string,可分別對個輸入的各部分格式做設定。

練習 4-1 結束。

練習 4-2 字串子集和數值的提取

目的:建立乙個字串的子集,其中含有某個數值的字串顯示,再將它轉換成數值。

開啟 examples\general\中的parse 用預設輸入值執行該vi。注意,dc的字串子集被用於輸入字串。還要注意,字串的數值部分被提取出來,並轉換為數值。

您可以嘗試使用不同的控制數值(記住陣列式的字串是從0開始進行編號),或者您可以返回到流程圖,檢視怎樣從輸入字串中提取出其中的元素。

string subset函式(functionsstring)——在本練習中,它用於返回偏移位址開始的子字串以及位元組數。第乙個偏移位址是0。

很多情況下,必須把字串轉換成數值,例如需要將從儀器中得到的資料字串轉換成數值。

scan from string函式(functionsstring)——在這個例子中,它用於掃瞄字串,並將有效的數值(0到9,正負,e,e和分號)轉換成數值。如果連線了乙個格式字串,它將根據字串指定的格式進行轉換,否則將進行預設格式的轉換。該函式從偏移位址的string處開始掃瞄。

第乙個字元的偏移位址是0。這個函式在已知頭長度(本例中是volts dc)時或者字串只含有有效字元時很有用。

選擇fileclose,關閉該vi。注意不要儲存它。

練習 4-2 結束。

4.2 檔案的輸入/輸出(i/o)

檔案i/o功能函式是一組功能強大、伸縮性強的檔案處理工具。它們不僅可以讀寫資料,還可以移動、重新命名檔案與目錄。建立電子**格式的、由可讀的ascii文字組成的檔案,以及為了提高讀寫速度和壓縮率採用二進位制的格式寫入資料。

可以採用下面三種檔案格式儲存或者獲得資料:

● ascii位元組流——如果希望讓其他的軟體(譬如字處理程式或者電子**程式)也可以訪問資料,就需要將資料儲存為ascii格式。為此,您需要把所有資料都轉換為ascii字串。

● 資料記錄檔案——這種檔案採用的是只有g語言可以訪問的二進位制格式。資料記錄檔案類似於資料庫檔案,因為它可以把不同的資料型別儲存到同乙個檔案記錄中。

● 二進位制位元組流——這種檔案的格式是最緊湊、最快速地儲存檔案的格式。您必須把資料轉換成二進位制字串的格式,還必須清楚地知道在對檔案讀寫資料時採用的是哪種資料格式。

因為ascii位元組流格式是最常用的資料檔案格式,所以本節著重介紹這種格式。如果您想獲得關於檔案i/o的例子,請參考 examples\file。

4.2.1 檔案 i/o 功能函式

大多數的檔案i/o操作都包括三個基本的步驟:開啟乙個已有的檔案或者新建乙個檔案;對檔案進行讀寫;關閉檔案。labview在functions file i/o中提供了很多有用的工具 vi。

本節主要介紹9個高階工具vi,這些工具vi可以把錯誤檢查和錯誤處理等功能與檔案i/o功能函式結合起來。

以下5個功能從左到右對應於上面5個圖示。

● write to spreadsheet file vi——用於將由單精度數值組成的一維或者二維陣列轉換成文字字串,再將它寫入乙個新建檔案或者已有檔案。該vi先開啟或者新建檔案,之後再關閉檔案。它可以用於建立能夠被大多數電子**軟體讀取的文字檔案。

● read from spreadsheet file vi——用於從某個檔案的特定位置開始讀取指定個數的行或者列內容,再將資料轉換成二維、單精度陣列。該vi先開啟檔案,之後再關閉檔案。它可以用於讀取用文字格式儲存的電子**檔案。

● write characters to file vi——用於將乙個字串寫入乙個新建檔案或者已有檔案。該vi開啟這個檔案、寫入資料,再關閉檔案。

● read characters from file vi——用於從某個檔案的特定位置開始讀取指定個數的字元。該vi先開啟檔案,之後再關閉檔案。

● read lines from file vi——用於從某個檔案的特定位置開始讀取指定個數的行內容。該vi先開啟檔案,之後再關閉檔案。

如果想檢視其他的檔案i/o 功能函式,請選擇functionfile i/o binary file vis 或者functionfile i/oadvanced file functions。

4.2.2 將資料寫入電子**檔案

將資料儲存到檔案的最常見應用之一是設定文字檔案的格式以便在電子**檔案中開啟它。大多數電子**檔案用tab鍵分割各列,而用eol(段尾)分隔各行,如下圖所示。

用乙個電子**程式(如 excel)開啟該檔案可以看到下面這個**。

練習 4-3 將資料寫入電子**檔案

目的:修改乙個已有的 vi以使用檔案 i/o 功能函式,以便可以將資料以 ascii 格式儲存到乙個新的檔案。然後就可以用乙個電子**程式開啟該檔案。

前面板開啟前面練習中建立的graph w**eform 當呼叫這個vi時,該vi將產生兩個資料陣列,並將它們繪製在乙個圖區中。您需要對該vi進行修改,從而把兩個陣列寫入乙個檔案,格式是每列含有乙個陣列。

流程圖開啟graph w**eform 的流程圖,按照下圖在流程圖的右下角新增功能函式。

● write to spreadsheet file vi (functionsfile i/o)用於將二維陣列轉換成電子**字串,再將它寫入乙個檔案。如果沒有指定路徑名稱,將會彈出乙個檔案對話方塊,提示輸入檔名。該vi將把一維或者二維陣列寫入檔案。

這個例子中,因為用的是二維陣列,所以無需連線一維輸入端子。

● boolean常數 (functionsboolean)用於控制是否在寫入資料之前轉換成二維陣列。在這個例子中需要對資料進行轉換。因為電子**檔案的每列都含有乙個資料陣列,所以必須先轉換成二維陣列。

● 返回前面板,執行該vi。資料陣列產生以後,會出現乙個檔案對話方塊提示輸入新建檔案的檔名。輸入檔名,並單擊 ok。

● 可以嘗試選擇轉換與不轉換兩種情況執行程式,檢視結果差別。

● 儲存該vi為w**eform arrays to 並關閉該vi。

現在可以用電子**軟體或者文字編輯器開啟或者編輯剛才建立的檔案。可以看到兩列**,每列含有100個元素。

在這個例子中,直到所有陣列都被採集以後,資料才可以被轉換或者寫入檔案。如果需要更大的資料快取和希望在資料產生後把它們寫入到硬碟,就需要使用另外乙個檔案i/o vi。

練習 4-3 結束。

練習 4-4 向檔案新增資料

目的:建立乙個 vi,可以把溫度資料以 ascii 格式新增到某個檔案中。該 vi 使用 for 迴圈產生溫度資料,並將它們儲存到乙個檔案中。

在每個迴圈期間,您都要把資料轉換成字串,新增乙個逗號作為分隔符,並將字串新增到檔案中。

前面板開啟乙個新的前面板,並按照下圖放置物件。

前面板中包括乙個數字式顯示器和乙個波形圖。「資料點個數」控制物件指定了需要採集和寫入檔案的溫度資料的數量。波形圖表則用於顯示溫度曲線。

將波形圖表的y軸範圍設定為70.0到90.0,x軸範圍設定為0到20。

流程圖● 開啟流程圖,新增for迴圈並增大它的面積。該vi將產生由「資料點個數」控制物件指定的個數的溫度資料。

● 在迴圈中加乙個移位暫存器,方法是用滑鼠右鍵單擊迴圈邊界,在快捷選單中選擇移位暫存器。這個移位暫存器中將含有檔案的路徑名。

● 完成物件的連線。

● empty path 常數(functionsfile i\ofile constants)——用於初始化移位暫存器,以保證需要對檔案寫入資料時路徑都是空的。會出現乙個檔案對話方塊提示輸入檔名。

● digital thermometer vi(functionsselect a vi…)——返回乙個模擬溫度測量值(**)。

● format into string函式(functionsstring)——將溫度資料轉換成字串,並且在資料後面增加乙個逗號。

第五章圖形和文字輸出

windows使用圖形裝置介面 gdi 進行圖形輸出和文字輸出,mfc封裝了gdi物件,提供了cgdiobject類和cdc類支援圖形輸出和文字輸出,本章你將學習使用cgdiobject類和cdc類在檢視中輸出各種圖形和文字的方法和技巧。windows作業系統通過圖形裝置介面,簡稱gdi graph...

第五章人事檔案管理

一 目的 為規範集團人事檔案管理,完善各類人事檔案資料,明確檔案管理流程和許可權,同時為人員的任用 評估提供有效的參考依據。二 範圍 適用於集團所有員工檔案的管理。第一節人事檔案的分類 根據各類檔案的特徵及工作要求,將人事檔案分為以下四類 一 員工正規人事檔案 指員工在當地人才市場或人事局託管的正規...

第五章人事

第五章人事 人力資源管理 第一節人事概述 人力資源的含義 是指綜合運用現代科學技術方法豐富人的知識 提公升人的能力 激發人的活力 發揮人的潛能。廣義 包括 現實的人力資源 潛在的人力資源 未來的人力資源 人力資源的特點 1 人力資源的能動性 2 人力資源的時效性 3 人力資源的時代性 4 人力資源具...