欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      delphi 日常語法總結(jié)

      時間:2019-05-15 13:29:36下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《delphi 日常語法總結(jié)》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《delphi 日常語法總結(jié)》。

      第一篇:delphi 日常語法總結(jié)

      Delphi總結(jié)

      目錄

      Delphi總結(jié).......................................................................................................................................1

      1:控件只能輸入數(shù)字................................................................................................................1 2:下拉框賦值............................................................................................................................1 3:初始化Cell.............................................................................................................................2 4:注冊Cell.................................................................................................................................2 5:華表居中 華表增加,刪除某一行......................................................................................2 6:設(shè)置增刪改查按鈕狀態(tài)........................................................................................................2 7:主鍵獲取方法........................................................................................................................3 8:獲取多條,返回容器............................................................................................................3 9:保存

      修改

      刪除

      方法....................................................................................................4 10:遍歷下拉框的值..................................................................................................................5 11: TDBGridEh增加,修改后定位到某個..............................................................................5 12::json封裝,解析.................................................................................................................5 12:導(dǎo)出Excel文件(TsaveDialog控件).....................................................................................7 13:判斷奇偶數(shù)分別插入不同位置..........................................................................................7

      14:從一個目錄復(fù)制文件到另一個目錄,刪除文件......................................................8

      15:從下拉框多個值獲取ID.....................................................................................................8

      16:Delphi 格式化日期.....................................................................................................8 17:華表某一列求和..........................................................................................................8

      1:控件只能輸入數(shù)字

      if not(key in ['0'..'9', #8])then key := #0;2:下拉框賦值

      procedure TSickDistrtionsFrm.SetDoct();var

      obj: TDoctInfoClass;

      DoctInfo: THis_DoctInfo;

      idx: Integer;begin

      inherited;

      obj := TDoctInfoClass.Create;

      obj.GetAllDoctDB();

      for idx := 0 to obj.iteminfo.Count1, cl1.Rows1, cl1.Rows1 do

      begin

      DoctInfo := THis_DoctInfo(cbbzgys.Items.Objects[idx]);

      if DoctInfo.sDoct_ID + '.' + DoctInfo.sDoct_Name = BedDistrtion.sDirectorDoct then

      begin

      cbbzgys.ItemIndex := idx;

      end;

      end;11: TDBGridEh增加,修改后定位到某個

      adors.Locate('sMlbm', CatalogueInfo.sMlbm, [loCaseInsensitive]);

      12::json封裝,解析

      Var

      jo, jo1, jt, jfields: ISuperObject;//封裝明細

      jo := SO();jt := SA([]);for idw := 0 to TJXMBInfo.iteminfo.Count1 do

      begin

      TJXMBInfo := TB_TJXMBInfo.Create;

      TJXMBInfo.sbz := tt.O[i].s['sbz'];

      TJXMBInfo.sxmmc := tt.O[i].S['mc'];

      TJXMBInfo.sxmbh := tt.O[i].S['bh'];

      TJXMBInfo.sKebh := tt.O[i].S['sKebh'];//

      TJXMBInfo.sxmmx:= tt.O[i].S['sxmmx'];

      TJXMBInfo.nxmjg := tt.O[i].d['XMJG'];

      iteminfo.Add(TJXMBInfo);

      end;

      end

      else

      begin

      TJXMBInfo := TB_TJXMBInfo.Create;

      TJXMBInfo.sbz := jo.O['list'].s['sbz'];

      TJXMBInfo.sxmmc := jo.O['list'].S['mc'];

      TJXMBInfo.sxmbh := jo.O['list'].S['bh'];//

      TJXMBInfo.sxmmx := jo.O['list'].S['sxmmx'];

      TJXMBInfo.sKebh := jo.O['list'].S['sKebh'];

      TJXMBInfo.nxmjg := jo.O['list'].d['XMJG'];

      iteminfo.Add(TJXMBInfo);

      end;

      end;end;12:導(dǎo)出Excel文件(TsaveDialog控件)

      {導(dǎo)出Excel }

      if SaveDialog1.Execute then

      begin

      {命令執(zhí)行}

      {獲取文件名}

      Cell1.DoExportExcelFile(SaveDialog1.FileName);

      end;13:判斷奇偶數(shù)分別插入不同位置

      for idx := 0 to PhyData.iteminfo.Count-1 do

      begin

      TJXMBjson := TB_TJXMBInfo(PhyData.iteminfo.Items[idx]);

      if idx mod 2 = 0 then

      //偶數(shù)

      begin

      row1 := row1 + 1;

      cl1.DoSetCellData(0, row1, '□' + TJXMBjson.sxmmc);

      cl1.DoSetCellTextStyle(0, row1, 1);

      cl1.DoSetRowHeight(row1, cl1.DoGetRowBestHeight(row1)+ 15);

      end

      else if idx mod 2 = 1 then

      //奇數(shù)

      判斷列增加

      begin

      cl1.DoSetCellData(2, row1, '□' + TJXMBjson.sxmmc);

      cl1.DoSetCellTextStyle(2, row1, 1);

      cl1.DoSetRowHeight(row1, cl1.DoGetRowBestHeight(row1)+ 15);

      end;

      for idxC := 0 to 4 do

      begin

      cl1.DoSetCellAlignment(idxC, row1, 32);//居中顯示

      end;

      end;,14:從一個目錄復(fù)制文件到另一個目錄,刪除文件

      CopyFile(PChar('D:A***920001X.xml'), PChar('D:B***920001X.xml'), false);

      DeleteFile('D:B***920001X.xml');

      15:從下拉框多個值獲取ID aInfo.sOpid :=THis_UserInfo(cbbczy.Items.Objects[cbbczy.ItemIndex]).sUser_ID;

      16:Delphi 格式化日期

      formatdatetime('yyyy-mm-dd',now);17:華表某一列求和

      cl1.DoSetFormula(1, fpirow, 'sum(B' + IntToStr(3)+ ':B' + IntToStr(fpirow)+ ')');

      第二篇:delphi復(fù)習資料

      題型:

      填空題20×1 簡答題5×6 程序填空題11×2 編程題2×14 資料整理的不是完全完整,結(jié)合這些重點可以在書上再仔細復(fù)習。希望好好復(fù)習,大家都能通過!

      第一章Delphi簡介

      1.1delphi概念 Delphi的主要特點: Borland公司的Pascal編譯器 Delphi以object Pascal為編程語言 Delphi充分發(fā)揮了windows的強大功能 Delphi提供了豐富的32位可視組件庫

      Delphi在數(shù)據(jù)庫和網(wǎng)絡(luò)處理功能方面是同類產(chǎn)品中最強的

      1.2delphi7集成開發(fā)環(huán)境

      主窗口:包括菜單欄,工具欄及組件欄; 對象游覽器:包括屬性頁和事件頁; 對象樹性列表; 窗體設(shè)計器; 代碼編輯器;

      1.3delphi程序的基本結(jié)構(gòu)

      擴展名為dpr的是項目文件;擴展名為pas的單元文件;擴展名為dfm的是窗體文件

      單元文件的格式如下:

      單元頭:該單元指定單元的名稱

      接口部分:該部分從保留字interfact開始,到保留字implementation之前結(jié)束。接口部分可以有uses語句,還可以用來聲明常量,數(shù)據(jù)類型,變量,過程和函數(shù)等。其中uses語句必須緊跟在保留字interfact之后。在整個程序中都可以被訪問

      實現(xiàn)部分:這些聲明可以在本單元中被訪問,不可以在其他單元中被訪問,類的方法必須在實現(xiàn)部分實現(xiàn)

      初始化部分:從保留字implementation開始,到保留字finalization之前結(jié)束。一個單元中可以沒有該部分。

      結(jié)束部分:一個單元中只有出現(xiàn)了初始化部分,才可以有結(jié)束部分

      第二章Object Pascal語言基礎(chǔ) 2.1詞法符號 保留字

      標識符:1標識符由字母,數(shù)字或下劃線組成 2標示符的第一個字符必須是字母或下劃線 3標識符的長度不應(yīng)超過255個字符 4不能將保留字用作標識符 5標識符不區(qū)分大,小寫

      標準標識符是可以重新定義的,而保留字卻不允許重新定義

      因system單元是自動應(yīng)用的,不必也不允許在引用部分列出system單元 Absolute指令字用于指示相同類型的另一標識符存放在同一段內(nèi)存區(qū)域中 2.2常量和變量

      布爾常量是指false和true這兩個值 用#引導(dǎo)一個整數(shù),整數(shù)表示該字符的ASCII碼 用‘’‘’表示單引號字符 2.3簡單數(shù)據(jù)類型

      數(shù)據(jù)類型分為簡單數(shù)據(jù)類型,字符串類型,結(jié)構(gòu)類型,指針類型,過程與函數(shù)類型和可變類型等是一種常見的分類方法

      有序數(shù)據(jù)類型特點:

      1、數(shù)據(jù)的分布是離散的;

      2、除了第一個元素外,其他任何元素都有一個前驅(qū)元素;

      3、除了最后一個元素外,其他任何元素都有一個后繼元素

      關(guān)系運算符號:=,<>,>≡,>,<≡,< 整型數(shù)的邏輯運算符:not,and,or,xor 左,右移位運算符:shl,shr 基本字型有ansichar和widechar Pascal語言提供的自變量為實型的標準函數(shù)由: 1絕對值函數(shù)abs(x):函數(shù)值為x的絕對值 2平方函數(shù)sqr(x):函數(shù)值為x的平方

      3正弦函數(shù)sin(X):函數(shù)值為x的正弦,其中x的單位為弧度 4余弦函數(shù)cos(x):函數(shù)值為x的余弦,其中x的單位為弧度 5反正切函數(shù)arctan(x):函數(shù)值為x的正反切,函數(shù)值的單位為弧度 6指數(shù)函數(shù)exp(x):函數(shù)值為指數(shù)e 的x次方 7對數(shù)函數(shù)in(x):函數(shù)值為x的自然對數(shù) 8平方根函數(shù)sqrt(x):函數(shù)值為x的平方根

      9舍入函數(shù)round(x):對實數(shù)x作四舍五入,結(jié)果為整數(shù) 10截尾取整函數(shù)trunc(x):截去實數(shù)x的小數(shù)部分,結(jié)果為整數(shù) object pascal提供了豐富的日期時間處理函數(shù),常用的有: 1date0:函數(shù)返回系統(tǒng)當前日期,無參數(shù),返回數(shù)據(jù)是tdate time型 2time0:函數(shù)返回系統(tǒng)當前時間,無參數(shù),返回數(shù)據(jù)是tdate time型 3now0:函數(shù)返回系統(tǒng)當前日期和時間,無參數(shù),返回數(shù)據(jù)是tdate time型 4strtodte(日期字符串):字符串轉(zhuǎn)換為日期時間函數(shù),返回數(shù)據(jù)是tdate time型

      2.4結(jié)構(gòu)類型 結(jié)構(gòu)數(shù)據(jù): —集合類型(set)—數(shù)組類型(arry)—記錄類型(record)—文件類型(file)—類類型(class)

      —類引用類型(class reference)—接口類型(interfact)

      object pascal中規(guī)定了基類型只能是不超過265個有序值的集合,集合元素的敘數(shù)值必須介于0~~255之間

      集合運算有交(*),并(+),差(—),運算對象是兩個相同類型的集合,運算結(jié)果也是集合。例如,若有為[1,3,5],y為[3,4,5],則x*y為[3,5],x+y為[1,3,4,5],x-y為[1] 數(shù)組的定義:Type arry [indextype。。,indextypen] of basetype ①對于通用字符串類型string,指定其最大長度(0------255)。此時string型被視為shortstring型

      ②shortstring型不是以null(空字符#0)作為字符串的結(jié)果標志,而是將長度保存在字符串數(shù)組下標為0的儲存單元中 ③ansistring以full結(jié)束

      記錄的定義: Type 記錄類型標識符=record 域1:類型1 域2:類型2。。。。域n:類型n 2.6語句流程 語法形式: 輸入語言

      Read([文件變量]變量列表)

      Readln([文本文件變量]變量列表)有回車 省略文本變量參數(shù)表示從鍵盤輸入中讀取數(shù)據(jù) 輸出語言

      Write([文件變量]輸出項表)

      Writeln([文本文件變量]輸出項表)有回車

      注釋和編譯指令 //單行注釋內(nèi)容 {注釋內(nèi)容}(*注釋內(nèi)容*)

      Case語句的語法格式: Case選擇表達式of 常量1:語句1 常量2:語句2。。。。

      常量n-1:語句n-1 [else語句n;] End;

      保留字case后的選擇表達式,其值必須是有序類型,如整型,字符型,布爾型,枚舉型或子界型 P45頁程序

      While語句的執(zhí)行過程是:先計算布爾表達式的值,當值為true時,執(zhí)行循環(huán)體中的語句序列,然后重新計算布爾表達式的值,若仍為true則再執(zhí)行一遍循環(huán)體

      While語句的特點是先判斷條件,當條件為true才執(zhí)行。當?shù)谝淮螚l件為false時,循環(huán)次數(shù)為0

      Repeat語句的執(zhí)行過程是:先執(zhí)行repeat到until之間的語句,然后計算布爾表達式的值,若為false,則再執(zhí)行repeat到until之間的語句,若為true則推出循環(huán)體

      Break過程,可使程序的執(zhí)行流程立即退出該層循環(huán) Continue過程將使程序直接轉(zhuǎn)入下一次循環(huán) 2.7過程與函數(shù)

      Procedure過程名(參數(shù)表)

      Function函數(shù)名(參數(shù)表):返回數(shù)據(jù)類型 過程由過程首部、局部聲明部分和過程體組成。函數(shù)由函數(shù)首部、局部聲明部分和函數(shù)體組成。

      參數(shù)的傳遞如下:

      1值參數(shù)聲明時,形參前面無任何修飾

      2變量參數(shù)聲明時 變參傳遞的是一個變量的地址,即實參把地址傳遞的是一個變量的地址,即實參把地址傳遞給變參,變參和實參指向的是同一地址空間。在過程和函數(shù)中對變參的修改直接影響實參 3常量參數(shù)聲明時,形參的前面用保留字const修飾

      過程和函數(shù)重裁是指定義多個名稱相同,而參數(shù)列表不同的過程和函數(shù)。編譯器根據(jù)調(diào)用時實參表中的參數(shù)個數(shù)和類型,自動匹配一個重裁的過程或函數(shù)。重裁過程或函數(shù)使用默認參數(shù)可能會導(dǎo)致二義性錯誤 2.8程序與單元的結(jié)構(gòu) 單元結(jié)構(gòu): 1單元首部

      2接口部分:定義的這些標識符可以被引用該單元的程序訪問 3實現(xiàn)部分:在實現(xiàn)部分定義的標志符不能被其他單位或程序訪問 4初始部分 5終結(jié)部分

      2.9標識符的作用域

      標識符的作用域是指其在程序中起作用的范圍。

      單元中接口部分定義的標識符包括數(shù)據(jù)類型,類,常數(shù),變量,過程和函數(shù)導(dǎo)等 他們在引用該單元的程序(項目文件,其他單元)中都可以被訪問

      第三章 Delphi中的面向?qū)ο?3.1面向?qū)ο蟪绦蛟O(shè)計概述

      將具有相同屬性和行為的對象抽象為類,每個對象都屬于某個類。通過繼承關(guān)系構(gòu)成類的層次結(jié)構(gòu),子類可以直接繼承父類的性質(zhì)和功能。3.2類與對象

      類是具有相同或相似屬性和行為的一組對象的共同描述,是對相似對象建立的模板。

      對象由屬性和方法構(gòu)成。屬性是描述對象靜態(tài)特征的一組數(shù)據(jù)想:方法描述了該類對象動態(tài)特征的一個操作序列,體現(xiàn)對象的行為特征或功能。定義類:type 類名=class 數(shù)據(jù)成員

      成員函數(shù)或過程 End;

      注意:在函數(shù)或過程名前必須帶有類名。Procedure Circle.Draw; 聲明對象一般形式為:var 對象名:類名; 訪問對象成員:對象名.成員

      構(gòu)造函數(shù)和析構(gòu)函數(shù)的定義,作用和特點:

      構(gòu)造函數(shù)是專用的創(chuàng)建對象和初始化對象的成員函數(shù)。定義時用保留字constructor,函數(shù)名通常為create。在定義的構(gòu)造函數(shù)中,不僅可以為類對象分配內(nèi)存空間,而且可以打開文件或數(shù)據(jù)庫讀取數(shù)據(jù)或控制設(shè)備復(fù)位。析構(gòu)函數(shù)是專用的刪除對象和為對象進行善后處理的成員函數(shù)。定義時用保留字destructor,函數(shù)名通常為Destroy。在析構(gòu)函數(shù)中,不僅可以釋放相應(yīng)的內(nèi)存資源,還可以保存數(shù)據(jù)信息,關(guān)閉文件或者數(shù)據(jù)庫,控制設(shè)備復(fù)位并關(guān)機。3.3類成員的訪問權(quán)限

      封裝是把一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)的操作集合組裝在一起,形成一個能動的實體,也就是對象。

      訪問權(quán)限分為:private:私有數(shù)據(jù)成員、成員函數(shù)、過程。不能被類所在單元以外的程序訪問,但本單元是可見的。

      Protected:保護??。被該類及該類的所有派生類訪問,并成為派生類的私有成員。

      Public:共有??。被該類以外的類訪問。

      Published:公布??。在設(shè)計期間的對象觀察器窗口中可見。

      Automated:自動??。用于響應(yīng)對象鏈接與嵌入自動化類型信息的公共接口。3.4繼承

      繼承的實質(zhì)是在既有類的基礎(chǔ)上構(gòu)造新的類,即新類從一個或者多個已有類中繼承數(shù)據(jù)和方法,同時增加或重新定義數(shù)據(jù)和方法,由此構(gòu)造出一個新的類型,稱為派生類。已有的類稱為基類。繼承的主要目的是實現(xiàn)代碼的重用。派生類的定義:type 派生類=class(基類){派生類新增或改寫部分} End;

      派生類的構(gòu)造和析構(gòu)函數(shù):在派生類構(gòu)造函數(shù)的開始部分,使用inherited保留字來調(diào)用基類的構(gòu)造函數(shù),首先初始化基類的成員,然后構(gòu)造派生類的特有成員。在派生類的析構(gòu)函數(shù)的結(jié)尾部分,使用inherited保留字來調(diào)用基類的析構(gòu)函數(shù),最后釋放基類的成員部分。

      構(gòu)造函數(shù)越上層越早被調(diào)用,析構(gòu)函數(shù)越下層越早被調(diào)用。3.5多態(tài)性

      多態(tài)性是指同一的操作,在不同的對象中具體實現(xiàn)過程不同。Object Pascal 支持兩種多態(tài)性和運行時的多態(tài)性。編譯時的多態(tài)性通過重載來實現(xiàn),運行時的多態(tài)性用虛方法來實現(xiàn)。

      重載函數(shù)或者過程用保留字overload來說明。例如:Function max(x:integer):integer;integer; 虛方法的定義如p79 虛方法與動態(tài)方法的區(qū)別:在運行時才能確定對象方法的調(diào)用地址,這種調(diào)用方法為動態(tài)聯(lián)編。虛方法與動態(tài)方法在功能上是等價的,不同在于虛方法額調(diào)用速度比較快,動態(tài)方法的代碼比較少。

      抽象類與抽象方法:使用指令字abstract說明,則該方法稱為抽象方法,包含抽象方法的類稱為抽象類。定義:procedure 過程名;virtual;abstract;

      第四章

      4.1 VCL基礎(chǔ)

      四種基本的組件類型:標準組件,自定義組件,圖形組件,非可視組件。圖形組件與標準組件的的區(qū)別在于:①標準組件可以獲得輸入焦點,即可用Tab鍵依次獲得焦點;圖形組件不能獲得輸入焦點。②標準組件可以包含其他組件,即可以是其他組件的父類;圖形組件不能包含其他組件。③標準組件具有一個WINDOWS句柄,圖形組件沒有WINDOWS句柄。

      4.2窗體設(shè)計

      窗體組件的屬性值設(shè)置為 組件名.屬性:=屬性值。重點看一下caption、visible、hint。

      窗體的方法和事件詳見P91.4.3常用VCL組件

      對于memo組件的編程填空要注意。列表框組件(listbox)的常用屬性見P104 4.4菜單設(shè)計

      對菜單項可以指定其加速鍵,方法是在菜單項的Caption屬性中,在要作為加速鍵的字母前添加符號“&”,則運行時該字母帶有下劃線,按下Alt+加速字母鍵就執(zhí)行此菜單項。

      4.6對話框的使用

      Showmessage過程:調(diào)用Showmessage過程會彈出一個簡單的對話框,對話框上顯示提示信息及“確定”按鈕,單擊該按鈕,就關(guān)閉對話框。

      Inputbox函數(shù):調(diào)用Inputbox函數(shù)顯示一個能夠接受喲娜防護輸入數(shù)據(jù)的對話框,并返回用戶輸入的數(shù)據(jù)值。

      Inputquery函數(shù):與Inputbox函數(shù)最大的不同是他的返回值是一個邏輯值。

      第五章 5.1程序調(diào)試

      錯誤的種類及處理方式:

      1、語法錯誤:沒有遵守語言的語法規(guī)則而產(chǎn)生。

      2、運行錯誤:程序在執(zhí)行過程中發(fā)生了錯誤。程序試圖打開一個不存在的文件或試圖修改一個只讀文件,程序運行過程中出現(xiàn)除零錯誤或用戶輸入了非法數(shù)據(jù)等。

      3、邏輯錯誤:運行的結(jié)果與設(shè)想的結(jié)果不同。

      解決邏輯錯誤可以從三步驟來解決:猜測出程序可能出錯的地方,并在此設(shè)置斷點。讓程序執(zhí)行到斷點停止運行,觀察所有中間變量及對象內(nèi)容。讓程序單步運行,同時觀察每一個變量及對象內(nèi)容的變化。

      事件變量和相關(guān)數(shù)據(jù)的值:提示文本,watch list窗口,evaluate 窗口。5.2異常保護和處理

      1、異常保護與try?finally?end;語句 Try ? //被保護的代碼塊 Finally ? //處理語句 End;

      2、響應(yīng)異常和try?except?end;語句 Try //以下為保護代碼塊 ?

      If <異常條件> raise<異常對象> Except //以下為異常處理快

      On <異常類1> do <處理過程1或語句1> On <異常類2> do <處理過程2或語句2> On ?

      Else <其他處理過程或語句> End;

      通過繼承類exception可以自定義新的異常類。

      第6章 Delphi7與數(shù)據(jù)庫

      6.1數(shù)據(jù)庫簡介 數(shù)據(jù)庫可以長期存儲、有組織、可共享的數(shù)據(jù)集合。

      數(shù)據(jù)庫系統(tǒng)(database system,DBS)是指具有數(shù)據(jù)管理功能的計算機系統(tǒng)。它一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和應(yīng)用系統(tǒng)構(gòu)成。

      數(shù)據(jù)庫系統(tǒng)根據(jù)的組織方式主要分為層次數(shù)據(jù)庫系統(tǒng)、網(wǎng)狀數(shù)據(jù)庫系統(tǒng)、關(guān)系型數(shù)據(jù)庫系統(tǒng)很面向?qū)ο髷?shù)據(jù)庫系統(tǒng)等幾類

      Delphi支持關(guān)系型數(shù)據(jù)庫,關(guān)系型數(shù)據(jù)庫由表組成。標的定義了事物的一組屬性數(shù)據(jù),稱為記錄。表的列定義了事物的某種屬性,稱為字段。6.2 Delphi7的數(shù)據(jù)庫訪問機制

      Borland推出了一個數(shù)據(jù)庫引擎(borland database engine,BDE)BDE管理器(BDE Administrator)是設(shè)置和管理BDE的工具,它可以用來管理BDE中的數(shù)據(jù)庫別名和驅(qū)動器。Datebase Desktop的使用:

      1、定義數(shù)據(jù)庫別名

      2、設(shè)置工作目錄及私有目錄

      3、建立數(shù)據(jù)表結(jié)構(gòu)

      4、保存數(shù)據(jù)表文件

      5、建立索引(1)建立主索引(2)建立次索引

      6、設(shè)置有效性檢查

      7、設(shè)置口令

      8、設(shè)置參照完整性

      9、輸入部分數(shù)據(jù)

      數(shù)據(jù)庫游覽器可用于定義數(shù)據(jù)庫別名、查詢或編輯數(shù)據(jù)庫中的各類信息,如數(shù)據(jù)庫的參數(shù)設(shè)置、各類據(jù)表文件的結(jié)構(gòu)及數(shù)據(jù),也可以使用SQL語句進行查詢 6.3數(shù)據(jù)庫組件

      使用TTable組件連接并顯示數(shù)據(jù)表的一般步驟

      1、把一個TTable組件放到窗體上

      2、TableName屬性指定要訪問的表

      3、TDataSource組件放到窗體上,設(shè)置DataSet屬性指向該TTable組件

      4、把數(shù)據(jù)控制組放到窗體上,設(shè)置TDataSource屬性指向該TDataSource組件

      5、把TTable組件的Active屬性設(shè)為True Tablel.Fields[0].AsString:=Editl Edit.Text Editl.Text= Tablel Fields [0].AsString Editl.Text:= Tablel.FieldByName(‘Name’).AsString 當表結(jié)構(gòu)改變引起字段索引號改變時,就要修改相應(yīng)的程序,所以使用第二種方法比較好。

      DataSet屬性:表明于當 前數(shù)據(jù)源組件相聯(lián)系的數(shù)據(jù)集組件對象的名字

      Enabled屬性:如果Enabled屬性值為True(默認值),數(shù)據(jù)控制組件將顯示數(shù)據(jù):如果Enabled屬性值為False,則所有與此數(shù)據(jù)源組件相連的數(shù)據(jù)控制組件都將不顯示任何數(shù)據(jù)。

      Columna屬性用于指定TDBGrid對象中各欄目的特征 6.4 TField對象的使用

      動態(tài)字段對象與永久字段對象的概念,區(qū)別,使用場合:Delphi會為數(shù)據(jù)中的每一個字段自動生成一個動態(tài)的字段對象。數(shù)據(jù)集的結(jié)構(gòu)和其他信息改變,當應(yīng)用程序重新打開這個數(shù)據(jù)集時,就會基于最近的結(jié)構(gòu)和信息重建所有的字段對象。當數(shù)據(jù)集關(guān)閉時,這些對象也跟著取消。

      動態(tài)對象的最大特點是適應(yīng)性強,缺點是要想改變字段的顯示屬性、數(shù)據(jù)格式就要編寫代碼,不能把某些字段暫時隱去,也不能增加新的字段。

      永久字段最大的好處是可以在設(shè)計時設(shè)置它的屬性。可以選擇部分字段,增加新的字段。再永久字段對象列表中刪除某些需要保護的字段,避免用戶訪問這些字段;在數(shù)據(jù)庫查詢或特定數(shù)據(jù)表的字段基礎(chǔ)上定義新的字段,代替現(xiàn)存的字段;改變原有的字段的顯示和編輯屬性。6.5 數(shù)據(jù)集的操作 數(shù)據(jù)集的打開與關(guān)閉:

      1、設(shè)置Active屬性 Table.Active:=True;//打開數(shù)據(jù)集,數(shù)據(jù)集組件對數(shù)據(jù)表進行讀寫操作。Table.Active:=False;//關(guān)閉數(shù)據(jù)集,數(shù)據(jù)集組件不能對數(shù)據(jù)表進行讀寫操作。

      2、調(diào)用Open和Close方法 Table1.Opene//打開數(shù)據(jù)集和 Table1.Close//關(guān)閉數(shù)據(jù)集。移動記錄指針:

      1、Bof屬性:如果Bof為True,表明當前記錄指針所處的位置為數(shù)據(jù)集的第一條記錄;反之,則不是第一條記錄。

      2、Eof屬性:如果Eof為True,表明當前記錄指針所處的位置為數(shù)據(jù)集的最后一天記錄;反之,則不為最后一條記錄。

      3、First方法:將記錄指針移至數(shù)據(jù)集的第一條記錄處,并使之成為當前記錄,同時將Bof屬性值設(shè)置為True。

      4、Last方法:將記錄指針移至數(shù)據(jù)集最后一條記錄處,并使之成為當前記錄,同時將Bof屬性設(shè)置為True。

      5、Next方法:將記錄指針后移一條記錄,并使之成為當前記錄。如果記錄指針指向了數(shù)據(jù)集的最后一條記錄,將Eof屬性設(shè)置為True。

      6、Prior方法:將記錄指針前移一條記錄,并使之成為當前記錄。如果記錄指針指向了數(shù)據(jù)集的第一條記錄,將Bof屬性設(shè)置為True。

      7、MoveBy方法:將記錄指針從當前記錄開始向后或向前移動若干條記錄。格式如下:function MoveBy(Distance:Integer):Integer;

      限制記錄集:

      1、SetRangeStart方法和SetRangeEnd方法可以過濾記錄。SetRangeStart方法用來限制記錄集的開始,SetRangeEnd方法用來限制記錄集的結(jié)束,調(diào)用ApplyRange方法使限制生效,調(diào)用CancelRange方法取消為數(shù)據(jù)表設(shè)定的限制范圍。

      2、使用數(shù)據(jù)集的Filter屬性

      Filter屬性值是一個用來指明數(shù)據(jù)表過濾標準的字符串,F(xiàn)ilter屬性決定了過濾器是否起作用。

      查找記錄:

      1、使用FindKey方法。使用Table的FindKey方法或FindNearest方法。

      2、搜索特定記錄(Locate)。FindKey或FindNearest方法只能在TTable組件中使用,如果使用的是TQuery或TStoreProc組件,就要使用Locate方法來查找記錄。Locate函數(shù)適合于所有數(shù)據(jù)集組件,也適合于TTable組件。AppendRecord方法與InsertRecord方法:這里兩個方法分別與Append方法與Insert方法相似,都是用于在表中插入一條新紀錄,但AppendRecord方法與InsertRecord方法比Append方法與Inser t方法更簡單、更方便一些,不需要調(diào)用Post方法。過程形式如下:Procedure AppendRecord(Const Values:Array of Const);

      Procedure InsertRecord(Const Values:Array of Const);

      建立數(shù)據(jù)表的主從關(guān)系:設(shè)置表之間的主從關(guān)系是通過設(shè)置從表的MasterSource屬性和MasterField屬性來實現(xiàn)的,且從表必須按MasterField屬性中指定的字段建立了索引。

      6.6TQuery組件

      TQuery組件和TTable組件的比較:同屬于數(shù)據(jù)集組件。

      不同之處為:TQuery組件主要功能是用來支持SQL語言訪問本地或遠程數(shù)據(jù)庫;TQuery組件允許用戶同時訪問多個表,而TTable組件一次只能訪問一個表格;TQuery組件訪問的是表格中的特定數(shù)據(jù)內(nèi)容,而TTable組件只有在提供過濾或限定檢索范圍時才能訪問表格中的特定數(shù)據(jù)內(nèi)容,否則訪問的將是表格中的全部數(shù)據(jù)。掌握P193 BDE綜合實例。

      6.8 ADO技術(shù)

      通過ADO不僅能夠訪問基于SQL Server的所有數(shù)據(jù)庫,而且可以通過ODBC訪問所有支持ODBC的數(shù)據(jù)庫。

      ODBC是一種采用開放式結(jié)構(gòu)進行數(shù)據(jù)庫鏈接的接口標準,是一種開放的獨立于廠商的API應(yīng)用程序接口。掌握P208 ADO應(yīng)用實例

      第七章 Windows編程基礎(chǔ)

      7.1動態(tài)鏈接庫(DLL)

      Windows允許同時運行的多個程序共享一組函數(shù)的單一備份,于是引入了動態(tài)鏈接方式,將可共享的程序代碼以及各種數(shù)據(jù)資源編譯成單獨的模塊。

      一般項目的格式如下: Program 程序標識符; Uses 單元列表; Begin 程序體; End.DLL項目文件的格式如下: Library 程序標識符號; Uses 單元列表;

      Exports 過程和函數(shù)標識符列表; Begin 程序體; End.兩者的區(qū)別的原因在于:Delphi編譯器是一句項目文件頭的保留字是Program還是Library來決定編譯生成的是EXE文件還是DLL文件。若DLL 要輸出共其他應(yīng)用程序調(diào)用的函數(shù)或過程,則需要在其項目文件的保留字exports之后一一列出,這些DLL函數(shù)或過程將被編譯成遠程地址調(diào)用。

      Window系統(tǒng)自身包含三個DLL,分別是Kernel,User,GD1。DLL調(diào)用必須使用標準方式,其一是靜態(tài)引用,其二是動態(tài)引用。靜態(tài)引入:

      加載引用的DLL文件是,庫文件的查找順序是:

      1、當前路徑;

      2、Windows系統(tǒng)的安裝目錄;

      3、Windows的系統(tǒng)目錄system和system32;

      4、列在環(huán)境變量PATH中的路徑。

      引入方法:

      1、最簡單的是名字引入;

      2、使用索引引入;

      3、若名字引入會引起標識符沖突,可以使用換名引入。

      第三篇:Delphi之動態(tài)數(shù)組使用總結(jié)

      Delphi之動態(tài)數(shù)組使用總結(jié)

      傳統(tǒng)的Pascal 語言其數(shù)組大小是預(yù)先確定的,當你用數(shù)組結(jié)構(gòu)聲明數(shù)據(jù)類型時,你必須指定數(shù)組元素的個數(shù)。專業(yè)程序員也許知道些許動態(tài)數(shù)組的實現(xiàn)技術(shù),一般是采用指針,用手工分配并釋放所需的內(nèi)存。

      Delphi 4中增加了非常簡單的動態(tài)數(shù)組實現(xiàn)方法,實現(xiàn)過程效仿我前面講過的動態(tài)長字符串。與長字符串一樣,動態(tài)數(shù)組的內(nèi)存動態(tài)分配并且引用記數(shù),不過動態(tài)數(shù)組不支持 copy-on-write 技術(shù)。這不是個大問題,因為你可以把變量值設(shè)置為nil釋放數(shù)組內(nèi)存。

      這樣你就可以聲明一個不指定元素個數(shù)的數(shù)組,并用SetLength 過程給數(shù)組分配一個特定大小的內(nèi)存,SetLength 過程還可以改變數(shù)組大小而不影響其內(nèi)容,除此外還有一些字符串過程也可用于數(shù)組,如Copy 函數(shù)。

      以下摘錄的代碼突出了一點,這就是:定義數(shù)組后必須先為它分配內(nèi)存,然后才能開始使用:

      procedure TForm1.Button1Click(Sender: TObject);var Array1: array of Integer;begin Array1 [1] := 100;// error SetLength(Array1, 100);Array1 [99] := 100;// OK...end;如果你只定義一個數(shù)組元素個數(shù),那么索引總是從0開始。Pascal 中的普通數(shù)組既能用不為零的下標,也能用非整數(shù)的下標,但動態(tài)數(shù)組均不支持這兩種下標。象普通數(shù)組一樣,你可以通過Length、High和Low 函數(shù)了解到動態(tài)數(shù)組的狀況,不過對于動態(tài)數(shù)組,Low 函數(shù)返回值總是0,High函數(shù)返回數(shù)組大小減1,這意味著空的動態(tài)數(shù)組其函數(shù)High返回值是-1,這是一個很怪的值,因為它比Low的返回值還小。

      圖 8.1: 例 DynArr 窗體

      以上作了簡短的介紹,現(xiàn)在舉個簡例,例名DynArr,見圖8.1。例子實在是很簡單,其實動態(tài)數(shù)組沒有什么特別復(fù)雜地方。我想通過該例說明幾個程序員可能犯的錯誤。程序中聲明了兩個全程數(shù)組并在OnCreate 事件中初始化了第一個數(shù)組:

      var Array1, Array2: array of Integer;procedure TForm1.FormCreate(Sender: TObject);begin // allocate SetLength(Array1, 100);end;這樣就把數(shù)組所有值設(shè)置為0。完成這段代碼你馬上就能讀寫數(shù)組元素的值,而不用害怕內(nèi)存出錯,當然條件是你沒有試圖訪問超過數(shù)組上界的元素。為了更好地初始化,程序中添加了一個按鈕,執(zhí)行數(shù)組元素賦值操作: procedure TForm1.btnFillClick(Sender: TObject);var I: Integer;begin for I := Low(Array1)to High(Array1)do

      Array1 [I] := I;end;Grow 按鈕用于修改數(shù)組大小,但并不影響數(shù)組內(nèi)容。單擊Grow 按鈕后,你可以用Get value按鈕進行檢驗:

      procedure TForm1.btnGrowClick(Sender: TObject);begin // grow keeping existing values SetLength(Array1, 200);end;procedure TForm1.btnGetClick(Sender: TObject);begin // extract Caption := IntToStr(Array1 [99]);end;Alias 按鈕的OnClick 事件代碼稍復(fù)雜些,程序通過 := 算子把一個數(shù)組拷貝給另一個數(shù)組,從而有效地創(chuàng)建了一個別名(一個新變量,但引用內(nèi)存中同一數(shù)組)。從中可見,如果你改變了其中一個數(shù)組,那么另一個同樣也會改變,因為它們指向同一個內(nèi)存區(qū):

      procedure TForm1.btnAliasClick(Sender: TObject);

      begin // alias Array2 := Array1;// change one(both change)Array2 [99] := 1000;// show the other Caption := IntToStr(Array1 [99]);

      在btnAliasClick 事件中增加了兩部分操作內(nèi)容。第一部分是數(shù)組等同測試,不過并不是測試實際的數(shù)組元素,而是測試數(shù)組所引用的內(nèi)存區(qū),檢測變量是不是內(nèi)存中同一數(shù)組的兩個別名:

      procedure TForm1.btnAliasClick(Sender: TObject);begin...if Array1 = Array2 then

      Beep;// truncate first array Array1 := Copy(Array2, 0, 10);end;btnAliasClick 事件的第二部分內(nèi)容是調(diào)用Copy 函數(shù)。該函數(shù)不僅把數(shù)據(jù)從一個數(shù)組移到另一個數(shù)組,而且用函數(shù)創(chuàng)建的新數(shù)組取代第一個數(shù)組,結(jié)果變量Array1 所引用的是11個元素的數(shù)組,因此,按Get value 和Set value 按鈕將產(chǎn)生一個內(nèi)存錯誤,并且觸發(fā)一個異常(除非你把范圍檢查range-checking 選項關(guān)掉,這種情況下,錯誤仍在但屏幕上不會顯示異常)。雖然如此,F(xiàn)ill 按鈕仍能正常工作,因為需要修改的數(shù)組元素由數(shù)組當前的下標范圍確定。

      自從有了動態(tài)數(shù)組,鏈表除了在教科書里出現(xiàn)外,已經(jīng)很少在實際編程中被使用了,事實也是如此,數(shù)組的確比傳統(tǒng)鏈表快得多,而且也方便的多。

      從 Delphi4起,開始了內(nèi)建各種類型的動態(tài)數(shù)組支持。但是,對我們來說動態(tài)數(shù)組支持似乎做的不夠徹底,因為Delphi竟然連刪除、插入、移動連續(xù)元素的函數(shù)都沒有提供,讓人使用起來總覺得不夠爽!!J。作為一名程序員,我們當然要有自己解決問題的能力,下面就讓我們簡單介紹一下Delphi 下的動態(tài)數(shù)組。

      在Delphi中,數(shù)組類型有靜態(tài)數(shù)組(a : array[0..1024] of integer)、動態(tài)數(shù)組(var a : array of integer)、指針數(shù)組(即指向靜態(tài)數(shù)組的指針)和開放數(shù)組(僅用于參數(shù)傳遞)。靜態(tài)數(shù)組、指針數(shù)組有速度快的好處,動態(tài)數(shù)組有大小可變的優(yōu)勢,權(quán)衡之下就有了折衷的辦法,那就是定義的動態(tài)數(shù)組在必要時轉(zhuǎn)換為指針。

      動態(tài)數(shù)組聲明之后,只有下面幾個函數(shù)可┎僮鰨?o:p>

      1.設(shè)置數(shù)組大小,可以任意縮減或增加數(shù)組大小

      Procedure SetLength(var S;NewLength : integer);

      2.取出連續(xù)元素,復(fù)制給另一個數(shù)組變量

      Function Copy(s;Index,Count : integer): array;

      3.取得數(shù)組大小及上下限

      Function Length(s):integer;

      Function High(x):integer;

      Function Low(x):integer;

      值得注意的是,不加const或var修飾的動態(tài)數(shù)組會被作為形參傳遞,而動態(tài)數(shù)組用const修飾并不意味著你不能修改數(shù)組里的元素(不信你可以字自己在程序中試試。還有一點是High函數(shù)調(diào)用了Length 函數(shù),所以我們在獲取數(shù)組上限時最好直接用 Length(s)函數(shù)。

      動態(tài)數(shù)組在內(nèi)存空間中占用4個字節(jié).動態(tài)數(shù)組在內(nèi)存中的分配表如下:

      偏移量

      內(nèi)容

      32-bit 引用計數(shù)

      32-bit 數(shù)組長度

      0..數(shù)組長度 *(元素尺寸)4)^;// 變量的長度,偏移量-4

      if index >= len then //要刪除的位置超出范圍,退出

      Exit;

      MaxDelete := len-index;// 最多刪除的數(shù)量

      Count := Min(Count, MaxDelete);// 取得一個較小值

      if Count = 0 then // 不要求刪除

      Exit;

      Dec(len, Count);// 移動到要刪除的位置

      MoveMemory(PChar(P)+index*elSize , PChar(P)+(index + Count)*elSize ,(len-index)*elSize);//移動內(nèi)存

      Dec(P);//移出 “數(shù)組長度”位置

      Dec(P);//移出“引用計數(shù)” 位置

      //重新再分配調(diào)整內(nèi)存,len 新的長度.Sizeof(Longint)* 2 = 2*Dec(P)

      ReallocMem(P, len * elSize + Sizeof(Longint)* 2);

      Inc(P);// 指向數(shù)組長度

      P^ := len;// new length

      Inc(P);// 指向數(shù)組元素,開始的位置

      PLongint(A):= P;end;

      對上面的例子,我們需要注意的是 elSize 參數(shù),它必須是 SizeOf(DyArray_Name),表示元素所占用的字節(jié)數(shù)。

      相信看了上面的例子后,對于動態(tài)數(shù)組的拷貝,移動想必也可以自己實現(xiàn)了吧 J

      后續(xù):

      其實,Delphi 對許多類型的內(nèi)存分配都很相似,比如 string 類型,其實它和動態(tài)數(shù)組是很相似的,我們完全可以把它拿來當成動態(tài)數(shù)組。實質(zhì)上 string 是 Pchar 的簡易版本。不管怎么說,了解一些內(nèi)存的分配對我們這些開發(fā)人員來說還是有一些好處的。

      第四篇:Delphi實習報告

      實習報 告 書 專 用 紙

      實習報 告 書

      引言

      目: Delphi 學

      院:

      業(yè): 地理信息系統(tǒng) 班

      級:

      名: 學

      號:

      2013年

      6月日

      實習報 告 書 專 用 紙

      娛樂場所信息查詢軟件,軟件界面設(shè)計簡潔,美觀,其人性化的軟件流程,可以讓一般人方便的查詢娛樂場所,上手極易,不用打開多個窗口可重復(fù)查詢。系統(tǒng)需求分析

      根據(jù)用戶的需求,對本系統(tǒng)做整體的需求分析,這是保證系統(tǒng)有效性和實用性的前提。

      2.1 功能需求分析

      在設(shè)計本系統(tǒng)之前,作者與相關(guān)工作人員進行了交流,并對此進行了歸納提煉,得出建立一個娛樂場所信息查詢應(yīng)具備如下功能:

      (1)娛樂場所信息查詢??梢詫θ魏我粋€娛樂場所的詳細信息進行查詢,其中包括名稱、所處路名、ID等。

      (2)娛樂場所所在地區(qū)的地圖顯示。(3)最短路徑的分析。(4)地圖打印。

      2.2 數(shù)據(jù)需求

      根據(jù)功能需求的要求,需要有一系列的數(shù)據(jù)來支撐,本系統(tǒng)需要的數(shù)據(jù)包括所處地區(qū)的地圖模板、道路信息、娛樂場所信息等 系統(tǒng)設(shè)計

      為確保系統(tǒng)順利的實施,本系統(tǒng)遵循軟件工程原理和方法,對系統(tǒng)進行總體設(shè)計和詳細設(shè)計;其次,應(yīng)滿足先進性原則,依照國際標準,借鑒主流系統(tǒng)的體系結(jié)構(gòu),保證系統(tǒng)具有較長的生命力和擴展能力;此外,還應(yīng)滿足成熟性原則、實用性原則、高可靠性原則等。根據(jù)需求分析的結(jié)果,本著以上原則展開對本系統(tǒng)的設(shè)計。

      3.1 界面設(shè)計

      為了界面設(shè)計,增強系統(tǒng)的美觀性、靈活性,使系統(tǒng)易于操作,采用了很多優(yōu)秀的

      實習報 告 書 專 用 紙

      3.1.1 登錄界面

      該系統(tǒng)需要輸入用戶名、密碼才可運用,具有較好的保護性

      3.1.2 關(guān)于界面

      3.2 技術(shù)路線

      本系統(tǒng)采用Embarcadero Delphi XE3作為開發(fā)工具。Delphi,是Windows平臺下著名的快速應(yīng)用程序開發(fā)工具,最早的版本由美國Borland(寶蘭)公司于1995年開發(fā)。

      實習報 告 書 專 用 紙

      Delphi是一個集成開發(fā)環(huán)境(IDE),使用的核心是由傳統(tǒng)Pascal語言發(fā)展而來的Object Pascal,以圖形用戶界面為開發(fā)環(huán)境,通過集成開發(fā)環(huán)境、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功能,構(gòu)成一個以面向?qū)ο蟪绦蛟O(shè)計為中心的應(yīng)用程序開發(fā)工具。

      “真正的程序員用C,聰明的程序員用Delphi”,這句話是對Delphi最經(jīng)典、最實在的描述。Delphi最大的特點是簡單易學、執(zhí)行高效而且功能強大。和Microsoft Visual Studio C++ 相比,Delphi更易于掌握,學習周期也比較短,而在功能上卻絲毫不遜色;而與Visual Basic相比,Delphi功能更強大、更實用,尤其在開發(fā)數(shù)據(jù)庫方面,它的特點更是體現(xiàn)得淋漓盡致。這正是作者選用Delphi作為開發(fā)工具的原因。

      Delphi發(fā)展至今,從Delphi 1到現(xiàn)在的Delphi XE2,不斷添加和改進各種特性,功能越來越強大。Delphi 2010內(nèi)置了Direct 2D模塊及開發(fā)庫,其新加的功能包括:○1○1支持64位Windows操作系統(tǒng)的開發(fā);○2○2稱為FireMonkey的新的跨平臺框架;○3○3在Windows上開發(fā),用來編譯Max OS X的交叉編譯器;④FireMonkey支持iOS(Apple iPad及iPhone)的開發(fā);⑤LiveBindings的新的數(shù)據(jù)綁定功能,允許你將任何可視對象綁定到任何使用表達式的源對象。系統(tǒng)實現(xiàn)

      4.1 概述

      在完成了需求分析、系統(tǒng)設(shè)計和技術(shù)路線的選定后,按照前期工作的思路,逐步的實現(xiàn)商品管理系統(tǒng)。本系統(tǒng)以Delphi XE3為開發(fā)環(huán)境,實現(xiàn)了連云港娛樂場所信息查詢功能。

      4.2 功能模塊實現(xiàn)

      4.2.1 登錄模塊

      實習報 告 書 專 用 紙

      操作部分核心代碼如下所示:

      procedure TForm2.Button1Click(Sender: TObject);begin

      ClientDataSet1.Close;ClientDataSet1

      .CommandText

      :='select

      *

      from

      Table01

      where name='''+edit1.Text+''' and “PASSWORDs” ='''+edit2.text+'''';ClientDataSet1.Open;if ClientDataSet1.RecordCount=0 then begin ShowMessage('口令錯誤');end else begin ModalResult:=mrOk;end;end;4.2.2 圖層管理

      實習報 告 書 專 用 紙

      操作部分核心代碼如下所示:

      procedure TForm1.FormCreate(Sender: TObject);var denglu: TForm2;begin pShpLayer := TGIS_LayerSHP.Create;pShpLayer.path := 'D:delphi連云港.shp';ttkViewer1.Add(pShpLayer);pShpLayer := TGIS_LayerSHP.Create;pShpLayer.path := 'D:delphi道路.shp';ttkViewer1.Add(pShpLayer);pShpLayer := TGIS_LayerSHP.Create;pShpLayer.path := 'D:delphi娛樂.shp';pShpLayer.Params.Labels.Field := '名稱';pShpLayer.Params.Labels.color := clred;ttkViewer1.Add(pShpLayer);ttkViewer1.FullExtent;pShpLayer1 := ttkViewer1.items[0] as TGIS_LayerVector;pShpLayer2 := ttkViewer1.items[1] as TGIS_LayerVector;pShpLayer3 := ttkViewer1.items[2] as TGIS_LayerVector;denglu := TForm2.Create(Self);denglu.showmodal;

      實習報 告 書 專 用 紙

      denglu.Free;end;4.2.3 圖層的放大縮?。?)點擊縮放

      操作部分核心代碼如下所示

      procedure TForm1.Button2Click(Sender: TObject);begin ttkViewer1.mode := giszoomex;end;

      (2)點擊暫??s放

      操作部分核心代碼如下所示:

      procedure TForm1.Button3Click(Sender: TObject);begin ttkViewer1.mode := gisSelect;end;4.2.4點擊地圖平移

      實習報 告 書 專 用 紙

      操作部分核心代碼如下所示:

      procedure TForm1.Button5Click(Sender: TObject);begin ttkViewer1.mode := gisdrag;end;4.2.5點擊屬性查詢

      實習報 告 書 專 用 紙

      操作部分核心代碼如下所示:

      procedure TForm1.Button4Click(Sender: TObject);begin ttkViewer1.mode := gisSelect;end;4.2.6路名顯示 點擊路名顯示

      操作部分核心代碼如下所示:

      procedure TForm1.Button8Click(Sender: TObject);begin pShpLayer1.Params.Labels.Visible := false;pShpLayer3.Params.Labels.Field := '名稱';pShpLayer2.Params.Labels.Field := '路名';ttkViewer1.FullExtent;end;4.2.7最短路徑分析 點擊最短路徑查詢

      實習報 告 書 專 用 紙

      操作部分核心代碼如下所示:

      procedure TForm1.Button6Click(Sender: TObject);var ii, jj: Integer;I: Integer;aa, bb: string;begin presultlayer := TGIS_LayerVector.Create;presultlayer.CS := ttkViewer1.CS;presultlayer.Params.Line.color := clred;presultlayer.Params.Line.Width := 40;presultlayer.HideFromLegend := True;ttkViewer1.Add(presultlayer);

      proadlayer := ttkViewer1.Items[1] as TGIS_LayerVector;

      pgeocoding := tgis_geocoding.Create(proadlayer);pgeocoding.RoadName := 'GIS_UID';(ttkViewer1.Get('TGIS_Geocoding')

      as

      實習報 告 書 專 用 紙

      TGIS_LayerVector).HideFromLegend := True;

      pshortespath := TGIS_ShortestPath.Create(ttkViewer1);pshortespath.LoadTheData(proadlayer);pshortespath.RoadName := 'GIS_UID ';pshortespath.UpdateTheData;pshape := proadlayer.FindFirst(proadlayer.Extent, '路名=''' + Edit1.Text + '''');aa := pshape.GetField('gis_uid');ii := pgeocoding.Parse(aa);if ii > 0 then begin pstartpoint := pgeocoding.Point[0];Edit1.Text := pgeocoding.Query[0];pgeocoding.AddPoint(pstartpoint, 3 / ttkViewer1.Zoom, nil);end else begin ShowMessage(Edit1.Text + ' 是無效地名');Exit;end;

      pshape := proadlayer.FindFirst(proadlayer.Extent, '路名=''' + Edit2.Text + '''');bb := pshape.GetField('gis_uid');jj := pgeocoding.Parse(bb);if jj > 0 then begin pstoppoint := pgeocoding.Point[0];Edit2.Text := pgeocoding.Query[0];pgeocoding.AddPoint(pstoppoint, 3 / ttkViewer1.Zoom, nil);end else

      實習報 告 書 專 用 紙

      begin ShowMessage(Edit2.Text + ' 是無效地名');Exit;end;

      pshortespath.UpdateTheData;if pshortespath.Find(pstartpoint, pstoppoint)then begin presultlayer.RevertAll;for I := 0 to pshortespath.ItemsCount-1 do begin pshape pshortespath.Items[I].Layer.GetShape(pshortespath.Items[I].Uid);if pshape <> nil then presultlayer.AddShape(pshape);end;ttkViewer1.VisibleExtent := presultlayer.Extent;ttkViewer1.Zoom := ttkViewer1.Zoom * 0.8;ttkViewer1.Update;end else begin ShowMessage(' 此路不通 ');end;end;4.2.8打印 點擊打印

      :=

      實習報 告 書 專 用 紙

      操作部分核心代碼如下所示:

      procedure TForm1.Button9Click(Sender: TObject);begin ttksimple.preview;end;4.2.9定點查詢 點擊定點查詢

      操作部分核心代碼如下所示:

      procedure TForm1.Button1Click(Sender: TObject);var pshape: TGIS_Shape;

      實習報 告 書 專 用 紙

      pLayer: TGIS_LayerVector;begin pLayer := ttkViewer1.items[2] as TGIS_LayerVector;pshape := pLayer.FindFirst(pLayer.Extent, '名稱=''' + Edit3.Text + '''');if pshape <> nil then begin ttkViewer1.Center := pshape.Centroid;pshape := pshape.MakeEditable;pshape.IsSelected := true;ttkattrib.ShowShape(pshape);ttkattrib.Visible := true;ttkViewer1.Update;end;end;4.2.9關(guān)于模板

      4.3 系統(tǒng)功能及效率分析

      經(jīng)過測試,系統(tǒng)總體的執(zhí)行效率比較高。能夠滿足用戶的基本要求??偨Y(jié)

      本論文主要是探討娛樂場所信息查詢服務(wù)的設(shè)計與實現(xiàn)問題。在系統(tǒng)設(shè)計之初,盡管作者做了調(diào)查,但依然缺少足夠的管理方面的經(jīng)驗,在結(jié)構(gòu)和功能方面尚有考慮不到的地方。

      第五篇:JSP語法總結(jié)

      JSP語法(1)——HTML注釋

      HTML 注釋 在客戶端顯示一個注釋.JSP 語法 例子 1 在客戶端的HTML源代碼中產(chǎn)生和上面一樣的數(shù)據(jù): 例子 2 在客戶端的HTML源代碼中顯示為: 描述 這種注釋和HTML中很像,也就是它可以在“查看源代碼”中看到。唯一有些不同的就是,你可以在這個注釋中用表達式(例子2所示)。這個表達示是不定的,由頁面不同而不同,你能夠使用各種表達式,只要是合法的就行。

      JSP語法(2)——隱藏注釋

      隱藏注釋 寫在JSP程序中,但不是發(fā)給客戶。JSP 語法 <%--comment--%> 例子: <%@ page language=“java” %> A Comment Test

      A Test of Comments

      <%--This comment will not be visible in the page source--%>

      下載delphi 日常語法總結(jié)word格式文檔
      下載delphi 日常語法總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        Otcl語法總結(jié)

        Otcl語法總結(jié) 以下主要是在網(wǎng)上下載的高手總結(jié)的基礎(chǔ)上,添加了一點自己的補充。 Otcl稱為Object Tcl,它是在Tcl的基礎(chǔ)上做了一個面向?qū)ο蟮姆庋b,是一種面向?qū)ο蟮哪_本語言。在T......

        小學語法總結(jié)

        小學語法總結(jié) 一、時 態(tài) 小 結(jié) 凡是在must, mustn’t, can, can’t, let’s, don’t, may,will后的一定要用動詞的原形 二、名詞的復(fù)數(shù)。 名詞按其數(shù),可分兩種:可數(shù)名詞和......

        倒裝語法總結(jié)

        倒裝語法總結(jié) 一、定義自然語序:Iwillneverdothat. 倒裝語序: Whenwillyoucometoseeme? HerecomesMs.Shao. 二、倒裝例句 I will never do that. Never will I do that. Mr. S......

        初一語法總結(jié)

        一. 詞匯 ⑴ 單詞 1. 介詞:in, on, under, behind, near, at, of 1). in表示"在……中", "在……內(nèi)"。 例如: in our class 在我們班上 in my bag 在我的書包里 in the desk 在......

        中國語法總結(jié)

        漢語簡介總結(jié)與簡評楊龍英四 20091310421 中國人通常自稱炎黃子孫,炎黃是指上古床說中的炎帝和黃帝。中國第一個朝代的名稱是夏,因“華”(意思是“花”)與夏諧音,中華文明又被稱......

        語法填空總結(jié)

        語法填空考情分析和給2014屆考生備考的建議 2013年廣東省高考的語法填空題考查的語法現(xiàn)象主要包括:連接詞(固定搭配)、關(guān)系代詞、介詞、詞形變化、冠詞和動詞的用法??傮w來說,......

        Delphi 字符串類型淺析

        Delphi 字符串類型淺析 收藏 參考資料《Delphi 5開發(fā)人員指南》“第2章Object Pascal語言” 《PASCAL精要》“第7章 字符串操作” “Delphi中String類型和Char類型的比較”......

        日??偨Y(jié)

        內(nèi)江市二醫(yī)院保衛(wèi)科半年工作總結(jié) 1. 保安隊員“提醒”住院病人和陪護人員11626人次,被“提醒”42402人次。 2. 保安隊員“提醒”醫(yī)護人員2742人次,被“提醒”14976人次。 3.......