第 13 章 檔案與資料夾處理 13-1 檔案與資料夾操作 13-1 檔案與資料夾操作 13-2 循序檔案的文字檔案讀寫 13-2 循序檔案的文字檔案讀寫 13-3 隨機檔案的處理 13-3 隨機檔案的處理 13-4 二進位檔案的讀寫 13-4 二進位檔案的讀寫 13-5 檔案對話方塊 13-5 檔案對話方塊.

Slides:



Advertisements
Similar presentations
6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
Advertisements

布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
建立使用案例敘述 --Use Case Narrative
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
:Word Morphing ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10508:word morphing 解題者:楊家豪 解題日期: 2006 年 5 月 21 日 題意: 第一行給你兩個正整數, 第一個代表下面會出現幾個字串,
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
BY OX. 檢視表與資料表的差異性 查詢 (query) 檢視表 (View) 的紀錄,是經由查詢 (query) 而來,而檢 視表的資料來源可以是單一資料表或是多資料表,甚 至其他檢視表 但檢視表中的紀錄只存在資料表中.
1 Web of Science 利用指引 單元二 瀏覽與處理查詢結果. 2 瀏覽檢索結果 查出的結果,預設以時間排列, 使用者可改變結果的排列方式: 還可以依被引用次數、相關度、 第一作者、刊名、出版年等排序 回到前先查的結果畫面 點選想看資料的完整書目 本館訂購範圍的期刊 全文,便可直接連結.
建立靜態資料成員 關鍵字: static 靜態資料成員不屬於特定物件,而是該類物件 所共同擁有的,可做為類別範圍裡的靜態變數。
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
第 13 章 常數、靜態成員與朋友關 係 13-1 常數物件與成員 13-1 常數物件與成員 13-2 物件成員與巢狀類別 13-2 物件成員與巢狀類別 13-3 靜態成員資料與函數 13-3 靜態成員資料與函數 13-4 朋友關係 13-4 朋友關係.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
第三章 變數與繫結 陳維魁 博士 儒林圖書公司. 2 大綱  變數的定義  變數元件  儲存區配置問題  參考的透明性  完全計算  捷徑計算  繫結 (binding)  繫結時間  精選習題.
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
長訊科技 EVRCOM Voice Mail System 使用者操作說明及流程. 自動總機 -- 來電語音轉接服務流程 ( 範例流程 )
第 7 章 程序與函數 7-1 模組化程式設計 7-1 模組化程式設計 7-2 VB.NET 的程序與函數 7-2 VB.NET 的程序與函數 7-3 程序與函數的變數範圍 7-3 程序與函數的變數範圍 7-4 VB.NET 常用的內建函數 7-4 VB.NET 常用的內建函數 7-5 遞迴函數 7-5.
Introduction to Java Programming Lecture 5: Using Java Classes : String & Math Spring 2009.
第 9 章 視窗應用程式的事件處理 9-1 事件的基礎 9-1 事件的基礎 9-2 表單事件 9-2 表單事件 9-3 滑鼠事件 9-3 滑鼠事件 9-4 鍵盤事件 9-4 鍵盤事件 9-5 表單的鍵盤事件 9-5 表單的鍵盤事件 9-6 控制項的事件 9-6 控制項的事件.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出與繼續迴圈 6-5 跳出與繼續迴圈 6-6 錯誤處理 6-6 錯誤處理.
圖層的操作與管理 圖層的作用就如同一張張透明的賽璐璐片, 你可以將動畫中的每項物件, 放置在不同圖 層中, 圖層交疊就形成完整的畫面。在各圖 層中的物件, 做任何的移動或變化, 都不會 相互干擾, 所以當你編輯一個物件時, 只要 在物件所在的圖層進行操作, 將可大幅降低 製作過程的複雜度與難度。
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
第12章 建立多表單與模組的應用程式 12-1 Visual Basic的方案與專案 12-2 模組化Visual Basic應用程式
1 Netlibrary 電子書 Netlibrary 創始於 1998 年,是世界知名的電子書資 料庫,提供 450 多家出版社所出版近 100,962 ( 止)本的電子書,且以每月 2,000 本的 速度增加中。其中 80% 屬於學術性圖書,其餘 20% 一般圖書, 90% 以上為.
各種線上電子資源的特異功能 SwetsWise 的 alert, TOC alert 與 Favorites 2003/4/28 修改.
第 10 章 視窗應用程式的工具列與 功能表 10-1 主功能表控制項 10-1 主功能表控制項 10-2 快顯功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-3 工具列控制項 10-4 狀態列控制項 10-4 狀態列控制項 10-5 字型與色彩對話方塊 10-5 字型與色彩對話方塊.
資料庫程式設計與系統管理 SQL Server 2005 Express 第六章 進階資料庫設計.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
從此處輸入帳號密碼登入到管理頁面. 點選進到檔案管理 點選「上傳檔案」上傳資料 點選瀏覽選擇電腦裡的檔案 可選擇公開或不公開 為平台上的資料夾 此處為檔案分類,可顯示在展示頁面上,若要參加 MY EG 競賽,做品一律上傳到 “ 98 MY EG Contest ” 點選此處確定上傳檔案.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
Management Abstracts Retrieval System; MARS 檢索操作.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Linguistics phonetic symbols. 先下載 IPA 字型檔案,執行安裝。 由於這個程式的字型目錄設定錯誤, 所以等重新開機時就會發現字型消失。 所以必須根據以下步驟來讓 Windows 加入 IPA 字型。
第 17 章 樣板 17-1 樣板的基礎 17-1 樣板的基礎 17-2 樣板函數 17-2 樣板函數 17-3 樣板類別 17-3 樣板類別 17-4 非型態參數的樣板類別 17-4 非型態參數的樣板類別 17-5 樣板類別的繼承 17-5 樣板類別的繼承 17-6 特化樣板與靜態成員 17-6 特化樣板與靜態成員.
Chapter 10 m-way 搜尋樹與B-Tree
第12章 多重表單與模組的應用程式 12-1 VB.NET的方案與專案 12-2 模組化VB.NET應用程式 12-3 多重表單的應用程式
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
概念性產品企劃書 呂學儒 李政翰.
第 17 章 泛型類別與.NET Framework 17-1.NET Framework 類別函式庫 17-1.NET Framework 類別函式庫 17-2 使用.NET FCL 的類別 17-2 使用.NET FCL 的類別 17-3 My 名稱空間的類別 17-3 My 名稱空間的類別 17-4.
第 10 章 視窗應用程式的工具列與 功能表 10-1 功能表控制項 10-1 功能表控制項 10-2 快顯功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-3 工具列控制項 10-4 狀態列控制項 10-4 狀態列控制項 10-5 字型與色彩對話方塊 10-5 字型與色彩對話方塊.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
INTRODUCTION TO MATLAB SHAWNNTOU. What Is MATLAB? MATLAB® is a high-performance language for technical computing. MATLAB® is a high-performance language.
第 4 章 視窗應用程式表單的基本 輸出入 4-1 VB.NET 的物件觀念 4-1 VB.NET 的物件觀念 4-2 表單類別 4-2 表單類別 4-3 按鈕控制項 4-3 按鈕控制項 4-4 輸出資料的標籤控制項 4-4 輸出資料的標籤控制項 4-5 輸入資料的文字方塊控制項 4-5 輸入資料的文字方塊控制項.
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出迴圈 6-5 跳出迴圈 6-6 VB.NET 的錯誤處理 6-6 VB.NET.
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
-Artificial Neural Network- Matlab操作介紹 -以類神經網路BPN Model為例
Visual C++重點複習.
第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
Microsoft Excel.
第8章 字串與陣列 8-1一維陣列的處理 8-2 字串處理 8-3 多維陣列的處理 8-4 動態陣列與參數傳遞 8-5 陣列排序與搜尋.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
CH 14-可靠度工程之數學基礎 探討重點 失效時間之機率分配 指數模式之可靠度工程.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Presentation transcript:

