vfp中一些語法、關鍵字和控件屬性

1、vfp中controlsource,recordsource,rowsource分別什麼意思?

答:controlsource屬性用來確定一個對象所綁定的數據源;一個對象所綁定的表或者視圖可以爲任意類型,包括本地visualfoxpro表,具有controlsource屬性的對象有:checkbox、column、combobox、commandgroup、editbox、listbox、oleboundcontrol、optionbutton、optiongroup、spinner和textbox控件。某些控件(listbox和combobox)除了controlsource屬性之外,還有rowsource屬性允許您一次顯示多於一個字段和行。數據仍然是與單一的字段綁定的,這就是爲什麼這些控件需要controlsource屬性。表格控件是唯一具有recordsource屬性的控件,但是沒有controlsource屬性。對於表格控件,數據是與一個完整的記錄綁定的。recordsource 屬性指定與表格控制相綁定的主臨時表

 

2、在VFP裏SELE 是什麼命令?

兩個用法
第一種:選擇工作區,用於同時在不同工作區打開多個表,比如:
選擇5工作區:sele 5
選擇最前面的閒置區:sele 0
定位已打開的表區:sele 別名

第二種:SQL語句同
比如讀取數據庫:sele * from 表 into dbf 新表

3、vfp裏的local和locate有什麼不同呢?

答:1在VFP中可用命令語句local,private和public指定變量的作用域,其指定的變量分別爲局部變量,私有變量和全局變量.
用Local<變量名>命令可建立局部變量,其建立的變量或數組只能在定義它們的程序中存在,不能被更高層和更低層的程序訪問.當定義它們的程序停止運行時,這些變量和數組將被釋放.
 例:Local x, y, z

 loacal c as integer


 2 Locate 是按條件定位記錄位置的命令,常用命令格式是:
LOCATE FOR lExpression1 其中lExpression1是查詢或定位的表達式
該命令執行後將記錄指針定位在滿足條件的第一條記錄上,如果沒有滿足條件的記錄則指向文件結束位置.

 

4、插入表記錄


SELECT 工資表
BROWSE LAST
INSERT INTO 工資表 (員工編號,獎金,醫療保險,養老保險,事故保險,房屋補助,生活補助) VALUES ("ry001",36,65,98,45,59,69)

 

其中,金額都爲貨幣型currency,日期date型爲8位YYYYMMDD,DD/MM/YY

5、cursor 定義臨時表

Select * from 網站信息表 where 編號==b into cursor 臨時網站信息表

 

6、vfp 中RecordSourceType的取值 0- 表 和 1- 別名 別名的區別

使用別名需要先將表打開或者設置數據環境,
使用表則直接將表名設置爲數據源就可以了,運行時自動打開相當的表
RecordSourceType的取值 0- 表,在設置RecordSource屬性時可以帶路徑,如D:/XUE.DBF,而
RecordSourceType的取值 1- 別名,RecordSource屬性只能是別名
打開表定義別名的格式爲:USE 表名 ALIA 別名,如果不定義別名則默認別名就是表名
 

 

7、如何切換GRID1.recordsourcetype的屬性從“1-別名”到“4-SQL”
thisform.grid1.RecordSource=Null 
thisform.grid1.recordsourcetype   =   4   
select   *   from   記錄   where   alltrim(班次)   =   alltrim(thisform.text1.value)   into   cursor   tmp 
thisform.grid1.RecordSource= "tmp "
 
8、select
vfp中的select 命令是選擇工作區的!

顯示數據用List/browse。

9、vfp中用scan循環掃描表中滿足條件的紀錄,當找到記錄時,指針指向該記錄還是表尾?
VFP中SCAN-ENDSCAN結構的語句是通過(記錄指針)控制循環次數 ,默認是從表的第一條記錄開始逐條記錄過濾一遍至最後一條記錄結束.如果要控制循環其他條件的記錄 

10、et talk off/on和set safety off/on是什麼意思?
SET TALK OFF的意思是 關閉程序運算的顯示過程,SET TALK ON是開啓顯示程序的運算過程   對於這兩個在VFP中間 是可有可無的   只是如果你做的是個比較大的程序的話 建議帶上,小的就算了  大的程序運算過程太多 在VFP窗口界中間會顯示她的整個運算過程,所以一般寫程序都會先用 SET TALK OFF 把她關掉,這樣便於觀察也方便些,程序在運算的時候就不會顯示運算過程了  程序寫完以後 因爲開始你把它關了 所以要用 ON 恢復系統默認的開啓狀態 

11、str() 將數值型轉化爲字符型
str(數值,長度,小數位)
在VFP中 STR(1234.5678.3) 返回*** STR(1234.5678.2)返回** 
那是因爲你在STR函數中指定輸出的字符長度小於數據整數部份的位數造成的。
數值1234.5678的整數部分是4位,如果STR函數中指定的整數位數小於4位,則返回相應指定位數的*號。如果str函數中指定的整數位數大於4位,則在前面加空格。

str(1234.5678,1) 返回*
str(1234.5678,2) 返回**
str(1234.5678,3) 返回***
str(1234.5678,4) 返回1235
str(1234.5678,5) 返回 1235
str(1234.5678,6) 返回 1235

12、VFP字符串替換函數CHRTRAN()使用方法
將一字符串中的某些字符替換爲另一些字符。
語法
CHRTRAN
返值類型
字符型
參數描述
字符表達式1:字符串,其中的某些字符將被替換。
字符表達式2:確定字符表達式1中的哪些字符將被替換。
字符表達式3:用於替換的字符。
看了上面的內容後可能還是有點稀裏糊塗,那就用一個例子來說明吧:
?CHRTRAN
顯示結果是:XXBYDZF
即用“X”替換“AABCDEF”中的“A”,“Y”替換“C”,“Z”替換“E”。這下明白了吧:)
注重假如“字符表達式3”中的字符少於“字符表達式2”中的字符數,那麼“字符表達式1”與“表達式2”中多餘的字符相匹配的字符將被刪除,怎麼講起來總象繞口令,還是看例子:
?CHRTRAN
顯示結果是:XXBYDF,“E”被刪掉,或者說“XY”中第3個字符是空字符,“E”被這個空字符替換了。

說明
另有一個函數CHRTRANC,主要用於雙字節的字符,如字符串中有中文,最好使用這個函數。
發佈了44 篇原創文章 · 獲贊 8 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章