1樓:易相陽
新增乙個文字框text1和乙個按鈕command1private sub command1_click()dim a, b, c as string , d as integer
a =d=len(a)
b = left(a, 2)
c = right(a, d-2)
msgbox "第三位前的字元為" &b & 第三位後的字元為" &c
end sub
2樓:網友
dim s as string
dim v as string
dim l as long :l=len(s)if (l>2) then v= left(s,2) '取左邊的,if (l>4) then v= v & right(s,l -4) '取右邊的並且把剛才左邊的連上。
最後v的值就是你要的吧。
3樓:網友
先用len函式確定位元組數,然後用mid函式擷取第三位前後的位元組。
4樓:咦
新增乙個文字框text1和乙個按鈕command1,把文字複製到text1文字框裡。
**:option explicit
private sub command1_click()dim a, b, c, d as stringa =
b = mid(a, 1, 3)
c = right(a, 3)
msgbox "前三位字元為" &b & 後三位字元為" &cend sub
我也是初學者,希望可以互相交流。
vb 如何擷取位元組 ,long的前三個位元組
5樓:網友
1 已知long型 直接獲取前3位元組。
haabbccdd處為你的long型變數或常量。
例如:dim a as long:a = &h11223344
msgbox "0x11223344在記憶體中前3個位元組為: 0x" & hex(a and &h00ffffff)
數字高位對應記憶體高位 因此截16進位下右側6位。
2.通過複製記憶體實現(慢很多):
private declare sub rtlmovememory lib "kernel32" (dst as any,src as any,byval l as long)
使用:dim a as long,l as long
l = &haabbccdd
rtlmovememory a,l,3
msgbox hex(a)
3.如果你要分離4個位元組:
最好的辦法是用and和除法。
b = (color and &hff)
第二的辦法是用修改safearray陣列(對於一次性處理多個long 則此方法最佳)
第三的辦法是copymemory到乙個結構體,結構體第乙個成員即它的第乙個位元組。
4.儲存long到結構體:
直接用copymemory(rtlmovememory)方法 複製long型變數到4個位元組長度的結構體變數,複製大小4位元組。
用j**a 編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保
6樓:網友
這個方法有個前提 必須是gbk編碼 因為只有gbk 漢子才是2個位元組 utf-8就是3個位元組。
public static string bustr(string str,int l)
if(i==l) break;
return new string(a);}
7樓:石頭
package ;
**10、 編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。
但是要保證漢字不被截半個,如「我abc」4,應該截為「我ab」,輸入「我abc漢def」,6,應該輸出為「我abc」而不是「我abc+漢的半個」。
author
public class test10
public static void splitstring(string src, int len)
bytenum = ;
byte bt = ; // 將string轉換成byte位元組陣列。
if (len > bytenum)
判斷是否出現了截半,截半的話位元組對於的asc碼是小於0的值。
if (bt[len] <0) else
ps:看比人部落格上面的,具體的沒操作過,
vb串列埠怎麼一次接收3個位元組資料
8樓:網友
或者在mscomm1_oncomm事件中設定靜態變數dim a(3) as integer
static k as integer ,s as stringif k <3 then
k = k +1
a(k) = asc(
elsek = 0
end if
每次接收自加1
當接受3次則清零一次,並將資料送出。
j**a字串位元組長度擷取問題
9樓:網友
例如string s="hello world";
string substri=,5);//這裡將會獲得hello
substring是string類的乙個擷取字串的方法,方法裡面第乙個引數是從第幾位開始擷取,後面的那個引數是擷取到第幾位(但不包含這一位的字元)。
10樓:網友
string ss = "我是我牛牛";
string ss2 = "12345";
byte b = ;
byte b2 = ;;
==105是這個意思吧。
11樓:網友
先使用getbyes,然後用length
比如string str ="我是牛牛牛";
12樓:網友
,index);
不知道是否和樓主意思,不多請繼續補全問題。
vb mscomm 如何得到串列埠已傳送完成的位元組數?
13樓:213傅旭東五
推薦參考。
或參考msdn關於mscomm控制項的文件。
v= 檢視原帖》
乙個很簡單的vb問題,高分求教!
14樓:網友
這樣發試下吧,你這樣寫發位元組不太靠譜。
dim b(7) as byte
b(0)=&h1
b(1)=&h6
b(2)=&h0
b(3)=&h74
b(4)=&h0
b(5)=&h64
b(6)=crcl
b(7)=crch=b
15樓:
因為你串列埠引數沒有設定對,在vb程式內需要設定串列埠資料傳送方式,設定成2進位資料傳送你才能傳送16進位資料,不然始終是ascii碼資料傳送。
vb 如何去掉檔案頭部指定的位元組數
16樓:網友
用 seek=..來解決 再接著讀取就是了。
vb中如何將兩個單位元組合成乙個雙位元組,例如我輸入兩個byte型別變數
17樓:網友
把兩個位元組轉換為十六進位的文字,按高低位元組拼接起來,然後用 clng("&h" & 拼接) 取得轉換後的數值形值。
想得到負數,用 65280 - 65536 = -256, 如果你懂c, 應該能明白我的意思。
18樓:做而論道
試試: = format(disnumber, "######0") '格式化字串。
19樓:網海1書生
存在兩個問題:
1、vb在計算byte型別數的運算時,也是按byte型別的位數來存放計算結果的,很顯然,計算結果已經超出byte的範圍了;
2、計算結果不但已經超出byte的範圍,也超出integer的範圍了,所以disnumber變數要定義為long型別才行。
所以改為如下:
private sub form_load()
dim disnumber as long '定義為long型。
dim a as byte
dim b as byte
a=&h80
b=&h0disnumber = a * 256& +b '把表示式中的最大數256設為long型,vb就會按long型存放計算結果了。
format(disnumber, "##
end sub
補充:那就再轉換一下:
private sub form_load()
dim disnumber as long '定義為long型。
dim a as byte
dim b as byte
a = &hff
b = &h0
disnumber = a * 256& +b '把表示式中的最大數256設為long型,vb就會按long型存放計算結果了。
轉換為帶符號整數(土法)
format(disnumber, "##
end sub
「人」字在第三位的成語有哪些,「人」字在第三位的四字成語有哪些?
舒榮 一表人才 y bi o r n c i 形容人的相貌 儀表都很出色。人山人海 r n sh n r n h i 指人群如山似海,形容人聚集得非常多。荒無人煙 hu ng w r n y n 形容一個地方偏僻荒涼,見不到人家。事在人為 sh z i r n w i 比喻事情的成功全在於人的努力。...
天字在第三位置的成語,「光」字在第三位的成語有哪些?
哀感天地 形容極其哀痛,使天地都為之感動。暗無天日 形容在反動勢力統治下社會的黑暗。昂首天外 抬起頭望著天邊。形容態度傲慢,或做事脫離實際。暴殄天物 暴 損害,糟蹋 殄 滅絕 天物 指自然生物。原指殘害滅絕天生萬物。後指任意糟蹋東西,不知愛惜。別有天地 天地 境界。比喻另有一番境界。形容風景或藝術創...
《做家務的男人》傅首爾把老公放在第三位,怎樣看待她的愛情觀
py彭彭 我很支援她的愛情觀啊,把自己放在第一位,把事業放在第二位,把丈夫放在第三位,孩子放第四,這有什麼不對的嗎,我們都只是來這世間走一遭,看看這世間的風景,憑什麼我們這麼來看幾十年,要為別人而活,要把別人放在第一位呢,所以我不明白為什麼呢。可能很多人會說,女人結婚了,就要以家庭為主,就要以丈夫為...