DelPhi學習筆記6.用戶自定義類型_第1頁
DelPhi學習筆記6.用戶自定義類型_第2頁
DelPhi學習筆記6.用戶自定義類型_第3頁
免費預覽已結束,剩余7頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、用戶自定義類型1. 枚舉類型的定義格式:Type類型標識符=(標識符1 ,標識符2,標識符3,-,標識符m);2. 格舉類型的使用枚舉類型屬于順序類型,枚舉類型的每個元素對應一個有序的整數,其中第一個元 素對應序數0.因此,枚舉類型本質上是用一些枚舉常量來表示一組連續的整數。但枚舉常量不能直接進行算術運算,可以進行關系運算或間接的算術運算。例:TypeColorl =( Red,Green,Blue, Yellow);例6-1】編寫一個設置文本格式的應用程序,程序的設計界面如圖6-1所示。程 序運行時,在編輯框中顯示的文本是 輕松學習Delphi” 程序運行時,單擊 宋體】按 鈕,文本字體為宋

2、體;單擊隸書】按鈕,文本字體為隸書;單擊黑體】按鈕,文本字體變 為黑體。圖6-2是單擊隸書時的運行界面。要求用枚舉類型實現。輕松學習Delphi宋體隸書黑體:部份代碼:impleme ntati ontype/定義枚舉類型 var/定義枚舉類型變量ft : MyFo nt;$R *dfmFunction ffont(fft : MyFont: String;beg inCase fft ofst : ffont :='宋體';ls : ffont := 'Comic Sans MS'ht : ffont :='黑體';end;end;proced

3、ure TForml.Butt on 1Click(Se nder: TObject;beg inif Butt on 1.C apti on =' 宋體'thenbeg in ft := st;Edit1.Fo nt.Name := ffon t(ft;end;end;procedure TForm1.Butt on 2Click(Se nder: TObject;beg inif Butto n2.C apti on ='隸書'thenbeg in ft := ls;Edit1.Font.Name := ffont(ft;end;end;procedure

4、TForm1.Butt on 3Click(Se nder: TObject;beg in if Butto n3.Caption =' 黑體'thenbeg inft := ht;Editl.Fo nt.Name := ffon t(ft;end;end;集合類型的定義與使用1. 集合類型的定義集合是具有相同性質但又可以區分開來的對象的全體 格式:Type類型標識符=set of其類型;例:TypeColors =(Red,Green, Blue, Yellow) ; /先定義一個枚舉類型Color = set of Colors; /定義一個基類型為枚舉類型的集合類型Cha

5、r = set of 1直接.定義一個基類型為子界類型的集合類型下面的定義是錯誤的:typeNum_p = set of 200.400; / 雖然只有201 一個元素,但256 400這些數值超過 了 2552. 集合類型的使用。例6-2】編寫一個判斷字符串中是否有元音字母的程序,程序的設計界面如圖6-3 所示。程序運行時,在 輸入單詞】編輯框中輸入一個任意單詞,然后單擊 判斷】按 鈕,將在 結果】編輯框中顯示有無元音字母的文本。其中,元音字母為“ a,e,i,o,u程序'運行界面如圖6-4所示。要求用集合類型實現。記錄類型的定義與使用1. 記錄類型的定義格式:type記錄類型標識符

6、=Record字段1 :類型1 ;字段2 :類型2 ;0 0 0字段n :類型n;end;2. 下面定義一個住院病人的記錄類型,如下所示:typePatie nt = Record / 說明這是記錄類型p_num : Integer; /字段1是病人的住院號,為整形數據p_name : String; II字段2是病人的姓名,為字符串數據p_pay : Boolean ; II字段3是病人的付款情況,為布爾型數據end;例6-3】編寫一個程序,用來輸入和顯示某單位員工基本信息。程序的設計界面 如圖6-5所示,程序運行時,單擊 輸入信息】按鈕,用戶可以輸入員工的基本信息,包 括姓名、職稱和基本工

7、資。單擊 查看信息】按鈕,可以顯示剛剛輸入的該單位員工的基本 信息,如圖6-6所示。impleme ntati ontypepeople In formati on = Record / 定義記錄類型n ame : Strin g8;call: String6;wage :ln teger;end;varpeople :Array 1.3 of peopleInformation;$R *dfmprocedure TForm1.Butto n1Click(Se nder: TObject;vark : In teger;beg infor k := 1 to 3 dobeg inpeoplek

8、.name := InputBox('員工信息','請輸入第'+IntToStr(k+'個員工姓名',''peoplek.call := InputBox('員工信息,'請輸入第'+IntToStr(k+'個員工職稱',''peoplek.wage :=:StrToInt(lnputBox(' 員工信息,'請輸入第'+IntToStr(k+'個員工基本工資','0'end;end;procedure TForm1.But

9、t on 2Click(Se nder: TObject; varm : In teger;beg in/在指定位置顯示Canvas.TextOut(45,25,'姓 名'+' '+'職 稱'+' '+ '基本工資'for m := 1 to 3 doCanvas.TextOut(45,25 * (m+1, +' ' + peoplem.call +''+ln tToStr(peoplem.wage ;end;練習題目】:尋找1100之間的全部素數編寫一個尋

10、找1100之間的全部素數的程序,程序的設計界面如圖6-11所示程序運行時,單擊 尋找素數】按鈕將顯示1100之間的全部素數,-X |尋找一到一百的:2J 5 7111317192*143 4?5359SI6?789 37 29 J1 371 73 79 83/這個函數專門用來判斷數字是否為素數fun cti on SearchPrime( num : In teger : Boolea n ; vari : In teger;flag : Boolea n;beg inflag := true;/判斷是否為素數。素數是只能由1和本身整除的for i := 2 to num - 1 dobeg in/取模可以整除的話。就不是素數if(num mod i = 0 thenbeg inflag := false;break;end;end;if(flag = false the nResult := false;if(flag = true the nResult := flag;end;procedure TForm1.Butto n1Click(Se nder: TObject; varflag : bool;i : In teger;k : In teger;beg in2也是素

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論