收藏 分享(赏)

第三章基本输入与输出(26页).ppt

上传人:天天快乐 文档编号:1465954 上传时间:2018-07-20 格式:PPT 页数:26 大小:133.52KB
下载 相关 举报
第三章基本输入与输出(26页).ppt_第1页
第1页 / 共26页
第三章基本输入与输出(26页).ppt_第2页
第2页 / 共26页
第三章基本输入与输出(26页).ppt_第3页
第3页 / 共26页
第三章基本输入与输出(26页).ppt_第4页
第4页 / 共26页
第三章基本输入与输出(26页).ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、第三章 基本輸入與輸出,3-1 表單(Form) 3-2 標籤盒(Label) 3-3 文書盒(Edit) 3-4 功能鈕(Button) 3-5 ShowMessage程序 3-6 InputBox函式,輸入與輸出是程式設計的第一步,Delphi的輸入與輸出方式有兩種,分別是使用元件及對話框。使用元件的方式是在表單(Form)放置輸出入元件,本章即要介紹四種最常用的輸出入元件表單(Form)、標籤(Label)、文書盒(Edit)及功能鈕(Button)。使用對話框的輸入與輸出,將分別介紹ShowMessage()、MessageBox()及InputBox()等函式。,3-1表單(Form

2、),Form的主要功能為放置各種不同的輸出入元件,以便作為繪圖及輸出入文字,是使用者與程式溝通的最主要物件。如下圖所示,當新增一個應用程式時,第一個存在的元件即是表單。Caption屬性Caption是表單的標題,如上圖的表單,其預設值為Form1。Name屬性現實的社會中,每個人、事、物均有名稱,Delphi的元件亦不例外,表單的Name預設值為Form1,而本書中設定其物件縮碼為frm。(附註:什麼是物件縮碼?一個程式中若同時存在二個以上相同元件,則第一個元件為Name1、第二個元件為Name2,例如Form1、Form2.等。但這種方式非常不利程式的閱讀,所以本書將每一元件取其物件縮碼,

3、例如Form縮碼為frm、Label縮碼為lbl、Edit縮碼為edi、Button縮碼為btn。而物件的命名則是物件縮碼後加上一個有意義的識別字,例如前面常用到的btnStart、btnClose等,即是代表Button元件、Start與Close則代表此按鍵的功能。)一些元件的初值亦可在Form載入時(FormCreate事件)給予設定,以下範例示範表單的用法。,範例3-1a,請寫一個程式,當表單載入時,使用表單的Caption屬性顯示“Hello”;當按一下表單時顯示“How are you”;按二下表單時,結束程式的執行。本例共需使用三種事件,分別是表單載入事件(FormCreate)

4、、表單被按一下事件(FormClick)及表單被按二下(FormDblClick),而程式執行的依據即為以上事件成立與否,這也就是目前程式開發工具的主流事件驅動的程式設計,關於事件驅動的程式設計請參閱本書第十二章。程式說明:1. 如何於程式執行階段存取物件的屬性?Delphi與VB均是在物件變數與屬性之間加點()運算子。2.表單載入時,首先會執行FormCreate事件函式。表單常用屬性,表單常用屬性,每個物件均有許多屬性,以下是表單常用的屬性列表,其中有很多屬性是所有物件共通的。,註1:有星號(*)者,表示這些屬性是某個屬性 的附屬屬性。註2:有加號(+)者,表示該屬性還有附屬屬性,在該屬性

5、上按兩下,即可展開此屬性的附屬屬性,此時加號(+)將會變成減號(-)。,表單常用事件,每個物件通常均包含許多事件,以下是表單的常用事件整理,其中很多事件是共通於所有物件。FormCreate事件當表單載入時,Delphi會自動執行此事件,但此事件只有在載入Form時才會執行,因此在程式中只會執行一次。FormClick事件當使用者在表單中,按一下滑鼠左鍵時(不要按到有元件的地方)就會觸動該表單的FormClick事件函式,並將該函式內的敘述執行一次。FormDblClick事件 當使用者在表單中,按二下滑鼠左鍵時(不要按到有元件的地方),就會觸動該表單的FormDblClick事件函式。For

6、mActivate事件 當Form變成作用的表單(被選取的表單亦稱為使用視窗),會執行FormActivate事件函式。當Form載入後,此事件將會緊接在FormCreate事件函式後執行,往後只要有Form被選取,都會執行此事件函式一次。因此,此事件函式在程式中不只執行一次。FormPaint事件 當Form載入執行時也會執行此事件函式,且程式執行中若有其它物件覆蓋在表單上、或有改變表單的大小,都會觸動FormPaint事件函式。,3-2標籤盒(Label),Label的主要功能為輸出程式的執行結果,或於程式輸入控制項前輸出某些字元,以作為輸入的提示。,範例3-2a,同上範例,於表單載入時,

