程式設計實習

Download Report

Transcript 程式設計實習

程式設計實習
檔案存取
檔案存取
在電腦中要存取檔案最簡單也是最通
用的就是『文字檔』,在VB中亦提供
了基本的檔案存取,存取的方式可分
為『文字檔案』存取和『二進位檔案』
存取兩種,本單元僅就一般文字檔存
取做說明。
檔案存取步驟
步驟1:開檔。
步驟2:以讀(寫)函數讀(寫)檔案資料。
步驟3:處理資料。
步驟4:關閉檔案。
開檔-以FileOpen方式
語法:
Microsoft.VisualBasic.FileOpen(參數1,參數2,參數3)
參數1:指定緩衝區之檔案編號,值為1~255。
參數2:要存取之檔案路徑及名稱,為字串型態。
參數3:檔案存取的方式,共5種,說明如下-
OpenMode.Input:以純文字方式循序讀檔。
OpenMode.Binary:二進制讀檔。
OpenMode.Append:以附加資料的方式寫檔。
OpenMode.Output:以全新的方式寫檔。
OpenMode.Random:隨機存取檔案資料。
關閉檔案
語法:
FileClose(檔案緩衝區編號)
說明:
若開檔案式為讀檔,在執行FileClose後會將緩衝
區釋放;若為寫檔方式,則會將緩衝區內的資料真
正的寫入到檔案中。
範例:
FileClose(1)
開檔範例:
Private Sub Button1_Click(ByVal ….
Microsoft.VisualBasic.FileOpen(1,TextBox1.Text,OpenMode.Input)
FileClose(1)
End Sub
檔案緩衝區編號
檔案路徑
指定開檔模式為
純文字循序開檔
判斷指定的檔案存在
語法:
變數=System.IO.File.Exists(檔名路徑)
說明:
此函數可由系統判斷指定之檔案是否存在,若不存
在則會傳回『False』的值,反之則傳回『True』。
修改讀檔範例:
Private Sub Button1_Click(ByVal ….
If System.IO.File.Exists(TextBox1.Text)=True Then
Microsoft.VisualBasic.FileOpen(1,TextBox1.Text,OpenMode.Input)
FileClose(1)
End If
End Sub
純文字檔循序讀檔
要在VB2010中FileOpen文字檔的讀取法方有
下列二種:
(一)一次讀取一筆資料,資料和資料間以逗號分開。
(二)一次讀取一行文字。
一次讀取一筆
語法:
Input(檔案緩衝區編號,變數)
說明:
此函數用於檔案開啟後,執行時會以文字檔中的
『逗號』或『換行』符號做為每一筆資料之分隔符
號。
範例:
Input(1,a)
從1號緩衝區中讀取兩筆資料後放入a變數中
以筆為單位讀取資料範例:
Private Sub Button1_Click(ByVal ….
Dim A As String
If System.IO.File.Exists(TextBox1.Text)=True Then
TextBox2.Text=“”
Microsoft.VisualBasic.FileOpen(1,TextBox1.Text,OpenMode.Input)
Whlie Not EOF(1)
Input(1,A)
TextBox2.Text= TextBox2.Text & A & vbNewLine
End While
FileClose(1)
End If
End Sub
一次讀取一行
語法:
變數=LineInput(檔案緩衝區編號)
說明:
此函數用於檔案開啟後,執行時會以文字檔中的
『換行』符號做為每一行之分隔符號。
範例:
A=LineInput(1)
從1號緩衝區中讀取一行筆資料後放入A變數中
以行讀取資料範例:
Private Sub Button1_Click(ByVal ….
Dim A As String
If System.IO.File.Exists(TextBox1.Text)=True Then
TextBox2.Text=“”
Microsoft.VisualBasic.FileOpen(1,TextBox1.Text,OpenMode.Input)
Whlie Not EOF(1)
A=LineInput(1)
TextBox2.Text= TextBox2.Text & A & vbNewLine
End While
FileClose(1)
End If
End Sub
以通用交談視窗選取檔案
在VB2010中和檔案存取有關的通用對話方塊有『OpenFileDialog』及
『SaveFileDialog 』兩個,常用屬性如下:
屬性名稱
說明
FileName
選取之檔案路徑及名稱
Title
指定對話方塊之標題文字
Filter
過濾顯示之檔案類型,如指定只顯示文字檔:
”純文字檔(*.txt)|*.txt”
”文字檔|*.txt|CVS檔|*.cvs”
FilterIndex
傳回所選取之Filter類型序號
DefaultExt
設定存檔之預設附檔名,若存檔未指定類型則以此屬性
所指定之名稱為附檔名
SafeFileName 僅傳回所選取之檔案名稱,不含路徑
通用交談視窗實務上之使用方式
開啟OpenFileDialog對話方塊後,可能遇到使用者
輸入錯誤的檔名、取消選取等不正常的動作,為了
避免這些錯誤的操作模式造成後續資料處理上的問
題,一般程式在撰寫時會用以下的方式處理:
Private Sub Button1_Click(ByVal ….
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
TextBox1.Text = OpenFileDialog1.FileName
.
.
End If
End Sub
FileOpen的寫檔方式(一)
語法:
Write(檔案緩衝區編號,變數1[,變數2,…])
說明:
用此函數寫入檔案之資料,若資料型態為字串則每
一筆前後會自動加上『”』符號(代表字串),而每
一筆資料間會以逗號分隔。
範例:
Wrtie(1,”A”)
將資料”A”寫入1號緩衝區中
FileOpen的寫檔方式(二)
語法:
WriteLine(檔案緩衝區編號,變數1[,變數2,…])
說明:
用此函數寫入檔案之資料,若資料型態為字串,則
每一筆前後會自動加上『”』符號(代表字串),而
每一次寫入的資料會自成一行。
範例:
WrtieLine(1,”A”)
將資料”A”寫入1號緩衝區中
補充:開啟外部應用程式
語法:
Shell(應用程式名稱,開啟時視窗模式)
說明:
應用程式名稱:包含程式路徑,為字串格式。
開啟時視窗模式:指定開啟的視窗之大小。
範例:
Shell(“Notepad.exe c:\x.txt”, AppWinStyle.NormalFocus)
以筆記本開c根目錄下的x.txt檔案