第 13 章 檔案與資料夾處理 13-1 檔案與資料夾操作 13-1 檔案與資料夾操作 13-2 循序檔案的文字檔案讀寫 13-2 循序檔案的文字檔案讀寫 13-3 隨機檔案的處理 13-3 隨機檔案的處理 13-4 二進位檔案的讀寫 13-4 二進位檔案的讀寫 13-5 檔案對話方塊 13-5 檔案對話方塊

13-1 檔案與資料夾操作 顯示資料夾與檔案清單 顯示資料夾與檔案清單 顯示檔案資訊 顯示檔案資訊 檔案刪除、更名與複製 檔案刪除、更名與複製

顯示資料夾與檔案清單 - 相關 函數 Visual Basic 提供資料夾的相關函數,可以取得 資料夾下檔案與子資料夾清單,還可以建立、切 換和刪除資料夾,如下表所示: Visual Basic 提供資料夾的相關函數,可以取得 資料夾下檔案與子資料夾清單,還可以建立、切 換和刪除資料夾,如下表所示:

顯示資料夾與檔案清單 - 顯示 檔案 例如:顯示副檔名.txt 的隱藏檔案,如下所 示: 例如:顯示副檔名.txt 的隱藏檔案,如下所 示: filename = Dir("*.txt", vbHidden) 上述程式碼傳回檔案屬性為隱藏 ( vbHidden ),且副檔名為.txt 的檔案名 稱,傳回值是第 1 個符合的檔案名稱,如果 需要下一個,請再次呼叫 Dir() 函數,但不 需任何參數,如下所示: 上述程式碼傳回檔案屬性為隱藏 ( vbHidden ),且副檔名為.txt 的檔案名 稱,傳回值是第 1 個符合的檔案名稱,如果 需要下一個,請再次呼叫 Dir() 函數,但不 需任何參數,如下所示: filename = Dir() 上述程式碼傳回下一個符合條件的檔案名 稱。 上述程式碼傳回下一個符合條件的檔案名 稱。

