Delhpi高級程序設計PPT學習教案_第1頁
Delhpi高級程序設計PPT學習教案_第2頁
Delhpi高級程序設計PPT學習教案_第3頁
Delhpi高級程序設計PPT學習教案_第4頁
Delhpi高級程序設計PPT學習教案_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、會計學1Delhpi高級程序設計高級程序設計課時安排與教學方法:總課時:30 學時 周學時:3 學分:3 講 課:24學時 實驗:6 學時 學生自補:1020 學時 考 試:理論考試授 課 內 容:1、面向對象編程與Delphi 7.0基礎2、 Delphi 常量、變量與數據類型3、 Delphi 運算符與表達式4、 Delphi 語句5、 Delphi 函數與過程6、 Delphi 界面設計7、 Delphi 輸入與輸出8、 Delphi 數據庫編程9、 Delphi 技巧與提高OO技術的層次結構(b)(a)超類類1類2對象1對象2實例1實例2Class:Private:Public:第1頁

2、/共41頁3第一講面向對象技術與Delphi 7.0基礎第2頁/共41頁4第3頁/共41頁5v單元頭標明單元文件名稱,由關鍵字unit標識;v接口部由關鍵字interface標識,用于聲明類型、常量、變量、函數與過程等,其信息可以被本單元和其他單元程序調用;v執行部定義在接口部聲明過的函數與過程代碼,也可包含本單元以外不被其他單元調用的常量與變量;v初始部用于單元初始化,一般用于內存分配;v結束部對應于初始部,按堆棧序列進行操作。第4頁/共41頁6unit p1; 單元頭Interface 接口部Uses 接口部之單元引用聲明 Windows, Messages, SysUtils, Vari

3、ants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;Type 接口部之類型聲明 MyExcept =class(Exception)end;type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; Edit1: TEdit; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); proce

4、dure Edit1KeyPress(Sender: TObject; var Key: Char); private Private declarations public Public declarations end;var 接口部之變量引用聲明 Form1: TForm1;implementation 執行部$R *.dfm 編譯器指令,用于查找資源procedure TForm1.Button1Click(Sender: TObject);beginclose;end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: C

5、har);const MyPass=ZJH;begin if key=#13 then begin end;end;end.初始部結束部第5頁/共41頁7第6頁/共41頁8第二講Delphi 常量、變量與數據類型整型類型所占字節數數值范圍Integer4-2147483648 2147483647shortint1-128127smallint2-3276832767longint4-2147483648 2147483647int648-263263byte1-128127word2-3276832767longword404294967295cardinal404294967295第7頁/

6、共41頁9第二講Delphi 常量、變量與數據類型實型類型所占字節數數值范圍single41.510-393.41038real85.010-3241.710308double85.010-3241.710308currency8-922337203685477.5808extended103.610-49511.1104932comp8-263+1 263+1real4862.910-91.71038第8頁/共41頁10第二講Delphi 常量、變量與數據類型字符與字符串型類型所占字節數數值范圍char1擴展ANSI字符集AnsiChar1擴展ANSI字符集WideChar2Unicode字

7、符集String231個字符需42GB內存Shortstring255個字符集需2256B內存AnsiString231個字符需42GB內存WideString230個字符需42GB內存第9頁/共41頁11第二講Delphi 常量、變量與數據類型布爾型類型所占字節數數值范圍Boolean10/F,1/TByteBool10/F,1/TWideBool20/F,1/TLongBool40/F,1/T第10頁/共41頁12第二講Delphi 常量、變量與數據類型強制類型轉換函數函數數值范圍IntTostr(value:integer)IntTostr(value:int64)將整型與長整型轉換為字

8、符串Floattostr(value:extended)實型轉換為字符串Strtofloat(const s:string)將字符串轉換為實型Strtoint(const s: string)strtoint64(const s:string)將字符串轉換為整型或長整型第11頁/共41頁13第二講Delphi 常量、變量與數據類型第12頁/共41頁14第二講Delphi 常量、變量與數據類型高級數據類型類型語法示例備注枚舉型Typemonth=(Jan,Feb,Mar,Apr);Var MyM:Month;相應函數:Ord()、Pred()、Succ()、Low()和High(); 次序由0開

9、始子界型TypeLowerChar=a.z;VarMyChar:Lowerchar集合型Typeset of 基類型必須是順序類型中的字符型、邏輯型、枚舉型和子界型;如其基類型有n個元素,則集合變量有2n個值靜態數組TypeMydata1array1.5 of real;Mydata2array1.5,1.6 of int64;第13頁/共41頁15第二講Delphi 常量、變量與數據類型高級數據類型類型語法示例備注動態數組TypeMydata1array of real;Mydata2array of array of int64;vardata1:Mydata1;data2:Mydata2

10、;setlength(data1,3)setlength(data2,2,3)動態數組下標最小值為0setlength(data1,3)為data10,data11,data12允許創建第一維固定,其他維不固定的多維動態數組記錄型TypeMyStudentrecordID:string6;Name:string8;end;VarMyPerson: MyStudent;With Myperson dobeginid:=951708;Name:=張建華;end;MyPerson.ID:=951708;第14頁/共41頁16第二講Delphi 常量、變量與數據類型高級數據類型類型語法示例備注函數有類

