全國計算機等級考試二級Delphi輔導講義 156

字號:

表15.7 字段格式例程
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    例 程 名 運用的字段對象
    ─────────────────────────────
    FormatFloat TFloatField,TCurrencyField
    FormatDateTime TDateField,TTimeField,TDateTimeField
    FormatInteger TIntegerField,TSmallIntField,TWordField
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    上述這些用于設定日期時間類型、數(shù)值型以及貨幣型字段的顯示和編輯格式的例程,都是按國際上通行格式來設定相應類型字段的格式的,用戶可以自己設置字段部件的DisplayFormat和EditFormat屬性,來設定適合自己使用的格式,還可以為有關字段對象的OnGetText和OnSetText事件編寫代碼來設定字段的顯示和編輯格式。
    15.6.1.2 字段部件的事件及應用
    字段部件常需處理的事件如表15.8所示
    表15.8 字段部件的事件
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    事件名 用 途
    ────────────────────────────
    OnChange 當字段部件的字段值發(fā)生改變時,觸發(fā)該事件
    OnGetText 當字段部件獲得字段值時,觸發(fā)該事件
    OnSetText 當字段部件被設置字段值時,觸發(fā)該事件
    OnValidata 當字值被修改或插入新的字段值時,對字段值
    進行有效性檢驗時,觸發(fā)該事件
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    用戶想自己設定字段的顯示和編輯格式時,可以編寫OnGetText事件和OnSetText事件的處理過程,以達到設定字段的顯示和編輯格式。
    15.6.1.3 字段部件的類型轉換函數(shù)及使用
    字段部件具有一些內部函數(shù)用于轉換字段值的類型,對于不同的字段類型,這些轉換函數(shù)的作用是不一樣的,表15.9概括了不同類型的字段及轉換函數(shù)的作用。
    表15.9 字段部件的轉換函數(shù)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    字段類型 AsString AsInteger AsFloat AsDatetime AsBoolean
    ────────────────────────────────────
    TStringField 轉換成 轉換成整數(shù) 若能轉換 日期 轉換成布型
    Stringg型 (若能轉換) 則轉換成 (若能轉換)
    ────────────────────────────────────
    TIntegerField
    TSmallField 字符型 整數(shù)型 浮點型 不允許 不允許轉換
    TWordField
    ────────────────────────────────────
    TFloatField
    TCurrencyField 字符串型 舍入成整數(shù) 浮點型 不允許 不允許
    TBCDField
    ────────────────────────────────────
    TDateField
    TDateTimeField 字符串 不允許 浮點數(shù) 日期型 不允許
    TTimeField
    ────────────────────────────────────
    TBooleanField 轉換成Time 不允許 不允許 不允許 布爾型
    或False
    ────────────────────────────────────
    TBytesField
    TVarBytesField 字符串 不允許 不允許 不允許 不允許
    TBlobField
    ────────────────────────────────────
    TMemoField 二進制 不允許 不允許 不允許 不允許
    TGraphilField 字段
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    上述這些轉換函數(shù)可以在任何與字段部件有關的表達式中使用,只要是表15.9中允許進行轉換的數(shù)據類型,這些轉換函數(shù)其實是當做字段部件的屬性來使用的,它們可以出現(xiàn)在賦值語句的兩邊。例如下面的程序代碼是將字段部件TableMyField的字段值轉變成字符串類型的數(shù)據,并將它賦給編輯框Edit1的Text屬性:
    Edit1.Text := TableMyField.AsString;
    而下面的代碼是進行相反的操作,它將編輯框部件Edit1的Text屬性值以字符串的形式賦給字段TableMyField,TableMyField通過AsString接受字符串并將其轉變成自身的數(shù)據類型。
    TableMyField.AsString :=Edit1.Text;