顯示資料夾與檔案清單 - 取得 檔案與資料夾清單 換句話說,配合 Do/Loop 迴圈,我們就可 以取得檔案或子資料夾清單,如下所示: 換句話說,配合 Do/Loop 迴圈,我們就可 以取得檔案或子資料夾清單,如下所示: strItem = Dir("*.*") Do Until strItem = "" lstFiles.Items.Add(strItem) lstFiles.Items.Add(strItem) strItem = Dir() ' 下一個 strItem = Dir() ' 下一個Loop

顯示檔案資訊 - 相關函數 對於指定的檔案或資料夾, Visual Basic 提 供函數可以取得檔案或資料夾屬性、檔案 尺寸和最後修改的日期 / 時間,如下表所示: 對於指定的檔案或資料夾, Visual Basic 提 供函數可以取得檔案或資料夾屬性、檔案 尺寸和最後修改的日期 / 時間,如下表所示:

顯示檔案資訊 - 範例 GetAttr() 函數同時可以取得檔案和資料夾 屬性,其使用範例,如下所示: GetAttr() 函數同時可以取得檔案和資料夾 屬性,其使用範例,如下所示: Dim fileAttr As FileAttribute fileAttr = GetAttr(txtFile.Text) 程式碼在宣告 FileAttribute 變數 fileAttr 後, 呼叫 GetAttr() 函數取得檔案的屬性常數和, 如下所示: 程式碼在宣告 FileAttribute 變數 fileAttr 後, 呼叫 GetAttr() 函數取得檔案的屬性常數和, 如下所示: FileAttribute.Normal Or FileAttribute.ReadOnly 上述運算式是檔案屬性常數的 Or 運算,其 值是檔案屬性的一般和唯讀。 上述運算式是檔案屬性常數的 Or 運算,其 值是檔案屬性的一般和唯讀。

顯示檔案資訊 - 常數 相關屬性常數可以是 FileAttribute 列舉常 數或 Visual Basic 常數,如下表所示: 相關屬性常數可以是 FileAttribute 列舉常 數或 Visual Basic 常數,如下表所示:

檔案刪除、更名與複製 Visual Basic 檔案處理函數可以刪除、更名 和複製檔案,其參數 Path 是完整的檔案路 徑字串,如下表所示: Visual Basic 檔案處理函數可以刪除、更名 和複製檔案,其參數 Path 是完整的檔案路 徑字串,如下表所示:

13-2 循序檔案的文字檔案讀寫 檔案種類 檔案種類 文字檔案的讀寫 文字檔案的讀寫