11、型指針變量TypeMyPoint=integer;varP1:MyPoint;Var P1:integerP1=MyAge;P1=32;New()和dispose():前者分配由指針所指類型決定大小的內存單元給動態指針變量,并把該區域的初始地址賦給指針變量;后者刪除前者創建的動態變量,并釋放相應的內存空間。Getmen()和freemen():前者為動態變量分配一塊制定大小的內存空間,并把該區域的初始地址賦給指針變量;后者刪除前者創建的動態變量,并釋放相應的內存空間。字符指針類型VarP:Pchar;s:string;begins:=zjh:p:=s;end;無類型指針變量可以指向任何類型變量

12、,但要引用無類型指針變量所指向的變量,必須先將其轉換為確定 的類型。無類型指針變量VarMyPerson: Pointer;第15頁/共41頁17第三講運算符與表達式算術運算符類型意義備注-取負單目運算符+取正+加法運算雙目運算符7Div807Mod87-減法運算*乘法運算/除法運算Div整除運算Mod求模運算第16頁/共41頁18第三講運算符與表達式關系運算符類型意義備注大于運算結果為邏輯值=大于等于=小于等于=等于不等邏輯運算符not求反True xor false= trueFalse xor true=trueTrue xor true=falseFalse xor false=fal

13、seAnd與運算Or或運算xor異或運算第17頁/共41頁19第三講運算符與表達式位運算符類型意義目數備注not按位求反單目運算運算對象與運算結果均為整數,按二進制位運算。移位運算,移出的空位一律補0。and按位與雙目運算or按位或xor按位異或shl左移shr右移字符串運算符+連字符運算符的優先級:,not ,or,xor =,=,in,is*,/,div/mod,and,shl,shr,as +,-雙目運算符的結合性是從左到右,單目運算符的結合性是從右到左第18頁/共41頁20第三講運算符與表達式 用運算符將操作數連接而成的式子,即表達式。 表達式的類型由運算符號和操作數的類型決定。 常見

14、的表達式類型有:算術表達式,關系表達式,邏輯表達式,位表達式,字符串表達式和混和表達式等。 計算表達式,首先需要確定運算符號的功能,而后確定計算的順序。第19頁/共41頁21第四 講 Delphi語句類型示例備注空語句;賦值語句x;=2;注釋語句低估(*dsg*)4.2 判斷語句類型示例類型1If then Else;類型2Case of :; :;else ;end;第20頁/共41頁22第四 講 Delphi語句類型示例備注FOR語句For = to do;Break語句可以跳出整個循環,執行之后的語句; Continue語句可以跳出本輪循環,判斷條件是否成立,再決定是否開始新一輪循環。F

15、or = downto do;WHILE語句While do ;Repeat語句Repeatuntil ;第21頁/共41頁23第五講 過程與函數標準過程類型語法消息對話框過程Showmessage();ShowmessageFmt(,);字符串處理過程AppendStr(s1,s2);Delete(s,n,m);Insert(source,s,n);Val(s,v,code);Str(v,s)日期,時間轉換函數DecodeDate(date,year,month,day);DecodeTime(time,hour,min,sec,msec);隨機過程Randomize; 第22頁/共41頁2

16、4第五講 過程與函數類型語法事件過程當用戶對某個對象發出動作時,觸發事件過程。自定義過程Procedure () begin ;end;參數說明格式:var|const :Var和Const分別為地址傳遞和值傳遞;相同類型形參用逗號隔開,不同類型用分號隔開。第23頁/共41頁25第五講 過程與函數內部函數類型語法數學函數Sin(x); & Cos(x); & ArcTan(x); x為弧度平方與平方根函數: Sqr(x); & Sqrt(x); 絕對值函數:Abs(x);取整函數:Int(x); Trunc(x);舍入取整Round(x);取小數函數Frac(x);指數函數:Exp(x); 對

17、數函數:ln(x);隨機函數:Random(x); 圓周率函數:Pi;字符處理函數大小寫轉換函數:LowerCase(s); UpperCase(s);字符串比較函數:區分大小寫CompareStr(s1,s2); 不區分大小寫CompareText(s1,s2);第24頁/共41頁26第五講 過程與函數內部函數類型語法字符處理函數合并函數:ConCat(s1,s2, )定位函數:Pos(s0,s); 長度函數:Length(s); 截取函數:Copy(s,n,m);進制轉換:InttoHex(x,y);ASCII轉換成字符:Char(x);格式化字符串:Format(Flag,Args);類

18、型轉換:IntToStr(x); FloatToStr(x);StrToint(s);StrToFloat(s);第25頁/共41頁27第五講 過程與函數內部函數類型語法日期時間函數Now; date; time;DateToStr(date); TimeToStr(time); DateTimeToStr(datetime); EncodeDate(year,month,day);EncodeTime(hour,min,sec,msec);DateofWeek(date);FormatDateTime(format,datetime);第26頁/共41頁28第五講 過程與函數自定義函數聲明格

