1樓:
當我們在vb中呼叫win32 api函式時,如果函式的返回值是乙個字串,那一般有如下三種情況:
1. 函式預先要求你提供乙個有固定空間的字串,以供儲存函式的返回值。
2. 函式的返回是乙個以null結尾的c字串,而不是正規的vb字串。
3. win32 api函式有時候會返回另一種型別的字串。這種型別的字串在單個緩衝區內儲存了多個字串值,每個值之間用null隔開,結尾的是兩個null,乙個null是最後乙個字串值的結尾符,另乙個null是整個字串的結尾符。
這其實就是我們通常在c中遇到的字串陣列。
2樓:匿名使用者
dim s as string, a() as byte, s1 as string
s = "123456abcdef"
a = strconv(s, vbfromunicode) '字串轉換為位元組陣列
s1 = strconv(a, vbunicode) '位元組陣列轉換為字串
msgbox s1
vb字串和位元組陣列轉換奇怪的問題
3樓:匿名使用者
在csdn有與lz相同的問貼,已有網友指出下句錯
s = strconv(b, vbtounicode) ' 陣列轉成字串
應該為:
s = strconv(b, vbunicode) ' 陣列轉成字串
參閱nsdn:
strconv 函式
返回按指定型別轉換的 variant (string)。
語法 strconv(string, conversion, lcid)
strconv 函式的語法有下面的命名引數:
部分 說明
string 必要引數。要轉換的字串表示式。
conversion 必要引數。integer。其值的和決定轉換的型別。
lcid 可選的。如果與系統localeid不同,則為localeid(系統localeid為預設值。)
設定值conversion 引數的設定值為:
常數 值 說明
vbuppercase 1 將字串文字轉成大寫。
vblowercase 2 將字串文字轉成小寫。
vbpropercase 3 將字串中每個字的開頭字母轉成大寫。
vbwide* 4* 將字串中單位元組字元轉成雙位元組字元。
vbnarrow* 8* 將字串中雙位元組字元轉成單位元組字元。
vbkatakana** 16** 將字串中平假名字元轉成片假名字元。
vbhiragana** 32** 將字串中片假名字元轉成平假名字元。
vbunicode 64 根據系統的預設碼頁將字串轉成 unicode。
vbfromunicode 128 將字串由 unicode 轉成系統的預設碼頁。
vb字串和位元組陣列怎麼轉換?
4樓:
當我們在vb中呼叫win32 api函式時,如果函式的返回值是乙個字串,那一般有如下三種情況:
1. 函式預先要求你提供乙個有固定空間的字串,以供儲存函式的返回值。
2. 函式的返回是乙個以null結尾的c字串,而不是正規的vb字串。
3. win32 api函式有時候會返回另一種型別的字串。這種型別的字串在單個緩衝區內儲存了多個字串值,每個值之間用null隔開,結尾的是兩個null,乙個null是最後乙個字串值的結尾符,另乙個null是整個字串的結尾符。
這其實就是我們通常在c中遇到的字串陣列。
vb怎麼獲取文字框裡的字串,VB怎麼獲取文字框裡的字串
先定義一個變數,然後將變數設定為文字框的內容即可。如下 以獲取text1控制元件為例 dim str1 as string 定義字元變數private sub text1 change 當text1字元改變時 str1 text1.text 設定為文字框的字串end sub dim a as str...
VB如何將數字字串轉換成數字用以計算
用val就可以了,比如a是字元型的變數 a 1500 b val a 這時候b就是1500 數值 了。 十六進位制自己搞個函式弄吧,a f 對應 10 15 然後按權位 加起來就10進位制了 hf0 十六進位制沒h。 蔡瑀 public function cdm byval val val repl...
vb如何擷取以空格分隔的部分字串,如「同意李紅9 23我只要「李紅」,最好從右取
直接用split函式將字串打散放到可調陣列裡,取需要的元素即可。如 dim a as string a split 同意 李紅 2011 9 23 9 23 注意使用英文小寫的雙引號,不是中文的,否則出錯 a 1 即是 李紅 dim a as string a split 同意 李紅 2011 9 ...