PB技巧小字典 常用語法存檔

2021-07-03 06:52:09 字數 2737 閱讀 1900



2013-09-06 20:18:25

|  分類:

開發語言小技巧

|  標籤:

開發技巧

datawindow |

舉報 |字型大小大

中小訂閱

以下為本人收藏一些技巧,均來自網路 一些有用到,一些用不到,其中一部分很基礎,做個備忘吧!

1.rgb函式計算公式: 顏色值 = (65536 * blue) + (256 * green) + (red) 

2.控制項可拖動:

send(handle(this),274,61458,0)

3.如何用程式控制下拉子資料視窗的下拉和收起

用modify或者直接用dw_1.object.col1.dddw.showlist = true

4.檢索引數有些不需要傳入則傳%.

5.如何遮蔽滑鼠滾輪觸發 

在控制項的other事件寫

if message.number = 522 then return 1 

6.得到資料視窗的語法:

string ls_dwsyntax

ls_dwsyntax=dw_1.describe("datawindow.syntax")

long   ll_count,i

string ls_value,ls_colname

ll_colnum = long(dw_1.object.datawindow.column.count)

for i = 1 to ll_colnum

//得到標題頭的名字

ls_colname = dw_1.describe('#' + string(i) + ".name") + "_t"

ls_value = dw_1.describe(ls_colname + ".text")

next

8.在程式中動態設定初始值:

ex:dw_contro.object.columnname.initial = '***x'

9.如何在datawindow的sql語法中不使用select distinct實現刪除重複的行 

---- 起先對你要顯示唯一值的列進行排序:"city a",然後增加如下過濾字串:" city  city [-1] or getrow () = 1" 

10.如何改變列的字型顏色,提醒使用者此列已做修改 

---- 在列的color屬性中,輸入如下表示式if (column_name column_name.original, rgb(255, 0, 0), rgb(0, 0, 0))。在這個條件中,如果此列已改變,則顯示紅色字型,否則顯示黑色字型。這個表示式主要用column_name  column_name.original比較當前列的值和原始列的值是否相同來達到判斷的目的。 

11.在資料視窗的clicked或doubleclicked事件中寫上注釋//可解決一些意外的bug!

12.如何遮蔽上下鍵觸發 

新建乙個事件:id為pbm_dwnkey

if keydown(keydownarrow!) or keydown(keyuparrow!) then

return 1

end if

13.你注意到沒有,資料視窗畫板裡面,在寫表示式的時候,試著用一些使用者自定義的全域性變數和全域性函式,你會發現在某些特殊的場合,這個小竅門還是很有用的。

14.有些程式設計師在視窗的右鍵pop選單裡面寫了很多**,在選單裡面有很多w_windowname.controlname等等引用,如果這個視窗被繼承,很容易就會出毛病,別忘了在選單裡面可以引用parentwindow哦,有了它我的pop選單裡面的**和具體視窗無關,隨便繼承。當然強烈建議最好還是把所有和視窗相關的邏輯都轉移到視窗的函式和事件中去,在pop選單中觸發呼叫。

15.whichdw.describe("evaluate('lookupdisplay("+colname+")',"+string(row)+")")

這個表示式可以得到指定列的顯示值。(這個知識點有濫竽充數之嫌,但是一時間我真是想不起來太多的東西)

16.在資料視窗畫板裡面我們如果想要比較當前行和上一行或者下一行的值,怎麼比較呢,哈哈,看這個就知道了

if ( yw_bc_circuit_dlcode = yw_bc_circuit_dlcode [-1] and  yw_bc_circuit_dlname =  yw_bc_circuit_dlname [-1] and  yw_bc_circuit_xtno = yw_bc_circuit_xtno [-1] ,0,1)

這個表示式就是比較當前行和上一行是否相同的。其他的依此類推就行了。

17.兩個結構相同的資料視窗之間快速複製資料

dw_1.object.data = dw_2.object.data

18.根據條件改變記錄顏色

if ( mod(getrow(),2)=0,rgb(0,255,255),rgb(255,255,255)) //奇偶行不同色

if (currentrow()=getrow(),rgb(0,255,255),rgb(255,255,255)) //當前行不同色

19.使視窗總位於所有開啟視窗的最上面

w_main.setposition(topmost!)

20.取資料視窗中列的總數

string ls_count

ls_count = dw_1.describe("datawindow.column.count")

Markdown常用語法技巧

在想要設定為標題的文字前面加 來表示 乙個 是一級標題,二個 是二級標題,以此類推。支援六級標題。注 標準語法一般在 後跟個空格再寫文字。示例 這是一級標題 這是二級標題 這是 標題 這是四級標題 這是五級標題 這是六級標題 效果如下 這是四級標題 這是五級標題 這是六級標題加粗 要加粗的文字左右分...

mysql常用語法 MySQL常用語法

更新資料 update 表名 set 健名 更改的值 where 建 刪除資料 delete from 表名 where 索引 create index 索引名稱 on 表名 鍵名 建立試圖 create view 檢視名 鍵,鍵 as select matchno,abs won lost fro...

python之常用語法技巧

最近看了很多同事的 遇到一些之前沒用過的python語句,積累起來吧。import uuid mac uuid.uuid1 hex 12 2 del 的使用 a b c d del a 0 則a c d del a 0 1 則a d del a 則a未定義 3 a c d a.reverse a d...