檔案種類 - 說明 檔案是儲存在電腦磁碟機中的位元組資料,當 Visual Basic 應用程式存取檔案內容時,需要知 道位元組資料是代表字元、數值、整數或字串, 取決於檔案類型。 檔案是儲存在電腦磁碟機中的位元組資料,當 Visual Basic 應用程式存取檔案內容時,需要知 道位元組資料是代表字元、數值、整數或字串, 取決於檔案類型。 Visual Basic 提供三種檔案存取類型,如下所示: Visual Basic 提供三種檔案存取類型,如下所示: 循序檔案:擁有讀取( Input )、寫入( Output )和 新增( Append )三種模式,可以將字串資料寫入與讀 取文字檔案,例如:記錄檔和一般文字檔案。 循序檔案:擁有讀取( Input )、寫入( Output )和 新增( Append )三種模式,可以將字串資料寫入與讀 取文字檔案,例如:記錄檔和一般文字檔案。 隨機檔案:提供隨機( Random )模式,使用類似資 料庫記錄( Records )方式來存取檔案,每一個記錄 的長度是相等的。 隨機檔案:提供隨機( Random )模式,使用類似資 料庫記錄( Records )方式來存取檔案,每一個記錄 的長度是相等的。 二進位檔案:使用二進位( Binary )模式存取檔案的 位元組資料,特別適用在可變長度的資料。 二進位檔案:使用二進位( Binary )模式存取檔案的 位元組資料,特別適用在可變長度的資料。

檔案種類 -VB 函數 在存取各類型檔案時,讀取和寫入檔案的 Visual Basic 函數,如下表所示: 在存取各類型檔案時,讀取和寫入檔案的 Visual Basic 函數,如下表所示:

文字檔案的讀寫 - 開啟與關閉 檔案 ( 相關函數 ) 循序檔案最常的應用是讀寫文字檔案,例如: Windows 記錄檔或【記事本】程式建立的一般文 字檔案。 循序檔案最常的應用是讀寫文字檔案,例如: Windows 記錄檔或【記事本】程式建立的一般文 字檔案。 Visual Basic 開啟、關閉或讀寫檔案時,都是使 用整數的檔案編號值來識別開啟的檔案(因為程 式可能同時開啟多個檔案),其相關函數,如下 表所示: Visual Basic 開啟、關閉或讀寫檔案時,都是使 用整數的檔案編號值來識別開啟的檔案(因為程 式可能同時開啟多個檔案),其相關函數,如下 表所示:

文字檔案的讀寫 - 開啟與關閉 檔案 ( 開啟檔案 ) 首先使用 FreeFile() 函數取得可用檔案編號後, 就可以使用 FileOpen() 函數開啟檔案,如下: 首先使用 FreeFile() 函數取得可用檔案編號後, 就可以使用 FileOpen() 函數開啟檔案,如下: fileNum = FreeFile() FileOpen(fileNum, fileName, OpenMode.Output) 程式碼在取得 fileNum 檔案編號後,以 OpenMode.Output 模式開啟 fileName 檔案。當 然也可以自行指定檔案編號,如下所示: 程式碼在取得 fileNum 檔案編號後,以 OpenMode.Output 模式開啟 fileName 檔案。當 然也可以自行指定檔案編號,如下所示: FileOpen(1, fileName, OpenMode.Output) FileOpen() 函數直接指定檔案編號為整數 1 ,檔 案存取類型是最後參數的 OpenMode 列舉常數。 FileOpen() 函數直接指定檔案編號為整數 1 ,檔 案存取類型是最後參數的 OpenMode 列舉常數。

文字檔案的讀寫 - 開啟與關閉 檔案 ( 列舉常數 ) OpenMode 列舉常數以循序檔案來說有三 種模式,如下表所示: OpenMode 列舉常數以循序檔案來說有三 種模式,如下表所示:

文字檔案的讀寫 - 開啟與關閉 檔案 ( 關閉檔案 ) 在執行完檔案存取後,請執行 FileClose() 函數關閉檔案,如下所示: 在執行完檔案存取後,請執行 FileClose() 函數關閉檔案,如下所示:FileClose(fileNum)

文字檔案的讀寫 - 讀取與寫入 檔案 ( 相關函數 ) 當使用 OpenFile() 函數成功開啟檔案後, 我們可以執行相關函數來寫入或讀取檔案 內容。其相關函數如下表所示: 當使用 OpenFile() 函數成功開啟檔案後, 我們可以執行相關函數來寫入或讀取檔案 內容。其相關函數如下表所示:

