第二十二章 Cach 變數大全 X 變數

2021-10-18 19:44:10 字數 2841 閱讀 5266

包含游標的當前水平位置。

$x
$x包含游標的當前水平位置。將字元寫入裝置時,caché會更新$x以反映水平游標位置。

輸出的每個可列印字元將x加1

。回車符

(『as

cii13

『)或換

頁符(『

asci

i12『)

將『

x加1。回車符(`ascii 13`)或換頁符(`ascii 12`)將`

x加1。回車

符(『a

scii

13『)

或換頁符

(『as

cii1

2『)將

『x`重置為0(零)。

$x是16位無符號整數。

可以使用set命令為$x$y賦值。例如,可以使用特殊的轉義序列來改變物理游標位置,而不更新$x$y的值。在這種情況下,在使用轉義序列之後,使用set將正確的值分配給$x$y

國家語言支援(nls)實用程式$x/$y選項卡定義當前區域設定的$x$y游標移動字元。

下表顯示了不同字元對$x的影響。

echoed character

ascii code

effect on $x

12

$x=0

13

$x=0

10

$x=$x

8

$x=$x-1

9

$x=$x+1

任何可列印的ascii字元

32-126

$x=$x+1

不可列印的字元(如轉義序列)

127-255

參考 caché objectscript.

openuse命令的s(ecret)協議關閉回顯。它還可以防止$x在輸入過程中被更改,因此它指示真實的游標位置。

write $char()更改$xwrite *不會更改$x。例如,write $x,"/",$char(8),$x執行退格(刪除/字元)並相應地重置$x,返回01。相反,write $x,"/",*8,$x執行退格鍵(刪除/字元),但不重置$x;它返回02。

使用write*,可以向終端傳送控制序列,$x仍將反映真實游標位置。由於某些控制序列確實會移動游標,因此可以使用set命令直接設定$x。例如,以下命令將游標移動到數字vt100終端(或等效終端)上的列20和行10,並相應地設定$x$y

/// d ##class(pha.test.specialvariables).x()

classmethod x()

(pha.test.specialvariables).x

()100

裝置執行但不輸出的ansi標準控制序列(如轉義序列)可能會在$x$y值與真實游標位置之間產生差異。要避免此問題,請使用write*(整數表示式)語法並指定字串中每個字元的ascii值。例如,不使用:

write !

,$char(27

)_"[1m"

write !

,$x

使用此等效表:

write !,*

27,*91

,*49,

*109

write !

,$x

通常,在顯式移動游標的任何轉義序列之後,應更新$x$y以反映實際游標位置。

可以使用%system.process類的dx()方法設定$x如何處理當前程序的轉義序列。可以通過設定config.miscellous類的dx屬性來建立系統範圍的預設行為。

當使用write命令向客戶端或伺服器tcp裝置傳送資料時,caché首先將資料儲存在緩衝區中。它還更新$x以反映緩衝區中的字元數。此計數中不包括ascii字元,因為它們被視為記錄的一部分。

如果使用寫入重新整理$x緩衝區!命令時,caché會將$x重置為0,並將$y值遞增1。如果使用write#命令重新整理$x$y緩衝區,則caché會將ascii字元作為單獨的記錄寫入,並將$x$y都重置為0。

第二十二章 Teamware需求

teamware正如他的名字一樣,是乙個團隊使用的groupware。groupware的定義是 teamware的功能需求 公共功能 使用者管理 角色管理 客戶管理 crm 專案管理 安全 授權和認證 業務功能 公告欄 notice 位址本 address book todo列表 todo lis...

第二十二章 Cach 定義資料型別類

定義資料型別類 在資料型別類中定義類方法 在資料型別類中定義例項方法 資料型別類的用途是用作物件類中的文字屬性的型別。資料型別類提供以下功能 資料型別類在許多方面與其他類不同 由於了解一些內部細節很有用,因此本節簡要討論資料型別類的工作方式。如前所述,資料型別類的用途是用作屬性的型別,特別是在擴充套...

第二十二章 橋接模式

很多情況下用繼承會帶來麻煩。比如,物件的繼承關係是在編譯時就定義好了的,所以無法在執行時改變從父類繼承的實現。子類的實現與它的父類有非常緊密的依賴關係,以至於父類實現中的任何變化必然會導致子類發生變化。當你需要復用子類時,如果繼承下來的實現不適合解決新的問題,則父類必須重寫或被其他更適合的類替換。這...