2023年DelPhi學習筆記用戶自定義類型精_第1頁
2023年DelPhi學習筆記用戶自定義類型精_第2頁
2023年DelPhi學習筆記用戶自定義類型精_第3頁
2023年DelPhi學習筆記用戶自定義類型精_第4頁
2023年DelPhi學習筆記用戶自定義類型精_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

用戶自定義類型1.枚舉類型的定義格式: Type 類型標記符=(標記符1,標記符2,標記符3,---,標記符m);2.格舉類型的使用 枚舉類型屬于順序類型,枚舉類型的每個元素相應一個有序的整數(shù),其中第一個元素相應序數(shù)0.因此,枚舉類型本質(zhì)上是用一些枚舉常量來表達一組連續(xù)的整數(shù)。但枚舉常量不能直接進行算術運算,可以進行關系運算或間接的算術運算。例: Type Color1=(Red,Green,Blue,Yellow);【例6-1】編寫一個設立文本格式的應用程序,程序的設計界面如圖6-1所示。程序運行時,在編輯框中顯示的文本是“輕松學習Delphi”。程序運營時,單擊【宋體】按鈕,文本字體為宋體;單擊【隸書】按鈕,文本字體為隸書;單擊【黑體】按鈕,文本字體變?yōu)楹隗w。圖6-2是單擊隸書時的運營界面。規(guī)定用枚舉類型實現(xiàn)。部份代碼:implementationtype//定義枚舉類型MyFont=(st,ls,ht);var//定義枚舉類型變量ft:MyFont;{$R*.dfm}Functionffont(fft:MyFont):String;beginCasefftofst:ffont:='宋體';ls:ffont:='ComicSansMS';ht:ffont:='黑體';end;end;procedureTForm1.Button1Click(Sender:TObject);beginifButton1.Caption='宋體'thenbeginft:=st;Edit1.Font.Name:=ffont(ft);end;end;procedureTForm1.Button2Click(Sender:TObject);beginifButton2.Caption='隸書'thenbeginft:=ls;Edit1.Font.Name:=ffont(ft);end;end;procedureTForm1.Button3Click(Sender:TObject);beginifButton3.Caption='黑體'thenbeginft:=ht;Edit1.Font.Name:=ffont(ft);end;end;6.1.3集合類型的定義與使用 1.集合類型的定義 集合是具有相同性質(zhì)但又可以區(qū)分開來的對象的全體。格式: Type 類型標記符=setof其類型;例: Type Colors=(Red,Green,Blue,Yellow);//先定義一個枚舉類型 Color=setofColors;//定義一個基類型為枚舉類型的集合類型 Char=setof‘m’..’q’;//直接定義一個基類型為子界類型的集合類型。下面的定義是錯誤的: type Num_p=setof200..400; //雖然只有201一個元素,但256—400這些數(shù)值超過了2552.集合類型的使用。【例6-2】編寫一個判斷字符串中是否有元音字母的程序,程序的設計界面如圖6-3所示。程序運營時,在【輸入單詞】編輯框中輸入一個任意單詞,然后單擊【判斷】按鈕,將在【結(jié)果】編輯框中顯示有無元音字母的文本。其中,元音字母為“a,e,i,o,u”,程序運營界面如圖6-4所示。規(guī)定用集合類型實現(xiàn)。6.1.4記錄類型的定義與使用1.記錄類型的定義 格式: type 記錄類型標記符=Record 字段1:類型1; 字段2 :類型2; 。。。 字段n:類型n; end;2.下面定義一個住院病人的記錄類型,如下所示: type Patient=Record //說明這是記錄類型 p_num:Integer; //字段1是病人的住院號,為整形數(shù)據(jù) p_name:String; //字段2是病人的姓名,為字符串數(shù)據(jù) p_pay:Boolean; //字段3是病人的付款情況,為布爾型數(shù)據(jù) end;【例6-3】編寫一個程序,用來輸入和顯示某單位員工基本信息。程序的設計界面如圖6-5所示,程序運營時,單擊【輸入信息】按鈕,用戶可以輸入員工的基本信息,涉及姓名、職稱和基本工資。單擊【查看信息】按鈕,可以顯示剛剛輸入的該單位員工的基本信息,如圖6-6所示。implementationtypepeopleInformation=Record//定義記錄類型name:String[8];call:String[6];wage:Integer;end;varpeople:Array[1..3]ofpeopleInformation;{$R*.dfm}procedureTForm1.Button1Click(Sender:TObject);vark:Integer;beginfork:=1to3dobeginpeople[k].name:=InputBox('員工信息','請輸入第'+IntToStr(k)+'個員工姓名','');people[k].call:=InputBox('員工信息','請輸入第'+IntToStr(k)+'個員工職稱','');people[k].wage:=StrToInt(InputBox('員工信息','請輸入第'+IntToStr(k)+'個員工基本工資','0'));end;end;procedureTForm1.Button2Click(Sender:TObject);varm:Integer;begin//在指定位置顯示Canvas.TextOut(45,25,'姓名'+''+'職稱'+''+'基本工資');form:=1to3doCanvas.TextOut(45,25*(m+1),people[m].name+''+people[m].call+''+IntToStr(people[m].wage));end;【練習題目】:尋找1~100之間的所有素數(shù)編寫一個尋找1~100之間的所有素數(shù)的程序,程序的設計界面如圖6-11所示。程序運行時,單擊【尋找素數(shù)】按鈕將顯示1~100之間的所有素數(shù),//這個函數(shù)專門用來判斷數(shù)字是否為素數(shù)functionSearchPrime(num:Integer):Boolean;vari:Integer;flag:Boolean;beginflag:=true;//判斷是否為素數(shù)。素數(shù)是只能由1和自身整除的。fori:=2tonum-1dobegin//取??梢哉脑?。就不是素數(shù)if((num)modi=0)thenbeginflag:=false;break;end;end;if(flag=false)thenResult:=false;if(flag=true)thenResult:=flag;end;procedureTForm1.Button1Click(Sender:TObject);varflag:bool;i:Integer;k:Integer;begin//2也是素數(shù)Form1.Memo1.Text:='2';//從3開始找到100之間的素數(shù)

溫馨提示

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

評論

0/150

提交評論