文字檔案的讀寫 - 讀取與寫入 檔案 ( 寫入 ) 我們只需呼叫 PrintLine() 函數就可以將字 串寫入檔案,如下所示: 我們只需呼叫 PrintLine() 函數就可以將字 串寫入檔案,如下所示: PrintLine(fileNum, txtLine.Text) 上述程式碼依檔案開啟的模式來處理字串 寫入, Output 模式清除 fileNum 檔案編號 的檔案內容後,才寫入字串, Append 模式 是將字串加到檔尾,因為使用 PrintLine() 函數,所以在字串後會加上換行符號。 上述程式碼依檔案開啟的模式來處理字串 寫入, Output 模式清除 fileNum 檔案編號 的檔案內容後,才寫入字串, Append 模式 是將字串加到檔尾,因為使用 PrintLine() 函數,所以在字串後會加上換行符號。

文字檔案的讀寫 - 讀取與寫入 檔案 ( 讀取 ) 如果讀取檔案內容,也就是使用 Input 模式 來開啟檔案,我們可以使用 LineInput() 函 數讀取一行文字內容。 如果讀取檔案內容,也就是使用 Input 模式 來開啟檔案,我們可以使用 LineInput() 函 數讀取一行文字內容。 如果是讀取整個檔案內容,請配合迴圈來 處理檔案讀取,如下所示: 如果是讀取整個檔案內容,請配合迴圈來 處理檔案讀取,如下所示: Do Until EOF(fileNum) strContent &= LineInput(fileNum) & _ strContent &= LineInput(fileNum) & _ vbNewLine vbNewLineLoop

13-3 隨機檔案的處理 Visual Basic 的結構 Visual Basic 的結構 隨機檔案的讀寫 隨機檔案的讀寫

13-3 隨機檔案的處理 循序檔案處理如同流水一般,只能單一方 向從頭讀到尾或寫入檔尾,並不能回頭重 寫或讀取。隨機檔案不同於循序檔案是以 記錄方式來儲存,換句話說,程式允許隨 機存取其中任一筆記錄或更改其資料。 循序檔案處理如同流水一般,只能單一方 向從頭讀到尾或寫入檔尾,並不能回頭重 寫或讀取。隨機檔案不同於循序檔案是以 記錄方式來儲存,換句話說,程式允許隨 機存取其中任一筆記錄或更改其資料。 因為隨機檔案是以記錄為存取單位,所以 在建立隨機檔案讀寫前,我們需要建立記 錄結構,即 Visual Basic 結構。 因為隨機檔案是以記錄為存取單位,所以 在建立隨機檔案讀寫前,我們需要建立記 錄結構,即 Visual Basic 結構。

Visual Basic 的結構 - 語法 Visual Basic 結構是自定的資料型態( User- Defined Types ),使用 Structure/End Structure 程式敘述來定義新型態,其語法如下 所示: Visual Basic 結構是自定的資料型態( User- Defined Types ),使用 Structure/End Structure 程式敘述來定義新型態,其語法如下 所示: Structure 型態名稱 Public | Private | Dim 成員變數 Public | Private | Dim 成員變數 End Structure 上述語法定義新資料型態,可以使用 Public 、 Private 或 Dim 關鍵字來宣告成員變數。其中 Private 宣告的成員變數只能在 Structure/End Structure 結構中使用。 上述語法定義新資料型態,可以使用 Public 、 Private 或 Dim 關鍵字來宣告成員變數。其中 Private 宣告的成員變數只能在 Structure/End Structure 結構中使用。

Visual Basic 的結構 - 結構範 例 例如:儲存學生成績資料的結構 Student ,如下 所示: 例如:儲存學生成績資料的結構 Student ,如下 所示: Structure Student Public id As Integer Public id As Integer Public name As String Public name As String Public mathScore As Integer Public mathScore As Integer Public englishScore As Integer Public englishScore As Integer End Structure 上述結構的成員擁有學號 id 、學生姓名 name 、 數學成績 mathScore 和英文成績 englishScore 。 上述結構的成員擁有學號 id 、學生姓名 name 、 數學成績 mathScore 和英文成績 englishScore 。

Visual Basic 的結構 - 宣告結 構變數和指定值 因為 Student 是自訂的新型態,所以程式碼可以 使用此新型態來宣告變數,如下所示: 因為 Student 是自訂的新型態,所以程式碼可以 使用此新型態來宣告變數,如下所示: Dim std1 As Student 上述程式碼宣告結構變數 std1 後,就可以指定成 員變數值,如下所示: 上述程式碼宣告結構變數 std1 後,就可以指定成 員變數值,如下所示: std1.id = 1 std1.name = " 陳會安 " std1.mathScore = 78 std1.englishScore = 65

隨機檔案的讀寫 - 結構宣告 在 Visual Basic 應用程式開啟隨機檔案前,我們 需要先定義儲存資料的記錄結構,如下所示: 在 Visual Basic 應用程式開啟隨機檔案前,我們 需要先定義儲存資料的記錄結構,如下所示: Structure Student Public id As Integer Public id As Integer Public name As String Public name As String Public mathScore As Integer Public mathScore As Integer Public englishScore As Integer Public englishScore As Integer End Structure 結構宣告因為隨機檔儲存的記錄長度是相同大小, String 型態是一種可變長度的資料型態,因此在 變數宣告前,使用 VBFixedString 屬性指定字串 是固定長度。 結構宣告因為隨機檔儲存的記錄長度是相同大小, String 型態是一種可變長度的資料型態,因此在 變數宣告前,使用 VBFixedString 屬性指定字串 是固定長度。

隨機檔案的讀寫 - 開啟隨機檔 案 隨機檔案的開啟也是使用 FileOpen() 函數, 檔案模式為 OpenMode.Random ,如下所 示: 隨機檔案的開啟也是使用 FileOpen() 函數, 檔案模式為 OpenMode.Random ,如下所 示: FileOpen(fileNum, fileName, _ OpenMode.Random,,, recLength) OpenMode.Random,,, recLength) 上述函數的最後 1 個參數是記錄長度,也就 是前述結構的尺寸,可以使用 Len() 函數來 取得其大小。 上述函數的最後 1 個參數是記錄長度,也就 是前述結構的尺寸,可以使用 Len() 函數來 取得其大小。

隨機檔案的讀寫 - 新增、更新 和刪除記錄 ( 相關函數 ) 在開啟隨機檔案後,我們可以使用 Visual Basic 函數來讀取與寫入記錄資料,如下表 所示: 在開啟隨機檔案後,我們可以使用 Visual Basic 函數來讀取與寫入記錄資料,如下表 所示:

隨機檔案的讀寫 - 新增、更新 和刪除記錄 ( 存取記錄 ) FilePut() 和 FileGet() 函數可以分別在隨機檔案新 增和取得記錄資料,如下所示: FilePut() 和 FileGet() 函數可以分別在隨機檔案新 增和取得記錄資料,如下所示: last += 1 FilePut(fileNum, std, last) 上述程式碼新增一筆記錄, last 變數是最後一筆 記錄的編號。筆者使用 LOF() 函數在 Form1 表單 的 Load 事件處理程序計算檔案共有多少筆記錄, 如下所示: 上述程式碼新增一筆記錄, last 變數是最後一筆 記錄的編號。筆者使用 LOF() 函數在 Form1 表單 的 Load 事件處理程序計算檔案共有多少筆記錄, 如下所示: FileOpen(1, fileName, OpenMode.Input) length = LOF(1) FileClose(1) last = length \ Len(std)

隨機檔案的讀寫 - 新增、更新 和刪除記錄 ( 刪除記錄 ) 刪除記錄是清除記錄資料,例如:將學號 ID 設為 -1 ,不過,此筆記錄仍然儲存在檔 案中,為了真正刪除記錄,即避免檔案有 空記錄且節省檔案空間,完整記錄刪除的 操作,如下所示: 刪除記錄是清除記錄資料,例如:將學號 ID 設為 -1 ,不過,此筆記錄仍然儲存在檔 案中,為了真正刪除記錄,即避免檔案有 空記錄且節省檔案空間,完整記錄刪除的 操作,如下所示: 建立新的隨機檔。 建立新的隨機檔。 將不是空的記錄複製到新檔案中。 將不是空的記錄複製到新檔案中。 使用 Kill() 函數刪除原隨機檔。 使用 Kill() 函數刪除原隨機檔。 使用 Rename() 函數將新檔更名成原隨機檔。 使用 Rename() 函數將新檔更名成原隨機檔。

