程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi數據訪問部件的應用及編程(11)

Delphi數據訪問部件的應用及編程(11)

編輯:Delphi

利用EditMask屬性為字段設定編輯模式:

為字段部件設置一定的EditMask屬性值,當編輯輸入該字段的字段值時,用戶只能根據EditMask設定的編輯模式進行編輯或輸入字段值。在為EditMask屬性設置屬性值時可以用手動方式也可以用輸入模式編輯器來完成,當為某字段部件設置EditMask屬性時,雙鼠標雙擊EditMask屬性便可以打開輸入模式編輯器(Input Mask Editor) 。例如在為Customer.DB表的Phone字段設定編輯模式時,首先在Object Inspector中選取與Phone字段對應的Table1Phone字段對象,然後雙擊EditMask屬性,打開輸入模式編輯器。 

字段輸入模式編輯器 

在字段輸入模式編輯中可以選擇一種輸入模式,而且在TestInput編輯框中輸入字段值進行檢驗。

因為TStringFIEld類型的字段部件沒有DisplayFormat屬性,但是可以把EditMask屬性當DisplayFormat屬性使用。

設定字段的顯示和編輯格式:

Delphi本身為某些類型的字段對象提供了設定其顯示和編輯格式的例程,並且為字段部件的DisplayFormat和EditFormat屬性指定了缺省值,例如對於與浮點型數值字段對應的TFloatFIEld類型的字段部件,而且該字段部件的Currency屬性設置為True 時,字段值1234.56的顯示格式為$1234.56,編輯格式是1234.56。表15.7是Delphi提供了設置字段顯示和編輯格式的例程。 

表15.7 字段格式例程

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

例 程 名 運用的字段對象

─────────────────────────────

FormatFloat TFloatField,TCurrencyFIEld

FormatDateTime TDateField,TTimeField,TDateTimeFIEld

FormatInteger TIntegerField,TSmallIntFIEld,TWordFIEld

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

上述這些用於設定日期時間類型、數值型以及貨幣型字段的顯示和編輯格式的例程,都是按國際上通行格式來設定相應類型字段的格式的,用戶可以自己設置字段部件的DisplayFormat和EditFormat屬性,來設定適合自己使用的格式,還可以為有關字段對象的OnGetText和OnSetText事件編寫代碼來設定字段的顯示和編輯格式。

15.6.1.2 字段部件的事件及應用

字段部件常需處理的事件如表15.8所示

表15.8 字段部件的事件

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

事件名 用 途

────────────────────────────

OnChange 當字段部件的字段值發生改變時,觸發該事件

OnGetText 當字段部件獲得字段值時,觸發該事件

OnSetText 當字段部件被設置字段值時,觸發該事件

OnValidata 當字值被修改或插入新的字段值時,對字段值

進行有效性檢驗時,觸發該事件

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

用戶想自己設定字段的顯示和編輯格式時,可以編寫OnGetText事件和OnSetText事件的處理過程,以達到設定字段的顯示和編輯格式。

15.6.1.3 字段部件的類型轉換函數及使用

字段部件具有一些內部函數用於轉換字段值的類型,對於不同的字段類型,這些轉換函數的作用是不一樣的,表15.9概括了不同類型的字段及轉換函數的作用。

表15.9 字段部件的轉換函數

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

字段類型 AsString AsInteger AsFloat AsDatetime AsBoolean

────────────────────────────────────

TStringFIEld 轉換成 轉換成整數 若能轉換 日期 轉換成布型

Stringg型 (若能轉換) 則轉換成 (若能轉換)

────────────────────────────────────

TIntegerFIEld

TSmallFIEld 字符型 整數型 浮點型 不允許 不允許轉換

TWordFIEld

────────────────────────────────────

TFloatFIEld

TCurrencyFIEld 字符串型 捨入成整數 浮點型 不允許 不允許

TBCDFIEld

────────────────────────────────────

TDateFIEld

TDateTimeFIEld 字符串 不允許 浮點數 日期型 不允許

TTimeFIEld

────────────────────────────────────

TBooleanFIEld 轉換成Time 不允許 不允許 不允許 布爾型

或False

────────────────────────────────────

TBytesFIEld

TVarBytesFIEld 字符串 不允許 不允許 不允許 不允許

TBlobFIEld

────────────────────────────────────

TMemoFIEld 二進制 不允許 不允許 不允許 不允許

TGraphilFIEld 字段

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

上述這些轉換函數可以在任何與字段部件有關的表達式中使用,只要是表15.9中允許進行轉換的數據類型,這些轉換函數其實是當做字段部件的屬性來使用的,它們可以出現在賦值語句的兩邊。例如下面的程序代碼是將字段部件TableMyFIEld的字段值轉變成字符串類型的數據,並將它賦給編輯框Edit1的Text屬性:

Edit1.Text := TableMyFIEld.AsString;

而下面的代碼是進行相反的操作,它將編輯框部件Edit1的Text屬性值以字符串的形式賦給字段TableMyField,TableMyFIEld通過AsString接受字符串並將其轉變成自身的數據類型。

TableMyFIEld.AsString :=Edit1.Text;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved