講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所.

Slides:



Advertisements
Similar presentations
第七章 常用控件 7.1 控件概述 7.2 常用内部控件 本章要求 返回目录 第七章 常用控件 (Common Control)
Advertisements

第15章 文件处理技术 变量和数组只能临时存储数据,且数据量很小, 当应用程序终止,数据就会丢失。如果需要将数 据长期存储或者存储大量数据,就需要用到文件。 文件维护的数据通常称为持久数据,存储在计算 机的辅助存储设备中,如磁盘、光盘等。许多程 序都要与外部数据进行交互,如数据库、XML,甚 至文本文件,因此文件操作是软件开发中必不可.
計算機程式及實習 期末報告 題目:超級猜一猜
第二章 VB的编程机制 【授课时间】第3周,第2次课 【授课题目】 2.1 面向对象程序设计概述 2.2 VB中的对象
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
課程名稱:程式設計 授課老師:________
第四章 控制结构.
第 7 章 文 件.
赋值语句与输入、输出语句.
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
南台科技大學 機械工程系 車輛一甲 學號:4A 學生:黃信成 老師:謝慶存
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
Visual Basic程序设计.
程式語言Visual Basic 變數的可視範圍
課程名稱:程式設計 授課老師:________
第6章 数 组 6.1 一维数组 6.2 控件数组 6.3 二维数组.
第10章 图 形 基 础 10.1 坐标系 10.2 绘图属性 10.3 图形控件 10.4 图形方法 习题十.
第二章 Visual Basic语言基础.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第5章 数组 Visual Basic程序设计.
Visual Basic 程序设计 第12章文件处理
程式語言 -Visual Basic 變數、常數與資料型態.
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
过程 第 7 章.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
初识Visual Basic.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
Visual Basic程序设计基础 计算机科学学院.
第1章 概述 程序设计语言的发展 Visual Basic 6.0简介 Visual Basic 6.0集成开发环境 设计程序的一般步骤.
第十三章 檔案.
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
计算机程序设计强化复习 Visual Basic 6.0.
Visual Basic 程序设计 教师:王 杨 电话:
程式語言Visual Basic 傳址與傳值
第12章 VBA模块设计.
新觀念的 VB6 教本 第 6 章 資料型別.
第5章 Visual Basic控制结构 之 常用算法举例
PCR300 (13.56MHz) Reader RS232/USB.
Ch03 基本輸出入介面設計 視窗程式設計 授課教師:王大瑾.
第四章 命令按钮、标签和文本框 大多数应用程序中都有命令按钮CommandButton控件,用户可以单击按钮执行某项操作。
Visual Basic程序设计.
高等学校计算机基础教育教材 Visual Basic 6.0 程序设计 上海中医药大学现代教育技术中心 计算机教学部 1.
第二章 创建用户界面 本章重点和难点 2.1 基本属性 2.2 创建窗体 2.3 Visual Basic的常用控件 2.4 制作菜单.
張智星 台大資工系 MIR實驗室 第二十章 檔案與目錄 張智星 台大資工系 MIR實驗室.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
算法与程序设计 周少品.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
第七章 文件 本章重点 7.1 文件管理控件 7.2 文件处理 7.3 练习.
Visual Basic.NET 程序设计语言课程内容
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程序设计基础 第 2 章 学习程序设计的基本方法: 多练 模仿.
VB程序设计语言 主讲教师:王 杨.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
VB语言程序设计教程.
程序基础 2019/4/25.
第二章、第三章错题分析.
計算機概論 跨越講義 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 結構化VS物件導向程式設計
选择结构设计 第 4 章 程序流程有三种最基本的控制结构,即顺序结构、选择结构和循环结构。
1位选手参加了歌唱比赛,评委们的评分如下:
Print方法和函数 2019/5/19.
計算機程式 Visual BASIC 程式設計
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年11月1日.
解析算法与枚举算法.
講師:梁家豪 動態網頁設計 ASP & 資料庫應用 講師:梁家豪
1、复选框和单选按钮 2、框架 3、列表框和组合框 4、滚动条 5、鼠标器事件 6、键盘
算法与Visual Basic程序基础(二)
程序调试与错误处理.
Presentation transcript:

講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所

