Function ByteToBin(m As Byte) As String ' 將字節(jié)型數(shù)據(jù)轉(zhuǎn)換成八位二進(jìn)制字符串

成都創(chuàng)新互聯(lián)公司主營(yíng)海原網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App定制開發(fā),海原h(huán)5小程序設(shè)計(jì)搭建,海原網(wǎng)站營(yíng)銷推廣歡迎海原等地區(qū)企業(yè)咨詢
Dim c$
c$ = ""
Do While m 0
r = m Mod 2
m = m \ 2
c$ = r c$
Loop
c$ = Right("00000000" c$, 8)
ByteToBin = c$
End Function
Function Reverse(m As String) As String ' 將八位二進(jìn)制字符串顛倒順序
Dim i%, x$
x = ""
For i = 1 To 8
x = Mid(m, i, 1) x
Next i
Reverse = x
End Function
Function BinToByte(m As String) As Byte ' 將八位二進(jìn)制串轉(zhuǎn)換成十進(jìn)制
Dim x As String * 1, y%, z%
z = 0
For i = 1 To 8
x = Mid(m, i, 1)
y = x * 2 ^ (8 - i)
z = z + y
Next i
BinToByte = z
End Function
Private Sub Command1_Click()
Dim x As Byte, i%, fname$
fname = InputBox("請(qǐng)輸入要加密的文件名!注意加上路徑名:")
If Dir(fname) = "" Then
MsgBox "文件不存在!"
Exit Sub
End If
Open fname For Binary As #1 ' 以二進(jìn)制訪問(wèn)模式打開待加密文件
For i = 1 To LOF(1) ' LOF函數(shù)是求文件長(zhǎng)度的內(nèi)部函數(shù)
Get #1, i, x ' 取出第i個(gè)字節(jié)
x = BinToByte(Reverse(ByteToBin(x))) ' 這里調(diào)用了三個(gè)自定義函數(shù)
Put #1, i, x ' 將加密后的這個(gè)字節(jié)寫回到文件原位置
Next i
Close
MsgBox "完成!"
End Sub
退出:Unload Me
網(wǎng)上幫你找的,如果不符合你的要求,你可以再去網(wǎng)上在搜搜,有很多代碼的。
“結(jié)構(gòu)”是 Visual Basic 早期版本支持的用戶定義類型 (UDT) 的一般化。除字段外,結(jié)構(gòu)還可以公開屬性、方法和事件。結(jié)構(gòu)可以實(shí)現(xiàn)一個(gè)或多個(gè)接口,而您可以分別為每個(gè)字段聲明訪問(wèn)級(jí)別。
可以合并不同類型的數(shù)據(jù)項(xiàng)來(lái)創(chuàng)建結(jié)構(gòu)。結(jié)構(gòu)將一個(gè)或多個(gè)“元素”彼此關(guān)聯(lián)并且將它們與結(jié)構(gòu)本身關(guān)聯(lián)。聲明了結(jié)構(gòu)后,它將成為“復(fù)合數(shù)據(jù)類型”,而您可以聲明該類型的變量。
想讓單個(gè)變量持有幾個(gè)相關(guān)信息時(shí)結(jié)構(gòu)很有用。例如,您可能想將一個(gè)雇員的姓名、電話分機(jī)號(hào)和薪金放在一起。可以對(duì)這些信息使用幾個(gè)變量,或者可以定義一個(gè)結(jié)構(gòu)并將它用于單個(gè)雇員變量。當(dāng)有許多雇員并且因此有該變量的許多實(shí)例時(shí),結(jié)構(gòu)的優(yōu)點(diǎn)變得非常明顯。
使用 Structure 語(yǔ)句語(yǔ)句作為結(jié)構(gòu)聲明的開始,并使用 EndStructure 語(yǔ)句作為結(jié)構(gòu)聲明的結(jié)束。在這兩條語(yǔ)句之間必須至少聲明一個(gè)“元素”。元素可以是任何數(shù)據(jù)類型,但是至少一個(gè)必須是非共享變量,或是非共享非自定義事件。
不能在結(jié)構(gòu)聲明中初始化任何結(jié)構(gòu)元素。如果將一個(gè)變量聲明為結(jié)構(gòu)類型,則可以通過(guò)變量訪問(wèn)元素來(lái)給它們賦值。
聲明一個(gè)結(jié)構(gòu):
可以使用 Public、Protected、Friend或Private關(guān)鍵字指定結(jié)構(gòu)的訪問(wèn)級(jí)別,或者使用默認(rèn)值 Public。如:
Private Structure employee
End Structure
向結(jié)構(gòu)體添加元素:
結(jié)構(gòu)必須具有至少一個(gè)元素。必須聲明結(jié)構(gòu)的每個(gè)元素并指定其訪問(wèn)級(jí)別。如果使用不含任何關(guān)鍵字的 Dim 語(yǔ)句 (Visual Basic),則可訪問(wèn)性默認(rèn)值為 Public。如:
Private Structure employee
Public givenName As String
Public familyName As String
Public phoneExtension As Long
Private salary As Decimal
Public Sub giveRaise(raise As Double)
salary *= raise
End Sub
Public Event salaryReviewTime()
End Structure
---------------------------
另外,關(guān)于你的問(wèn)題,請(qǐng)參考下面C++/C對(duì)自定義類型的比較:
1、在C++中,不需使用typedef
struct Structure1 {
char c;
int i;
float f;
double d;
};
int main() {
struct Structure1 s1, s2;
s1.c = 'a'; // Select an element using a '.'
s1.i = 1;
s1.f = 3.14;
s1.d = 0.00093;
s2.c = 'a';
s2.i = 1;
s2.f = 3.14;
s2.d = 0.00093;
}
2、在C中,需用typedef定義
typedef struct {
char c;
int i;
float f;
double d;
} Structure2;
int main() {
Structure2 s1, s2;
s1.c = 'a';
s1.i = 1;
s1.f = 3.14;
s1.d = 0.00093;
s2.c = 'a';
s2.i = 1;
s2.f = 3.14;
s2.d = 0.00093;
}
注意下你給ButtonTop的Image屬性賦值的地方,你的屬性SET里是針對(duì)【上】這個(gè)類的改變,你如果這樣寫是觸發(fā)不了屬性改變的:
ButtonTop.背景?=?Image.FromFile("C:/1.png")
正確的處理辦法應(yīng)該是new一個(gè)【上】類的對(duì)象,初始化時(shí)進(jìn)行賦值就可以了
Me.ButtonTop?=?New?Class1()?With?{.背景?=?Image.FromFile("C:/1.png")}
網(wǎng)站欄目:vb.net自定義數(shù)據(jù) vbnet自定義數(shù)據(jù)綁定控件
分享地址:http://chinadenli.net/article28/hepgjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站制作、自適應(yīng)網(wǎng)站、動(dòng)態(tài)網(wǎng)站、全網(wǎng)營(yíng)銷推廣、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)