vb如何将多张图片写入到一个文件中并分别调用?

程序中需要调用1万多张图片,图片直接放在程序文件夹下显得不好,有没有办法将图片隐藏起来。
我的想法是将所有图片都写到一个文件中去,比如pic.dat ,里面给每个文件分配固定长度的大小,调用的时候按内存地址去找每一个文件,但是我不知道怎么写代码或者vb能不能支持
各位高手有没有什么好的办法可以解决这个问题 让用户看不到这么多图片

使用流对象保存和显示图片
打开vb6,新建工程。

添加两个按钮,一个image控件
注意:Access中的photo字段类型为OLE对象.
SqlServer中的photo字段类型为Image

'** 引用 Microsoft ActiveX Data Objects 2.5 Library 及以上版本
‘2.5版本以下不支持Stream对象
Dim iConcstr As String
Dim iConc As ADODB.Connection

'保存文件到数据库中
Sub s_SaveFile()
Dim iStm As ADODB.Stream
Dim iRe As ADODB.Recordset
Dim iConcstr As String

'读取文件到内容
Set iStm = New ADODB.Stream
With iStm
.Type = adTypeBinary '二进制模式
.Open
.LoadFromFile App.Path + "\test.jpg"
End With

'打开保存文件的表
Set iRe = New ADODB.Recordset
With iRe
.Open "select * from img", iConc, 1, 3
.AddNew '新增一条记录
.Fields("photo") = iStm.Read
.Update
End With

'完成后关闭对象
iRe.Close
iStm.Close
End Sub

Sub s_ReadFile()
Dim iStm As ADODB.Stream
Dim iRe As ADODB.Recordset
'打开表
Set iRe = New ADODB.Recordset
‘得到最新添加的纪录
iRe.Open "select top 1 * from img order by id desc", iConc, adOpenKeyset, adLockReadOnly
'保存到文件
Set iStm = New ADODB.Stream
With iStm
.Mode = adModeReadWrite
.Type = adTypeBinary
.Open
.Write iRe("photo")
‘这里注意了,如果当前目录下存在test1.jpg,会报一个文件写入失败的错误.
.SaveToFile App.Path & "\test1.jpg"
End With

Image1.Picture = LoadPicture(App.Path & "\test1.jpg")
'关闭对象
iRe.Close
iStm.Close
End Sub

Private Sub Command1_Click()
Call s_ReadFile
End Sub

Private Sub Command2_Click()
Call s_SaveFile
End Sub

Private Sub Form_Load()
'数据库连接字符串
iConcstr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _
";Data Source=F:\csdn_vb\database\保存图片\access图片\img.mdb"

‘下面的语句是连接sqlserver数据库的.
‘iConcstr = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
‘ "User ID=sa;Password=;Initial Catalog=test;Data Source=yang"

Set iConc = New ADODB.Connection
iConc.Open iConcstr
End Sub

Private Sub Form_Unload(Cancel As Integer)
iConc.Close
Set iConc = Nothing
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-08-21
资源文件不行的,他会在运行中添加文件,还是用流对象保存到数据库里比较好!把tianqing20wen的再完善一下就可以了!
第2个回答  2009-08-21
用资源文件

vb如何将多张图片写入到一个文件中并分别调用?
添加两个按钮,一个image控件 注意:Access中的photo字段类型为OLE对象.SqlServer中的photo字段类型为Image '** 引用 Microsoft ActiveX Data Objects 2.5 Library 及以上版本 ‘2.5版本以下不支持Stream对象 Dim iConcstr As String Dim iConc As ADODB.Connec...

VB如何将多个图片、文字、声音写入一个文件中
使用二进制方式分别打开3个文件写入另一个二进制文件中保存,使用是也用二进制文件打开读取,由于读取的字节数已知,所以保存只要把文件名改一下就行。vb中也可以使用资源文件,就是捆绑在exe文件中,可能捆绑很多文件,而且类型不限

将多套图片批量分别插入对应的word中
Selection.TypeParagraph '在文末添加一空段 Else Selection.MoveDown End If Selection.Text = Basename(fn) '函数取得文件名 Selection.EndKey If Selection.Start = ActiveDocument.Content.End - 1 Then '如光标在文末 Selection.TypeParagraph '在文末添加一空段 Else Selection.MoveDown En...

VB怎么用比较好的方法将多个图片和音频文件打包起来,并用代码快速读取并...
1、使用一个MDB,把多媒体数据序列化后保存在备注字段里。2、可以使用第三方压缩组件。最传统的应该是ZLib。相关资料很多,你自己查一下吧。3、自定义一个文件格式,自己写读写函数。经典例子可参考暴雪的游戏,知道MPQ吧?这里面MDB法最简单,但是功能单一,很多辅助能力非常弱。压缩法就好的多了,但是...

在VB中如何将多个图片文件压缩在一个文件中(最好是加密),然后在程序...
给你上传了完整的源代码示例:http:\/\/files.7lx.com\/data\/2011-01\/2011january24th173725_fpics.rar (注意:请使用右键“另存为。。。”下载)

VB6中 如何将图片保存到一个dat文件中
'写入到dat文件 Open "c:\\cs.dat" For Binary As #1 Put #1, 1, du_1 Close #1 '读取dat文件 Open "c:\\cs.dat" For Binary As #1 Get #1, 1, du_4 Close #1 a = 0 For m = 0 To UBound(du_4.dx)ReDim xin(du_4.dx(m) - 1)For n = 0 To du_4.dx(m) - 1 x...

VB载入图片的程序怎么把图片合并在程序文件里?
首先,主菜单上外接程序,外接程序管理器,打开后双击VB6资源编辑器加载资源编辑器 然后主菜单,工具,资源编辑器 把图片加入进来,注意仅支持BMP格式。添加进的图片有一个编号,记住这个编号,保存资源文件。在Form1上放置一个PictureBox控件,窗体的代码:Private Sub Form_Load()Picture1.Picture = Loa...

VB储存多副图片于一个文件
用VB建立一个资源文件,将图片(BMP格式)存到资源文件里,然后在VB代码里调用资源文件里的图片,资源文件的创建和使用方法自己到书上去找

VB中如何保存图片到一个EXE文件中
MsgBox "图片已成功写入" & AppExeName & "!", vbInformation, "恭喜"End Sub 2、当需要写入2.exe时可这样调用:WriteFile Picture1, App.Path & "\\1.exe" 'Picture1与1.exe请根据实际进行修改 二、2.exe代码 1、复制下面过程 Sub GetPicture(PictureBoxName As Object)Dim i As Integer, ...

vb6.0中如何存取图片和调用图片?
把所有学生照片放在一个文件夹里面,数据库里面保存各个学生的照片的文件名。你需要搞清楚什么叫索引,索引只要一个,一般用ID号作为索引,你说的年龄、身高不是索引,而是搜索条件,只要数据库有相关字段,可以在Select语句中用Where关键字过滤这些搜索。

相似回答