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

Slides:



Advertisements
Similar presentations
Visual Basic 程序设计 第四讲.
Advertisements

第2章 Visual Basic 6.0编程基础 (第一部分)
第4章 VB.NET程式與 網頁製作的應用 主講人: 姚奉緒 M
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
課程名稱:程式設計 授課老師:________
課程名稱:程式設計 授課老師:________
第四章 控制结构.
赋值语句与输入、输出语句.
南台科技大學 機械工程系 車輛一甲 學號:4A 學生:黃信成 老師:謝慶存
Access数据库程序设计 总复习.
第9章 处理字符串和日期时间 Visual Basic 程序设计教程.
上課囉 職場甘苦談 小資男孩向錢衝 育碁數位科技 呂宗益/副理.
VB教学中游戏化教学案例设计.
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
第五章 数组.
四 VBScript编程基础.
Visual Basic程序设计.
BLANK overview.
VB內建函數與應用.
Visual Basic 2010 程式設計16堂特訓 第七堂 VB的迴圈流程控制.
課程名稱:程式設計 授課老師:________
第6章 数 组 6.1 一维数组 6.2 控件数组 6.3 二维数组.
第二章 Visual Basic语言基础.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第5章 数组 Visual Basic程序设计.
程式語言 -Visual Basic 變數、常數與資料型態.
过程 第 7 章.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
第十一讲 VB常用标准控件(2).
初识Visual Basic.
算法与程序设计.
Visual Basic程序设计基础 计算机科学学院.
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
第4章 基本的控制结构 4.1 顺序结构 4.2 选择结构程序设计 4.3 循环结构 4.4 综合实例 退出.
流程控制、陣列 台南市聖功女子高級中學 毛全良.
计算机程序设计强化复习 Visual Basic 6.0.
程式語言Visual Basic 重複結構 黃瀧輝 老師 Long Hwai,Huang.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
Visual Basic 程序设计 教师:王 杨 电话:
第3章 Visual Basic语言基础 郭清溥.
6-1 For…Next迴圈敘述 6-2 While…End While迴圈敘述 6-3 Do…Loop迴圈敘述 6-4 巢狀迴圈敘述
第12章 VBA模块设计.
丙級電腦軟設-VB程式設計 資料來源:林文恭研究室 整理:張福生.
新觀念的 VB6 教本 第 6 章 資料型別.
第5章 Visual Basic控制结构 之 常用算法举例
广州市教育局教学研究室编写的 初中《信息技术》第二册第二章 《程序设计初步》
Visual Basic程序设计.
算法与程序设计 周少品.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
程式設計實習課(四) ----C 函數運用----
第三章 VB语言基础 本章重点和难点 3.1 Visual Basic 程序代码的组织方式 3.2 代码行的书写规则
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程序设计基础 第 2 章 学习程序设计的基本方法: 多练 模仿.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
For x = 0 To 9 For y = 0 To 9 z = *x + 10*y …… Next y
江西财经大学信息管理学院 《数据库应用》课程组2007
第2章 VB语言基础 本章要点: 数据类型 常量和变量 运算符表达式 函数.
小结 郭清溥.
程序基础 2019/4/25.
第二章、第三章错题分析.
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年10月18日.
1位选手参加了歌唱比赛,评委们的评分如下:
Print方法和函数 2019/5/19.
1、过程概述 2、函数过程 3、子过程 4、过程的使用 5、传递参数 6、过程的嵌套
算法与Visual Basic程序基础(二)
VB语言基础 一、 常量 1 定义:在程序运行过程中不能发生改变的量 2 分类 整型常量: 整数 不带小数点的数 数值常量
程序调试与错误处理.
第4章 数据查询.
Presentation transcript:

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

第六章 內建函數 字串函數 數學函數 日期與時間函數

字串函數 轉為小寫字串:LCase(字串) 轉為大寫字串:UCase(字串) 計算字串長度:Len(型別) 計算空間:LenB(字串) 練習時,函式的頭尾請自行加入 轉為小寫字串:LCase(字串) LCase(“AnB123”)“anb123” 轉為大寫字串:UCase(字串) UCase(“AnB123”)“ANB123” 計算字串長度:Len(型別) Len(“123”)=3 計算空間:LenB(字串) Dim A As Integer A=123 Print Len(A) 2

字串函數(cont’d) 子字串搜尋: InStr([搜尋的位置],字串1,字串2[,比較法]) 傳回字串2在字串1出現的位置 找不到則傳回0 InStr(“abcdecd”,”cd”)3 InStr(4,“abcdecd”,”cd”)6 比較法: vbBinaryCompare分大小寫 vbTextCompare不分大小寫

字串函數(cont’d) 擷取子字串:Mid(字串,起始位置[,長度]) 使用比較法時,起始位置要輸入 InStr(1,“abcd”,“Cd”,vbBinaryCompare)0 InStr(1,“abcd”,“Cd”,vbTextCompare)3 擷取子字串:Mid(字串,起始位置[,長度]) Mid(“test test”,6)”test” Mid(“test test”,6,3)”tes”

字串函數(cont’d) 從左邊取子字串:Left(字串,長度) 從右邊取子字串:Right(字串,長度) Left(“test1 test2”,5)“test1” 從右邊取子字串:Right(字串,長度) Right(“test1 test2”,5)“test2” 去除左右空白字元:Trim(字串) Trim(“ test ”)“test” LTrim(), RTrim()

字串函數(cont’d)

