![delphi 6集成開發(fā)環(huán)境Delphi編程語言是以Pascal為基礎(chǔ)具_(dá)第1頁](http://file4.renrendoc.com/view/7c2a1a2df7fd50bebc9cd257d303e543/7c2a1a2df7fd50bebc9cd257d303e5431.gif)
![delphi 6集成開發(fā)環(huán)境Delphi編程語言是以Pascal為基礎(chǔ)具_(dá)第2頁](http://file4.renrendoc.com/view/7c2a1a2df7fd50bebc9cd257d303e543/7c2a1a2df7fd50bebc9cd257d303e5432.gif)
![delphi 6集成開發(fā)環(huán)境Delphi編程語言是以Pascal為基礎(chǔ)具_(dá)第3頁](http://file4.renrendoc.com/view/7c2a1a2df7fd50bebc9cd257d303e543/7c2a1a2df7fd50bebc9cd257d303e5433.gif)
![delphi 6集成開發(fā)環(huán)境Delphi編程語言是以Pascal為基礎(chǔ)具_(dá)第4頁](http://file4.renrendoc.com/view/7c2a1a2df7fd50bebc9cd257d303e543/7c2a1a2df7fd50bebc9cd257d303e5434.gif)
![delphi 6集成開發(fā)環(huán)境Delphi編程語言是以Pascal為基礎(chǔ)具_(dá)第5頁](http://file4.renrendoc.com/view/7c2a1a2df7fd50bebc9cd257d303e543/7c2a1a2df7fd50bebc9cd257d303e5435.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2章ObjectPascal(.EXEDelphi的可視化元素放在一邊,將主要討論ObjectPascal的主要特點(diǎn),Pascal體和框與用戶進(jìn)行信息交互,實(shí)現(xiàn)一定的功能。如公司的Office系列軟件和正在使用的Delphi6.0等??刂婆_(tái)程序介紹ObjectPascal語言。序,以及ObjectPascal程序的一般結(jié)構(gòu)有一個(gè)比較直觀的認(rèn)識(shí)。wrin('您輸入的是激活菜單項(xiàng)File/SaveAll將工程文件保存至 在下面介紹),因?yàn)镾ysUtils單元在這個(gè)例子中用不到。序最后的readln語句是為了鎖定窗口,否則輸出結(jié)果將很快。Pascal的語法。如上例中的第二句{$APPTYPECONSOLE}。(*(*這是的*)*$&*#‘()[]{,}.^?;+:/@<=> []與(..)分別對(duì)應(yīng),{}與(**)分別對(duì)應(yīng)。含義完全相同,可以相互替代。(Simplenc(real
2-1為0時(shí),可以認(rèn)為是true。SundayThours=0..23; 后面有{$R*.DFM}字樣表示范圍檢查打開,否則您可以在O plierOptions中674888法。在ObjectPascal中,通常用一對(duì)單引號(hào)來把字符串括起來,例如'AString'。制,同時(shí)與null結(jié)束的字符串相兼容。么就總是ShortString,例如:實(shí)際上,AnsiString類型是一個(gè)指向在堆棧中的字符串結(jié)構(gòu)的指針。string(255+1=256并且彼此能相互兼容,不過WideStringAnsiString的不同主要在三個(gè)方面:的利用上不如AnsiString有效。PChar所指向的內(nèi)存進(jìn)行分配。PChar字符串的理論最大長度是4GB。s1:= s2:=s1:=s1+s2; s1:='s2:=個(gè)其它常用的運(yùn)算符和Delphi的過程或函數(shù):接口類型。如圖2-2所示。
2-2TInt=0..255; T1=setofTInt; TChar=setof('a','b','c');集合T1中是否有200:if200inT1:Include(T1,256);//在集合中增加256;Exclude(CharSet,'a');//在集合中刪除'a';Include()Exclude()Include()和個(gè)變量,TDou[1]表示第一個(gè)變量。也可以把數(shù)組定義成類型:TDou:fori:=1to25doTDou[i]:=…forCol:=1to25forRow:=1to25doName:string[20];Salary:Double;Position:string[20];YearHired:=1993;Salary:=2000.00(Field(file(classrfae wrin('b=',pt^); //b:=p^; wrin('b=',b); wri
本一致,但是它只能表達(dá)與OLE自動(dòng)化操作相兼容的數(shù)據(jù)類型。這就是引入Variant類型目的。括另一個(gè)Variant數(shù)組)。例如,假定要把一個(gè)字符類型的值賦給一個(gè)byte類型的變量,相應(yīng)代碼如下所示:
c:=b:=cc:= 只有當(dāng)兩個(gè)變量的數(shù)據(jù)長度一樣時(shí),才能對(duì)變量進(jìn)行強(qiáng)制類型轉(zhuǎn)換。 Oeraor運(yùn)算符跟在C語言中的運(yùn)算符相同,所以在C語言中的表達(dá)式if(x==y在ObjectPascal中寫成ifx=y。值。Delphi的不等于運(yùn)算符是<>,相當(dāng)于C語言中的!=運(yùn)算符。ifAandBwhileAorB運(yùn)算符,它同樣也經(jīng)常作為if語句的一部分,例如:ifnotA2-4===>>><<<<<<!2-5算術(shù)運(yùn)算符加+++減---乘***/////%無無^符對(duì)兩個(gè)整型數(shù)進(jìn)行除法運(yùn)算,ObjectPascal編譯器將提示出錯(cuò)了,請(qǐng)看下面的代碼:
Freal; Pascaldiv運(yùn)算符更快、更有效。與或&~|^無shl和shrC語言中的<<和>>運(yùn)算符,表2-6列出這些按位運(yùn)算符。11運(yùn)算,這是經(jīng)過優(yōu)化的代碼,和減1操作:2-7加減運(yùn)算符加無減無+-^= + - * = Pi=Answer=342;="角度來考慮,盡量不要使用goto語句。ifAthenifAthenBelseif語句會(huì)計(jì)算一個(gè)表達(dá)式,并根據(jù)計(jì)算結(jié)果決定程序流程。if保留字后跟隨一個(gè)生成部分,表達(dá)式為False時(shí)自動(dòng)跳到下一行程序。end保留字來強(qiáng)迫else部分屬于某一級(jí)的if語句。i:=i:=untili=10;會(huì)被計(jì)算,這意味著repeat語句至少會(huì)被執(zhí)行一次。環(huán),執(zhí)行while語句后面的程序。i:=i:=wrin(i);i:fori:=1to5do話,選用repeat..until語句比較合適;當(dāng)用戶認(rèn)為程序可能一次都不執(zhí)行的話,最好選用while..do語句。if語句會(huì)計(jì)算一個(gè)表達(dá)式,并根據(jù)計(jì)算結(jié)果決定程序流程。在上文的例程中,根據(jù)為False時(shí)自動(dòng)跳到下一行程序。強(qiáng)迫else部分屬于某一級(jí)的if語句。
例子在執(zhí)行第二次循環(huán)時(shí)continue()后的代碼不執(zhí)行:fori:=1to3doifi=2thencontinue;wrin(i,'aftercontinue');這樣可以簡(jiǎn)化代碼的輸入量。With語句的形式如下:withobjdoName:string[20];Salary:Double;Position:string[20];NameProcedureName是過程名,是有效的標(biāo)識(shí)符。ParameterList為過程的參數(shù)列表,需要指LocalDeclarationsstatements都是可選部分,可以不要。作。注意這里與CC++不一樣,把一個(gè)值賦給Result,函數(shù)并不會(huì)結(jié)束。Exit//Result:=True;);//ifOutputNum(123.456789,-3)=falsethenWrin('輸出失敗。');Falseexit函數(shù)立刻退出OutputNum函數(shù)。參前加上保留字var。例如:Nnmber初始值的10倍。PInteger=^Integer;//定義指針類型);//);//Wrin('i',i);P3(@i將I加3Wrin('i':,i);i:i:i:值為2,這時(shí)使用的是參數(shù)傳遞。;//;//Result://end;//;//保留字forword。下文的例子是一個(gè)遞歸調(diào)用的典型例子:ifA>0test2(A);{置說明,調(diào)用未執(zhí)行的過程Test2}wrin(A);A:=Adiv2;ifA>0);{Alpha:=15;{給Alpha賦初值}2-3程,則可以在Unit2uses子句中加入U(xiǎn)nit1,并使用下面的說明:環(huán)境中,普通類的名稱一般以T開頭,異常類的名稱一般以E開頭。件”菜單項(xiàng)中的菜單命令,可以將標(biāo)識(shí)號(hào)命名為FileOpen、FileClose等。使用Windows,而不要使用WindowCollection。Coad和Yourdon給出了下面直觀的定義:=+++2-4一個(gè)域就像是在Pascal記錄中一個(gè)域,在C++中它被稱為數(shù)據(jù)成員。派生出一個(gè)新類。TObject類是在System單元中定義的。個(gè)單元文件中,則要在uses語句中包括被的類所在的單元名稱。automated應(yīng)的內(nèi)存資源等。此外,還可以調(diào)用過程釋放對(duì)象占用的資源。也就是使用register指令字方式。函數(shù)調(diào)用約定方式,也就是使用register指令字方式。nil,則會(huì)自動(dòng)調(diào)用析構(gòu)函數(shù)。通常在運(yùn)行時(shí)創(chuàng)建的對(duì)象應(yīng)該調(diào)用過程來代替析構(gòu)函數(shù)。因?yàn)槿绻麑?duì)象沒有被初始化,則調(diào)用析構(gòu)函數(shù)時(shí)就會(huì)出錯(cuò),而調(diào)用過程就沒有問題。 class////PublicSalary:integer薪金);//
destructorDestroy;override;;//;//;//Wrin(':',Name,':',GetAge,'住址:',AddressName));//Wrin('顧客類的構(gòu)造函數(shù)。');;//Wrin(為:',Name,'的顧客類對(duì)象被刪除。');inheritedDestroy;//調(diào)用父類的析構(gòu)函數(shù)
;//;//;//::21部門:部薪水::46住址:北一路例程中的T類默認(rèn)從TObject類派生而來,然后它又派生出兩個(gè)子類:性、Name屬性、GetAge函數(shù)和SetAge過程等。eNeaaSetSalary TFruitclass A1:TApple;//一個(gè)蘋果類的變量A1:=ProcedureIamAVitual;virtual;存要少,但執(zhí)行起來較慢,因?yàn)橛锌赡芤阶嫦葘?duì)象的DMT中查找動(dòng)態(tài)方法。的消息。用消息處理方法來響應(yīng)Windows的消息,這樣就不用直接來調(diào)用它。ObjectPascalOOP的多態(tài)性概念。通過覆蓋使一方法在不同的派生類間表現(xiàn)出不同的行為。ObjectPascal中能被覆蓋的方法是在時(shí)被標(biāo)識(shí)為virtual如,能用下面的代碼覆蓋IAmAVirtualIAmADynamic方法:ProcedureIamAVitual;override;ProcedureA;
指針。Self由編譯器作為一個(gè)隱含參數(shù)傳遞給方法。 classprocedureT.Infor;//顯示調(diào)用的是T
;//一個(gè)人類的變P1.Infor;//調(diào)用的是T P1.Infor;//調(diào)用的是T classendendWrin(
;//一個(gè)人類的變P1:= P1.Infor;//調(diào)用的是T P1.Infor;//調(diào)用的是TCustomer類的 E1.Infor;//調(diào)用的是TEmployee類的Infor 也把這兩個(gè)運(yùn)算符稱為運(yùn)行時(shí)類型信息(RTTI:runtimetypeinformation)運(yùn)算符。果對(duì)象為nil,返回值則為False。objectas class//;//
;//一個(gè)人類的變P1.Name:=';ifP1isTEmployeethen(P1asTEmployee).Infor; P1.Name:=';ifP1isTEmployeethen(P1asTEmployee).Infor; ifE1isTEmployeethen(E1asTEmployee).Infor; :;部門名稱:人事部:;部門名稱:P1TCustomer類的對(duì)象,使用了is運(yùn)算符來進(jìn)行判斷。 DeptName屬性和調(diào)用Infor過程。TEmployeeclassNamestring;;//
E1:= 字段、屬性和普通方法,但是可以通過Self調(diào)用構(gòu)造函數(shù)和其它類方法。類varAnyObj:SomeClass;
className:string;//DeptName:string;//部門名稱procedureInfor;//顯示職員信息
fori:=0to1do;////(Employee[I]asTEmployee).Name:='';(Employee[I]asTEmployee).Infor;:部門名稱:人事unitUnit1; uses{元的名稱必須和文件名相匹配。例如,如果有一個(gè)文件名為A1unit語句可能是:interface部分,在unit語句后的源代碼必須是interface,而不能有過程體和函數(shù)體。interface語句應(yīng)當(dāng)只有一個(gè)單詞且在一行:{在這里進(jìn)行局部把另一個(gè)留在interface部分,這樣就能解決問題。下面是TObject的定義: procedureCleanupInstance;classfunctionClassParent:TClass;classfunctionClassInfo:pointer;classfunctionMethodName(address:pointer):ShortString;functionFieldAddress(constName:ShortString):pointer;functionGetInterface(constIID:TGUID;outobj):Boolean;classfunctionGetInterfaceTable:PinterfaceTable;procedureAfterConstruction;virtual;procedureBeforeDestruction;virtual;classfunctionNewInstance:T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB37-T 4514-2022 1:50000水文地質(zhì)調(diào)查規(guī)范
- 人力入股機(jī)制合同范例
- 買賣水果雙方合同范例
- 兒童用車合同范本
- 冷庫工程簡(jiǎn)易合同范例
- 搜索引擎與網(wǎng)絡(luò)文學(xué)的發(fā)展趨勢(shì)考核試卷
- 土木工程建筑施工監(jiān)理實(shí)務(wù)考核試卷
- 勞務(wù)搬運(yùn)協(xié)議合同范本
- 公司資源轉(zhuǎn)讓合同范例
- alc板勞務(wù)合同范本
- 元宇宙視域下非遺保護(hù)與傳播途徑探究
- 2025年買賣個(gè)人房屋合同(4篇)
- 2025代運(yùn)營合同范本
- 武漢2025年湖北武漢理工大學(xué)管理人員招聘筆試歷年參考題庫附帶答案詳解
- 第十一章《功和機(jī)械能》達(dá)標(biāo)測(cè)試卷(含答案)2024-2025學(xué)年度人教版物理八年級(jí)下冊(cè)
- 初三物理常識(shí)試卷單選題100道及答案
- 辦公用品價(jià)格清單
- 公司銀行貸款申請(qǐng)書范文
- DB3713T 340-2024 實(shí)景三維數(shù)據(jù)接口及服務(wù)發(fā)布技術(shù)規(guī)范
- 機(jī)械設(shè)計(jì)制造及其自動(dòng)化專業(yè)知識(shí)
評(píng)論
0/150
提交評(píng)論