第十一章 檔案存取

DriveList 屬性 Drive 目前磁碟機代碼 List 可選擇磁碟機(列表) ListCount 可選擇磁碟機個數 ListIndex 已選擇的磁碟機的位置 事件 Change 所選擇的磁碟機改變時

DriveListBox(cont’d)

DriveListBox(cont’d) Private Sub Drive1_Change() Print "磁碟代碼=" & Drive1.Drive Print "listcount=" & Drive1.ListCount Print "listindex=" & Drive1.ListIndex Print "目前磁碟所在=" & Drive1.List(Drive1.ListIndex) End Sub Private Sub form_click() Drive1.Drive = "c:"

DirListBox 屬性 Path 目前目錄 List 可選擇目錄 ListCount 目前目錄下可選擇目錄個數 ListIndex 已選擇目錄的位置 事件 Change 所選擇的目錄改變時

DirListBox (cont’d)

DirListBox (cont’d) Private Sub Dir1_Change() MsgBox "目前目錄所在:" & Dir1.Path End Sub Private Sub form_click() Cls Print "目前目錄:" & Dir1.Path Print "目前目錄下可選擇目錄個數:" & Dir1.ListCount Print "已選擇目錄位置:" & Dir1.ListIndex Print "已選擇目錄:" & Dir1.List(Dir1.ListIndex) Print "位置0的目錄:" & Dir1.List(0)

FileListBox 屬性 FileName 已選擇檔案的檔名 Path 目前目錄 List 可選擇檔案 ListCount 目前目錄下可選擇檔案數目 ListIndex 已選擇檔案的位置 MultiSelect 可否重複選擇 Selected(數字) 某個元素是否有被選 Pattern *.* 或 *.txt ……

FileListBox(cont’d) 事件 Click PatternChange PathChange 目前目錄改變時

FileListBox(cont’d)

FileListBox(cont’d) Private Sub File1_Click() Form1.Cls Print "目前目錄: " & File1.Path Print "已選擇檔案的檔名: " & File1.FileName Print "目前目錄下可選擇檔案數目:" & File1.ListCount Print "已選擇檔案的位置: " & File1.ListIndex Print "可否重複選擇: " & File1.MultiSelect Print "某個檔案是否有被選: " & File1.Selected(0) Print "pattern(*.* 或 *.txt): " & File1.Pattern Print "已選擇檔案的完整路徑: "; File1.Path + "\" + File1.FileName End Sub Private Sub Form_Activate() File1.Path = "c:\temp"

Exercise:整合

Exercise:整合(cont’d) Private Sub updatePath() Text1.Text = Dir1.Path + File1.FileName End Sub Private Sub Command1_Click() File1.Pattern = Text2.Text Private Sub Drive1_Change() Dir1.Path = Drive1.Drive

Exercise:整合 (cont’d) Private Sub Dir1_change() File1.Path = Dir1.Path updatePath End Sub Private Sub File1_click()

File System Objects 專案->設定使用參考元件

File System Objects File System Objects共有五種物件 FileSystemObject File Folder Drive TextStream

FileSystemObject 屬性 Drives 傳回目前本機上的磁碟機的collection 方法 CopyFile 複製檔案 CopyFolder 複製目錄 CreateFolder 產生新檔案 CreateTextFile 產生新文字檔 DeleteFile 刪除檔案

FileSystemObject(cont’d) 方法 DeleteFolder 刪除目錄 DriveExists 回傳磁碟機是否存在 FileExists 回傳檔案是否存在 FolderExists 回傳目錄是否存在 GetAbsolutePathName 取得絕對路徑名 GetDrive 取得Drive物件 GetDriveName 取得磁碟機名 GetFile 取得File物件

FileSystemObject(cont’d) 方法 GetFileName 取得檔案名 GetFolder 取得Folder物件 GetParentFolderName 取得父目錄名 GetTempName 取得暫存檔檔名 MoveFile 搬移檔案 MoveFolder 搬移目錄 OpenTextFile 開啟文字檔

FileSystemObject(cont’d) 語法: Dim 變數名 As New FileSystemObject (*Drive, Folder, File, TextStream亦同) copyFile 語法: CopyFile 來源, 目的 [, 覆蓋模式] 功能: 複製檔案 參數說明: 來源、目的 : 字串 (來源、目的可用*與?) 覆蓋模式: boolean,預設值為true

