MasteringVFP/2/2

出自VFP Wiki

在2005年4月18日 (一) 01:40由Elleryq (對話 | 貢獻)所做的修訂版本
(差異) ←上一修訂 | 最新修訂 (差異) | 下一修訂→ (差異)
跳轉到: 導航, 搜尋

VFP 在 6.0 以前,在變數宣告之後,是沒有資料型態可言的. 但是 VFP 會將他的預設值設定為 .F. 所以在你使用 vartype() 或 type() 去看它的型態時,會是 L - Logical 型態.

local myvar
? vartype(myvar)
? type('myvar')

目前,你可能會觀察到的值有 :

type()的傳回值 說明
C Character 字元型態
N Numeric 數值型態(也有可能是 float單精度浮點, double雙精度浮點, 和 integer整數)
Y Currency 金錢
D Date 日期
T DateTime 日期時間
L Logical 邏輯
M Memo
O Object物件
G General通用
S Screen (created with SAVE SCREEN)
U Undefined type of expression未定義
vartype()的傳回值 說明
C Character or Memo
N Numeric, Integer, Float, or Double
Y Currency
L Logical
O Object
G General
D Date
T DateTime
X Null
U Unknown

注意:vartype()與type()的用法不同,但都可以藉此知道變數的資料型態;此外傳回值也不太相同.

以比較深入的角度來看,其實 VFP 在對待任何變數時,都是認定為所謂的 Variant. Variant是一種特殊的資料型態,可以用來接收任何一種資料型態的變數. 很多 Script 都是採取同樣的認定方式,如: VB, VBScript, JavaScript, PHP...等等都是.在這邊我們就不對此部份作詳細說明,因為這部分得需要有寫過強型別語言的背景,才能比較容易體會Variant的好處與壞處.

在 VFP 7 以後,VFP開發小組對語言作了一點小小的擴充. 現在它允許你在宣告時,就指定好變數的型態.如: local myvar as string 表示 myvar 是一個字串型態的變數.

目前這部分對開發者來說,最大的好處在於 IntelliSenseWeb Service.

  • IntelliSense-在開發的時候可以幫助你,如果變數是物件的話,能立即看到這個變數有什麼Property, Methods可用.
  • Web Service-則是由於底層的傳遞必須參考到參數的型態.