釋放文件可以使用 Resources對(duì)象 和 IO對(duì)象
創(chuàng)新互聯(lián)是專業(yè)的鐘山網(wǎng)站建設(shè)公司,鐘山接單;提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行鐘山網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
下面以文件在資源中類型為 array 的實(shí)例代碼
注意引用 imports system.io
Dim?resources?As?System.Resources.ResourceManager?=?My.Resources.ResourceManager
Dim?b()?As?Byte?=?resources.GetObject("文件在資源中的名稱")
Dim?s?As?IO.Stream?=?File.Create(Filepath)'要保存的路徑
s.Write(b,?0,?b.Length)
s.Close()
可以查看附件,或則使用以下代碼。應(yīng)該注釋的滿全了。
隨便建一個(gè)窗口工程,窗口代碼帖入以下代碼。
Imports?System.IO
Imports?System.Text
Imports?System.Reflection
Public?Class?Form1
Const?ResName?As?String?=?"123.txt"?'?需要保存的資源名
Const?BufferSize?As?Integer?=?4096??'?復(fù)制時(shí)緩沖的大小
Private?Sub?Demo()
'?變量聲明
Dim?strDisplayText?As?StringBuilder?'?保存輸出信息
Dim?strResName?As?String????????????'?保存目標(biāo)資源的名稱
'?變量初始化
strDisplayText?=?New?StringBuilder()
strResName?=?String.Empty
'?獲取所有資源
strDisplayText.AppendLine("文件中存在以下資源:")
For?Each?strName?As?String?In?Assembly.GetExecutingAssembly.GetManifestResourceNames()
strDisplayText.AppendLine("??"??strName)
'?獲得目標(biāo)資源的全名
If?strName.EndsWith("."??ResName)?Then
strResName?=?strName
End?If
Next
'?目標(biāo)資源不存在
strDisplayText.AppendLine()
If?strResName?=?String.Empty?Then
strDisplayText.AppendLine("抱歉,沒有找名為"""??ResName??"""的資源")
Else?'?復(fù)制資源的代碼
'?打開資源文件,在End?Using的時(shí)候自動(dòng)關(guān)閉。
Using?ms?As?UnmanagedMemoryStream?=?Assembly.GetExecutingAssembly.GetManifestResourceStream(strResName)
'?打開磁盤文件,在End?Using的時(shí)候自動(dòng)關(guān)閉。
Using?fs?As?New?FileStream("C:\"??ResName,?FileMode.Create)
'?變量聲明
Dim?Buffer(BufferSize?-?1)?As?Byte??'?復(fù)制文件時(shí)的緩沖數(shù)組
Dim?ReadCount?As?Integer????????????'?此次讀取數(shù)據(jù)的數(shù)量
'?還有數(shù)據(jù)可以讀取的情況,一直循環(huán)
ReadCount?=?ms.Read(Buffer,?0,?BufferSize)
While?ReadCount??0
fs.Write(Buffer,?0,?ReadCount)?'?寫入到磁盤文件
ReadCount?=?ms.Read(Buffer,?0,?BufferSize)
End?While
End?Using
End?Using
strDisplayText.AppendLine("文件已經(jīng)復(fù)制完畢。")
End?If
'?顯示消息
MessageBox.Show(strDisplayText.ToString())
End?Sub
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
Call?Demo()
End
End?Sub
End?Class
在此本人使用ADO對(duì)象訪問ACCESS數(shù)據(jù)庫(kù),但ADO對(duì)象在使用前你先要進(jìn)行添加,啟動(dòng)VB6后,單擊菜單“工程-引用”,打開引用對(duì)話框,選擇“Microsoft ActiveX Data Objects 2.0 Library”,將其勾選,(以2.0版本為例,實(shí)際可以選擇系統(tǒng)中的最高版本如本人的就是2.6版本),然后在當(dāng)前目錄下建立一個(gè)名為“學(xué)生”的ACCESS數(shù)據(jù)庫(kù),其中表名為“表”,字段共有:學(xué)號(hào),姓名,年齡,性別四個(gè)字段,接下來就是設(shè)計(jì)界面了(自己設(shè)計(jì))
現(xiàn)在介紹如何使用代碼訪問ACCESS數(shù)據(jù)庫(kù):
在代碼窗口中編寫一個(gè)返回字符型的函數(shù)
Function Connection() As String
'數(shù)據(jù)庫(kù)的連接設(shè)置配置
Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" App.Path + "\學(xué)生.mdb"
End Function
該函數(shù)用于連接數(shù)據(jù)庫(kù)用
Private Form_Load()
Dim cnn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
cnn.Open Connection
Set Rst = New ADODB.Recordset
Rst.Open "select * from 表", cnn, adOpenKeyset, adLockOptimistic
End Sub
注:
Dim cnn As New ADODB.Connection創(chuàng)建一個(gè)ADO數(shù)據(jù)庫(kù)連接對(duì)象
Dim Rst As New ADODB.Recordset為創(chuàng)建一個(gè)ADO數(shù)據(jù)庫(kù)記錄對(duì)象
select * from 表 是SQL查詢語言,這里為數(shù)據(jù)源,意思就是打開數(shù)據(jù)庫(kù)“學(xué)生”中的表“表”
下面是將數(shù)據(jù)庫(kù)表中的字段值顯示出來的一個(gè)過程
Sub View()
Dim i As Integer
For i = 0 To 2
Text1(i) = Rst.Fields(i)'text1為控件數(shù)組
Next
If (Rst.Fields(3) = True) Then
Text1(3) = "男"
Else
Text1(3) = "女"
End If
End Sub
要訪問ACCESS數(shù)據(jù)庫(kù)就這樣可以實(shí)現(xiàn),訪問SQL也差不多,稍有不同,回答完畢,如還有問題請(qǐng)繼續(xù)和我聯(lián)系,本人是專使用VB+SQL/Delphi+SQL開發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)的程序員。
很簡(jiǎn)單,點(diǎn)擊菜單“項(xiàng)目”--“WindowsApplication1屬性”
在屬性面板里點(diǎn)“資源”,這里可添加字符串資源、圖片資源、多媒體資源等等。
使用資源很簡(jiǎn)單,舉例如下:
? Label1.Text = My.Resources.String1
? PictureBox1.Image = My.Resources.小貓