Class WorkerType
成都創(chuàng)新互聯(lián)公司堅(jiān)信:善待客戶,將會成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨?。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十余年網(wǎng)站建設(shè)經(jīng)驗(yàn)成都創(chuàng)新互聯(lián)公司是成都老牌網(wǎng)站營銷服務(wù)商,為您提供網(wǎng)站設(shè)計制作、成都做網(wǎng)站、網(wǎng)站設(shè)計、H5開發(fā)、網(wǎng)站制作、高端網(wǎng)站設(shè)計、微信小程序定制開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。
Dim No As Integer
Dim Name As String
Dim Pay As Single
End Class
其實(shí)就是結(jié)構(gòu)體,如下面
Public Structure My_type
Public type_1 As Integer
Public type_2 As String
Public type_3 As Double
End Structure
代碼已測試。
一、測試需要的INI文件。名稱為“setinfo.ini”,存放路徑為你解決方案里“Bin“文件夾的”Debug“文件夾里。
內(nèi)容:
[Location]
pnlTime.Location.X=787
pnlTime.Location.Y=0
[TopMost]
Top=True
二、操作INI文件的類。新建一個類,類中內(nèi)容為:
Public?Class?Class1
Public?Declare?Function?GetPrivateProfileString?Lib?"kernel32"?Alias?"GetPrivateProfileStringA"?_
(?_
ByVal?lpApplicationName?As?String,?_
ByVal?lpKeyName?As?String,?_
ByVal?lpDefault?As?String,?_
ByVal?lpReturnedString?As?String,?_
ByVal?nSize?As?Int32,?_
ByVal?lpFileName?As?String?_
)?As?Int32
End?Class
三、界面代碼:
Imports?System.IO?'for?path
Public?Class?Form1
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
getINI()
End?Sub
Private?Sub?getINI()
Dim?iniclass?As?New?Class1?'
Dim?myBf?As?String?'get?set_info?開辟存儲的內(nèi)存
myBf?=?New?String(CChar(""),?256)
Dim?myFN?As?String?'配置文件的文件路徑
myFN?=?Path.Combine(My.Application.Info.DirectoryPath,?"setinfo.ini")
Dim?myAN?As?String?'Application_NAME,也是Section名稱
myAN?=?Me.TextBox1.Text
Dim?myKN?As?String?'KEY_NAME,關(guān)鍵字名稱
myKN?=?Me.TextBox2.Text
Class1.GetPrivateProfileString(myAN,?myKN,?"",?myBf,?myBf.Length,?myFN)?'調(diào)用讀取INI文件的操作
TextBox3.Text?=?Microsoft.VisualBasic.Left(myBf,?InStr(myBf,?Chr(0))?-?1)?'截取有用部分,有必要
End?Sub
End?Class
四、測試截圖如下
“結(jié)構(gòu)”是 Visual Basic 早期版本支持的用戶定義類型 (UDT) 的一般化。除字段外,結(jié)構(gòu)還可以公開屬性、方法和事件。結(jié)構(gòu)可以實(shí)現(xiàn)一個或多個接口,而您可以分別為每個字段聲明訪問級別。
可以合并不同類型的數(shù)據(jù)項(xiàng)來創(chuàng)建結(jié)構(gòu)。結(jié)構(gòu)將一個或多個“元素”彼此關(guān)聯(lián)并且將它們與結(jié)構(gòu)本身關(guān)聯(lián)。聲明了結(jié)構(gòu)后,它將成為“復(fù)合數(shù)據(jù)類型”,而您可以聲明該類型的變量。
想讓單個變量持有幾個相關(guān)信息時結(jié)構(gòu)很有用。例如,您可能想將一個雇員的姓名、電話分機(jī)號和薪金放在一起??梢詫@些信息使用幾個變量,或者可以定義一個結(jié)構(gòu)并將它用于單個雇員變量。當(dāng)有許多雇員并且因此有該變量的許多實(shí)例時,結(jié)構(gòu)的優(yōu)點(diǎn)變得非常明顯。
使用 Structure 語句語句作為結(jié)構(gòu)聲明的開始,并使用 EndStructure 語句作為結(jié)構(gòu)聲明的結(jié)束。在這兩條語句之間必須至少聲明一個“元素”。元素可以是任何數(shù)據(jù)類型,但是至少一個必須是非共享變量,或是非共享非自定義事件。
不能在結(jié)構(gòu)聲明中初始化任何結(jié)構(gòu)元素。如果將一個變量聲明為結(jié)構(gòu)類型,則可以通過變量訪問元素來給它們賦值。
聲明一個結(jié)構(gòu):
可以使用 Public、Protected、Friend或Private關(guān)鍵字指定結(jié)構(gòu)的訪問級別,或者使用默認(rèn)值 Public。如:
Private Structure employee
End Structure
向結(jié)構(gòu)體添加元素:
結(jié)構(gòu)必須具有至少一個元素。必須聲明結(jié)構(gòu)的每個元素并指定其訪問級別。如果使用不含任何關(guān)鍵字的 Dim 語句 (Visual Basic),則可訪問性默認(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)于你的問題,請參考下面C++/C對自定義類型的比較:
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;
}