7、表單的標題顯示系統時間;當按一下表單時,使用Label顯示“How are you”,並讓電腦的喇叭發出“嗶一聲”;當滑鼠於Label上方移動時,Label出現“You are Welcome”。,Label常用屬性與方法,Label的大部分屬性都與Form相同,比較特別的部分說明如下: Name屬性 所有物件的名稱均使用Name屬性(Label元件亦不例外),此屬性在本單元之後,均不再重複介紹。 Caption屬性 Caption屬性用於顯示Label要顯示的字串。 Align屬性 物件靠齊表單的方式,有以下幾種靠齊方式,請自行把玩,並觀察元件位置的變化alBottom:佈滿下面表單。alC

8、lient:佈滿整個表單。alLeft:佈滿左邊表單。alNone:此屬性無作用(預設性)。alRight:佈滿右邊表單。alTop:佈滿上面表單。 Alignment屬性 標題文字的對齊方式,有以下三種:taCenter:文字靠中。taLeftJustify:文字靠右。taRightJustify:文字靠左。 AutoSize屬性 Label元件的大小是否隨著文字的大小而自動調整。,3-3文書盒(Edit),上一節的Label僅能顯示輸出結果,他的特色是僅提供輸出功能、不能進行任何輸入,如此可防止資料遭受到使用者修改。本節的Edit則可作為輸出、入的工具,且其重點是應用在輸入文字及數字,Ed

9、it較特殊的屬性如下所述: Text屬性使用者所輸入的文、數字,型態為字串(String),其預值為Edit1。 MaxLength屬性設定可輸入的最大字元數,其預設值為0(若設定為0,表示無輸入上限) PasswordChar屬性 若要鍵入的字元不顯示於Edit,可使用此屬性。例如填入星號(*),則使用者所輸入的字元均以星號(*)顯示。若欲正常顯示,則應使用預設值#0。 ReadOnly屬性邏輯值,設定Text的內容唯讀與否,其預設值為False。 Hint屬性當滑鼠移至Edit上方時,所出現的提示字,其預設值為空白。 ShowHint屬性邏輯值,設定Hint屬性顯示與否,其預設值為Fals

10、e。,範例3-3a,請設計一個密碼輸入程式,由Edit元件輸入密碼,當使用者按一下表單時,由Label元件輸出密碼內容。,Form、Label與下一節的Button均使用Caption屬性顯示其輸出結果,但請特別留意Edit卻使用Text作為輸出入的屬性。,範例3-3a程式說明:,3-4功能鈕(Button),在前面幾節裡,都是使用按一下表單的方式來執行某項命令。然此種方式無法順利引導使用者執行單一項功能、也無法同時執行多個命令,本節將介紹一個正式的功能按鈕(Button)解決以上問題。Button元件最常使用的功能為Click事件,其標題亦為Caption屬性,請看以下範例說明。,範例3-4

11、a,請寫一個可以執行算術的加、減、乘及除法運算程式。程式說明:Delphi對資料型態的要求非常嚴謹,不像VB可以彈性設定。本例的Edit與Label的屬性:Text與Caption,其格式均為字串,故要進行算術運算以前均要先轉為整數(StrToInt)或浮點數(StrToFloat),待數值運算完畢後再轉為字串(IntToStr或FlootToStr)輸出。,範例3-4b,同上範例,但為每個功能鈕製作快速鍵,3-5ShowMessage程序,Delphi的輸入或輸出資料,除了可以使用上面的元件外,亦可使用程序或函式,例如本節要介紹的ShowMessage程序及下一節的InputBox函式、Me

12、ssageBox函式。ShowMessage的語法如下,它可以將指定的Msg字串輸出。procedure ShowMessage(const Msg: string);,範例3-5a,示範ShowMessage的用法。,3-6InputBox函式,上一節的ShowMessage僅能輸出字串,本節的 InputBox 除了可輸出字串外、亦可輸入字串。其語法如下,其中ACaption是對話框的標題、APrompt是對話框的提示字串、ADefault是輸入的預設值,其格式均為String。 function InputBox(const ACaption, APrompt, ADefault: st

13、ring): string;,範例3-6a,示範InputBox函式的用法。,3-7MessageBox函式,於程式的執行中常有一些無法預期的事件或訊息,Delphi提供此一對話函式供使用者使用,如此即可縮短程式撰寫時間,並提昇人機使用介面的親和性。MessageBox的語法如下,它是封裝Windows API MessageBox的函式。傳回之數值 m := MessageBox (輸出字串,標題,n)以上語法說明如下:1. 輸出字串與標題均為字串型態。2. m、n均為Integer型態。3. n 之值可為下列之值或累加。若為累加,則輸出之格式亦是個別情況的組合。,4.依使用者所按的按鈕所傳回值,如下表:,範例3-7a,本例示範MessageBox函式的用法。,習題,1.自由落體的距離與時間關係如下:s=v0t+g.t2請寫一個程式可以輸入初速vo及經時間t後,而得其落體距離。2.假設y = f(x) = x3-6x2+11x-6,請寫一程式,可以輸入x值,而得對應的y值。3.請寫一個程式(1)可以輸入兩個點的座標。(2)按一下“開始”按鍵,可得兩點距離。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报