19、式備注Function ():;begin;end;函數值通過函數名或系統預定義的Result帶回;當函數名被賦值時,等同于Result;當函數名出現在本函數其他地方,則表示函數的遞歸調用。參數傳遞在形參前不加任何保留字或加保留字Const,為值傳遞方式,此時形參的任何變化都不會影響實參;在形參前加保留字var或Out,為地址傳遞方式,此時形參和實參共用同一內存地址,保持同變化。第27頁/共41頁29第五講 過程與函數缺省參數Function (:=):;begin;end;數組參數數組既可以作為函數的參數,也可以作為函數的返回類型;同時,Dephi還提供開放式數組,即作為函數形參的數組在定義

20、時大小不確定,在調用函數(包括過程)時,可以傳遞不同大小的同類型數組作為實參。第28頁/共41頁30第五講 過程與函數重載同名過程或函數對應多個具體的實現;要求彼此間在參數個數、參數類型上有所不同;如定義缺省形參,調用前必須能讓系統區分具體的調用過程與函數。嵌套即在一個程序中調用另一個程序;外層過程或函數必須完全包含在內層過程或函數之中;計算由內而外,逐層外推。遞歸即在一個程序中直接或間接調用程序本身;遞歸包括直接遞歸和間接遞歸兩類;無限遞歸沒有意義。第29頁/共41頁31第五講 輸入與輸出 輸入與輸出類型語法消息對話框過程Showmessage();ShowmessageFmt(,);Mes

21、sagedlg(,HelpContents);MessagedlgPos(,HelpContents,X,Y);輸入對話框:=inputbox(,);:=inputquery(,);第30頁/共41頁32第五講 輸入與輸出 鍵盤事件類型語法onKeyDownKeydown(sender:Tobject; Var Key:Word; Shift: TShiftState)Key: Vk_Back、VK_UP | Tpye TShiftState = set of (ssshift,ssalt)見例子之手寫板onKeyPressKeyPress(sender:Tobject; Var Key: C

22、har)onKeyUpKeyUp(sender:Tobject; Var Key:Word; Shift: TShiftState)Key: Vk_Back、VK_UP | Tpye TShiftState = set of (ssshift,ssalt,ssleft,ssCtrl,ssMiddle)第31頁/共41頁33第五講 輸入與輸出 鼠標事件類型語法OnClickClick(Sender:Tobject)OnDblClickDblClick(Sender:Tobject)onMouseDownMouseDown(Sender:Tobject; Btton:TMouseBtton; Sh

23、ift:TshiftState;x,y:Integer)TMoustButton=(mbLeft, mbRight, mbMiddle)Tpye TShiftState = set of (ssshift,ssalt,ssCtrl)onMouseUp同onMouseDown onMouseMoveMouseMove(Sender:Tobject; Shift:TshiftState; x,y:Integer)見界面設計實驗之手寫板第32頁/共41頁34第五講 輸入與輸出 鼠標拖放步驟內容步驟1將源和目標的DragMode設置為dmManual步驟2開始鼠標拖放狀態:BeginDrag(imme

24、diate:Boolean; threshold: Integer)步驟目標準備接受:DragOver(Sender,Source:Tobject; X,y:Integer; State:TDragState;Var Accept:Boolean)步驟通過目標對象OnDragOver事件完成拖放交接。見界面設計實驗之密碼拖放解析第33頁/共41頁35第六講 界面設計屬性作用CaptionName Top Left Width Height ScaleWidth ScaleHeight Align BorderIcon設置系統菜單和窗口控制按鈕Position窗體的顯示位置與大小BorderSt

25、yle邊框類型Color Font Visible Enable FormStyle WindowsSate方法作用Create Show Close CloseQuery Release ShowModal Canvas Print事件作用OnCreate OnCloseQuery OnClose OnDesStroy OnShow Onhide靜態與動態創建新窗體以及窗體見界面設計實驗FrmEx第34頁/共41頁36第六講 界面設計組件備注LabelName Caption Font Color TransParent Alignment LayoutTEdit屬性:Name Text A

26、utosize Enable PassWordChar readonlyMaxLength CharCase SelText BorderStyle方法:clear selectall 事件:OnChange KeyPressTMemoLines ScrollBall WantReturn WantTabTButtonCaption Font | Onclick OnMouseMove/Up/DownTBitBtnCaption Kind Glyph Layout Margin SpacingTCheckBoxChecked Alignment State CaptionRadioGroup|

27、 GroupBox、Panel+ TRadioButton相關組件應用見界面設計實驗FrmEx第35頁/共41頁37第六講 界面設計組件備注TListBoxItems ItemsIndex Sorted Columns MultiSelect SelCount Selected方法:Add Insert Delete Move ClearTComboBoxItems ItemsIndex Text Sorted Style DropDownCount方法:Add Insert Delete Move ClearTTimerEnabled Interval | OnTimerTMainMenuName Items Imag

溫馨提示

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

評論

0/150

提交評論