解答 Private Sub Form_Click() Dim name, lastname, firstname As String Dim position As Integer Do name = InputBox(“請輸入姓名:姓,名”, _ "注意", "黃,俊龍") name = Trim(name) position = InStr(name, ",") Loop Until (name <> "" And position <> 0) lastname = Left(name, position - 1) firstname = Mid(name, position + 1) Print lastname + "先生,你好" End Sub

數學函數 取整數:Int(數字) 取整數:Fix(數字) 找小於等於數字的最小整數 Int(1.9)1 Int(-1.9)-2 去除小數部份 Fix(1.9)1 Fix(-1.9)-1

數學函數(cont’d) 轉成整數:CInt(參數) 用來把其它型別(如字串)轉成整數 注意:當值為*.5時,結果不同 變成最近的偶數

數學函數(cont’d) 取絕對值函數: ABS() SQR(), EXP(), Log() Sin()、Cos()、Tan()、Atn() X = ABS(-77) 'X = 77 SQR(), EXP(), Log() Sin()、Cos()、Tan()、Atn() Sin(30 * (3.14159265358979 / 180))

檢查是否數字 返回 Boolean 值指明表達式的值是否為數字 IsNumeric(expression) 如果整個 expression 被識別為數字﹐IsNumeric 函數返回 True﹔否則函數返回 False。

取亂數 Rnd(種子數) 0值<1 程式重執行時,取出的亂數相同 Private Sub Form_Click() Dim i As Integer For i = 1 To 10 Print Rnd(1) Next i End Sub

取亂數(cont’d) 如何取某範圍的亂數 加入Randomize避免有次序的亂數 在1到100之間的整數 Int(((100-1)+1)*Rnd()+1) Int(((最大值-最小值)+1)*Rnd()+最小值)

猜數字

Private Sub Guess(answer As Integer) Dim num, choice As Integer Dim inputStr As String Do inputStr = InputBox("猜1-100的數字", "猜猜看", CStr(num)) If (inputStr = "") Then Exit Sub End If num = CInt(inputStr) If (num = answer) Then choice = MsgBox("答對了,還要玩嗎?", vbYesNo) If (choice) = vbNo Then ElseIf (num > answer) Then MsgBox "太大了" Else MsgBox "太小了" Loop End Sub

Private Sub Form_Click() Dim answer As Integer Randomize answer = Int((100 - 1 + 1) * Rnd + 1) Guess answer MsgBox "謝謝", vbOKOnly End Sub Project 2: 修正原來程式的BUG—每次答案都一樣 加上計算猜了幾次的功能

日期與時間函數 Date:取得目前的日期 Time:取得目前的日期 Now: 取得目前的日期與時間 此處的Date不是型別,是函式 Print Date Print Date() Date:取得目前的日期 Date2000/10/20 Time:取得目前的日期 Time上午 12:59:30 Now: 取得目前的日期與時間 Now2000/10/20上午 12:59:30 此處的Date不是型別,是函式

日期與時間函數(cont’d) 設定日期: 取年、月、日 Date=#2000/1/1# Time=#1:10:00 PM# Year(Date變數) Month(Date變數) Day(Date變數) 此處的Date是型別

日期與時間函數(cont’d) 取時、分、秒 Hour(Date變數) Minute(Date變數) Second(Date變數) Private Sub Form_Click() Print Year(Date);“年”;Month(Date);“月”; _ Day(Date);“日” End Sub 取時、分、秒 Hour(Date變數) Minute(Date變數) Second(Date變數)

日期與時間函數(cont’d) 取得星期幾 Weekday(日期變數[,初始星期]) Weekday(Date,vbSunday)6 vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday 取得星期幾 Weekday(日期變數[,初始星期]) Weekday(Date,vbSunday)6 Weekday(Date,vbMonday)5 WeekDay(Date)6

日期與時間函數(cont’d) DateSerial(intYr,intMo,intDay) DateAdd(strIntrvl,intN,dteDate) DateDiff(strIntrvl,dte1,dte2) DatePart(strIntrvl,dteDate) dteDue=DateSerial(2004, 2, 28)

日期與時間內定格式字串 內定字串 說明 h 時 d 日 m 月 n 分 q 季 s 秒 y 一年之第幾天 W 週末

日期與時間內定格式字串(cont’d) 內定字串 說明 ww 週 yyyy 年 Dateadd(“yyyy”,1,Date) Datediff(“ww”,dte1,dte2) DatePart(“q”,Date)

日期與時間函數(cont’d) Timer 傳回午夜至今的秒數 TimeSerial(hour,min,sec) lngBefore=Timer OXXOXXXXOX lngAfter=Timer lngTimeDiff=lngAfter-lngBefore

日期與時間函數(cont’d) 暫停一下 Sub wait (sec as single) dim start as Single start=Timer do until (timer-start+86400) mod 86400>sec loop End Sub

計時器 將計時器(Timer)的元件拉到表單上 屬性:Interval 事件處理函式:Timer 觸發間隔,以千分之一秒為單位 每次觸發時會執行一次

小時鐘 Private Sub Timer1_Timer() Cls Print Date; Time If (Second(Time) = 0) Then Beep End If End Sub 整點報時: Second(Time)=0 And Minute(Time)=0

資料檢查函數 IsDate() date1=“五月 15, 2009” date2=#5/15/2009# nodate=“HiHi” Result=IsDate(date1) Result=IsDate(date2) Result=IsDate(nodate)

資料檢查函數(cont’d) IsEmpty() IsNumeric() Dim MyVar, MyCheck MyCheck = IsEmpty(MyVar) ' Returns True.

儲存專案 FileSave Project

製作執行檔 FileMake 專案名.exe

製作安裝程式 編成的執行檔必須要在有安裝VB或部份元件的機器執行