FileSystemObject(cont’d) Private Sub form_click() Dim fs As New FileSystemObject fs.CopyFile "c:\autoexec.bat", "c:\test", False End Sub 執行第二次時,會發生 ERROR!

FileSystemObject(cont’d) copyFolder 語法: CopyFolder 來源, 目的[, 覆蓋模式] 功能: 複製目錄 範例1: 將來源目錄下所有的檔案、目錄,複製到目的目錄 CopyFolder “c:\temp”, “c:\tmp”,false 範例2: 將來源目錄下某些目錄複製到目的目錄 Copy Folder “c:\temp\a*”, “c:\tmp”,false

FileSystemObject(cont’d) createFolder 語法: CreateFolder 目錄名 功能: 產生新目錄, 若目錄已存在,則發生錯誤 createTextFile 語法: CreateTextFile 檔名[, 覆蓋模式] 功能:產生新檔案 說明:傳回TextStream

FileSystemObject(cont’d) Private Sub form_click() Dim fs As New FileSystemObject fs.CreateFolder "c:\a" fs.CreateTextFile "c:\a\test" End Sub

FileSystemObject(cont’d) DeleteFile 語法: DeleteFile 檔名[, force] 功能:刪除檔案 說明: 檔名可包含*與? 若force=false, 則無法刪除屬性是read only的檔案

FileSystemObject(cont’d) DeleteFolder 語法: DeleteFolder 目錄名[, force] 功能:刪除檔案 說明:目錄名可包含*與? 若force=false, 則無法刪除屬性是read only的目錄 即使目錄內有檔案也會刪除

FileSystemObject(cont’d) Private Sub Command1_Click() Dim fs As New FileSystemObject fs.DeleteFile File1.Path + "\" + _ File1.FileName File1.Refresh End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path Private Sub Drive1_Change() Dir1.Path = Drive1.Drive

FileSystemObject(cont’d) DriveExists 語法: DriveExists 磁碟機名 功能: 檢查該磁碟機是否存在 說明: 若CDROM沒有光碟片,也會回傳true 要用Drive物件的IsReady來偵測 範例: dim fs as new filesystemobject rlt= fs.DriveExists(“c:”) FileExists 檔案名 FolderExists 目錄名

FileSystemObject(cont’d) GetAbsolutePathName 語法: GetAbsolutePathName pathspec 說明: 假設當前目錄為 c:\mydocuments\reports pathspec 回傳值 “c:” “c:\mydocuments\reports” “c:..” “c:\mydocuments\” “c:*.*\may97” “c:\mydocuments\reports\*.*\may97 “region1” “c:\mydocuments\reports\region1

FileSystemObject(cont’d) GetDrive 語法: GetDrive 磁碟機名 說明:回傳Drive物件 GetDriveName 語法: GetDriveName 磁碟機名 GetFile 語法: GetFile 檔案名 說明:回傳File物件 GetFileName 語法: GetFileName 路徑名

FileSystemObject(cont’d) GetFolder 語法: GetFolder 目錄名 說明:回傳Folder物件 GetParentFolderName 語法: GetParentFolderName 路徑名 範例: GetParentFolderName(“c:\a\b\c”) “c:\a\b” GetTempName 語法: GetTempName

FileSystemObject(cont’d) MoveFile 語法: MoveFile 來源, 目的 MoveFolder 語法: MoveFolder 來源, 目的

FileSystemObject(cont’d) OpenTextFile 語法: OpenTextFile 檔名 [, IO模式 [,create] ] 說明: IO模式 ForReading ForAppending Create: 若檔案不存在,是否開新檔案(Boolean) 傳回TextStream

練習 show出檔案所在的磁碟名稱 show出檔案所在的目錄名稱 show出暫時的檔名

Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive Private Sub File1_Click() Dim fs As New FileSystemObject Text1.Text = "GetDriveName: " + _ fs.GetDriveName(File1.Path) _ + vbNewLine + _ "GetParentFolderName: " + _ fs.GetParentFolderName(File1.Path) _ "GetTempName: " + fs.GetTempName()