导航:  »没有这个级别以上的主题«

CWSTR Class

上一页返回章节概述下一页

CWSTR类实现一个动态unicode空终止字符串。 Free Basic具有动态字符串数据类型(STRING)和固定长度的unicode数据类型(WSTRING),但缺少动态unicode字符串。

 

CWSTR 几乎表现得像一个本机数据类型,直接与大多数内在的Free Basic字符串函数和运算符一起工作,有一些例外(例如LEFT,RIGHT,VAL和&操作符),您可能需要使用双重间接,即 ** cws或wstr属性(例如cws.wstr)来引用字符串数据。

 

它使用文字和Free Basic本机字符串,例如

 

DIM cws AS CWSTR = "One"

DIM s AS STRING = "Three"

cws = cws + " Two " + s

PRINT cws

 

它可以与Windows API函数一起使用,例如

 

DIM nLen AS LONG = SendMessageW(hwnd, WM_GETTEXTLENGTH, 0, 0)

DIM cwsText AS CWSTR = nLen + 1

SendMessageW(hwnd, WM_GETTEXT, nLen + 1, cast(LPARAM, *cwsText))

 

对于使用不使用拉丁字母的语言,您可以指定代码页(也支持CP_UTF8):

 

DIM cws AS CWSTR = CWSTR("???????", 1251)   ' 1251 = 俄语代码页

SetWindowText hwnd, cws

 

备注:  返回CWSTR作为函数的结果时,可能需要使用RETURN 而不是FUNCTION = 。 这是因为在使用构造函数返回临时类型时,RETURN和FUNCTION之间的行为不同。