13-4 二進位檔案的讀寫 - 開啟 二進位檔案特別適用在可變長度資料的存取,例 如:在第 節是一行一行的寫入與讀取文字 檔案。如果改用二進位檔,可以一次讀取或寫入 整個文字檔案的內容。 二進位檔案特別適用在可變長度資料的存取,例 如:在第 節是一行一行的寫入與讀取文字 檔案。如果改用二進位檔,可以一次讀取或寫入 整個文字檔案的內容。 在 Visual Basic 程式開啟二進位檔案也是使用 FileOpen() 函數,模式是 OpenMode.Binary , 如下所示: 在 Visual Basic 程式開啟二進位檔案也是使用 FileOpen() 函數,模式是 OpenMode.Binary , 如下所示: FileOpen(1, fileName, OpenMode.Binary) 上述 FileOpen() 函數不需要開啟隨機檔時的記錄 大小參數 recLength 。 上述 FileOpen() 函數不需要開啟隨機檔時的記錄 大小參數 recLength 。

13-4 二進位檔案的讀寫 - 讀寫 二進位檔案的讀取和寫入同樣是使用 FileGet() 和 FilePut() 函數。二進位和隨機檔案的差異,如下 所示: 二進位檔案的讀取和寫入同樣是使用 FileGet() 和 FilePut() 函數。二進位和隨機檔案的差異,如下 所示: FilePut() 和 FileGet() 函數是連續從磁碟檔案寫入和讀 取資料,在處理資料時,並不用指定記錄編號,如下 所示:FilePut() 和 FileGet() 函數是連續從磁碟檔案寫入和讀 取資料,在處理資料時,並不用指定記錄編號,如下 所示: FilePut(1, txtOutput.Text) FileGet() 和 FilePut() 函數在讀取和寫入可變長度字串 時,例如:文字檔案,並不會處理雙位元組的中文字, 而是將它視為 2 個字元,所以在讀取和寫入字串時,一 個中文字視為 2 個字元。FileGet() 和 FilePut() 函數在讀取和寫入可變長度字串 時,例如:文字檔案,並不會處理雙位元組的中文字, 而是將它視為 2 個字元,所以在讀取和寫入字串時,一 個中文字視為 2 個字元。

13-5 檔案對話方塊 - 說明 在第 10 章已經說明過 Visual Basic 預設的 字型與色彩對話方塊,在這一節筆者準備 說明檔案對話方塊,依用途分為兩種控制 項,如下所示: 在第 10 章已經說明過 Visual Basic 預設的 字型與色彩對話方塊,在這一節筆者準備 說明檔案對話方塊,依用途分為兩種控制 項,如下所示: OpenFileDialog 控制項:控制項可以選擇開啟 檔案,它就是 Windows 作業系統的「開啟檔案」 對話方塊。OpenFileDialog 控制項:控制項可以選擇開啟 檔案,它就是 Windows 作業系統的「開啟檔案」 對話方塊。 SaveFileDialog 控制項:控制項是用來選擇儲 存檔案,它就是 Windows 作業系統的「儲存檔 案」對話方塊。SaveFileDialog 控制項:控制項是用來選擇儲 存檔案,它就是 Windows 作業系統的「儲存檔 案」對話方塊。

13-5 檔案對話方塊 - 建立

13-5 檔案對話方塊 - 屬性 OpenFileDialog 和 SaveFileDialog 控制項 的常用屬性,如下表所示: OpenFileDialog 和 SaveFileDialog 控制項 的常用屬性,如下表所示:

13-5 檔案對話方塊 - 選取檔案 檔案對話方塊的開啟和其他預設對話方塊 相似,使用者在選好檔案後,傳回 DialogResult.OK ,程式碼可以使用 FileName 屬性取得使用者選取檔案的完整 路徑。 檔案對話方塊的開啟和其他預設對話方塊 相似,使用者在選好檔案後,傳回 DialogResult.OK ,程式碼可以使用 FileName 屬性取得使用者選取檔案的完整 路徑。