工作环境
1 有数百张WMF文件
2 有几十个CAD的DWG文件。
------------
如果放到目录文件→管理和调用这些文件→任何都能共享
希望采用资源文件(RES)→管理和调用这些文件
→用哪张WMF或DWG文件→覆盖同一WMF或DWG文件→个人手功劳动成果,不会轻易让人无偿使用。
-----------------------
请教各位大侠的问题是
1 采用资源文件(RES)方法,管理数百张WMF文件和DWG文件是否可行。
2 在VB内部建立一个数组管理RES→采用什么方法能快速找到所需的WMF文件和DWG文件夹。
→建立一个数组→通过什么关键????→找到所需的WMF或DWG文件→覆盖WMF文件或DWG文件。谢谢。
1 有数百张WMF文件
2 有几十个CAD的DWG文件。
------------
如果放到目录文件→管理和调用这些文件→任何都能共享
希望采用资源文件(RES)→管理和调用这些文件
→用哪张WMF或DWG文件→覆盖同一WMF或DWG文件→个人手功劳动成果,不会轻易让人无偿使用。
-----------------------
请教各位大侠的问题是
1 采用资源文件(RES)方法,管理数百张WMF文件和DWG文件是否可行。
2 在VB内部建立一个数组管理RES→采用什么方法能快速找到所需的WMF文件和DWG文件夹。
→建立一个数组→通过什么关键????→找到所需的WMF或DWG文件→覆盖WMF文件或DWG文件。谢谢。
2.记录WMF文件和DWG文件夹存放的位置到一个文件,比如文本文件或数据库文件,或者只需要记录文件夹,然后把文件列举出来,如果后期处理缓慢,可以考虑把文件名放到List控件中
你一定也常常因苦于无法组织自己程序中大量的picture,而头痛不已,那就让小生为各位介绍一下VB编程的好帮手--资源文件。如何理解下面的内容→对RES的表述??
--------------------所谓资源文件,就是指将在程序运行时用到的资源集中在一起的一个文件。一个资源文件可以包括文字(TEXT)、位图(BITMAP)。图标(ICON)等。并且在程序中调用时不用指明路径,这就简化了程序的编写并减少了发生错误的可能。现在我就以一个小程序为例讲述资源文件的一些使用方法。
这个工程运行后,当点击【未来】按钮时中间图像将依次变换为夏、秋、冬、春……点击【从前】按钮则以相反顺序转动图片(源程序附后)。
首先建立春、夏、秋、冬四幅位图,均以.BMP格式保存在C:\TEST\下。然后打开记事本编写资源文件,
内容如下:
100 bitmap spring.bmp
200 bitmap summer.bmp
300 bitmap autumn.bmp
400 bitmap winter.bmp
其中数字表示此项的ID号码,此号码很重要,它直接影响调用!BITMAP表示以位图方式保存而最后的部分为文件名。将此文件保存为TEST.RC。
接下来编译此资源文件。在C:\Visual Basic\Wizards目录下找到RC.EXE文件。在MS-DOS方式下键人C:\rc /r c:\test.test.rc(键入rc /?将会得到帮助),在编译成功后在C:\TEST\中将发现增加了一个名为TEST.RES的文件。
完成了上面的工作,接下来就可以编写工程了。首先建立一个image控件img和两个Command控件cmdc、cmdw。然后建立一个时钟控件,设其Interval属性为1000。最后在[通用]中声明一个名为iid的整形变量:
Dim iid As Integer
并初始化img和iid:
img.Picture=LoadResPicture(100,vbResBitmap)
iid=100
其中LoadResPicture(id,model)为从资源文件中调用图像的函数,100表示ID号为100的项,vbResBitmap为一常量,值为0,表示以位图方式打开。然后在两个Command控件中加入源程序代码。
最后在工程资源管理器中用鼠标右键单击选择【添加】--> 【添加文件】,加入TEST.RES。
至此工程可谓大功告成,按F5运行一下,希望你会喜欢。还有一点要强调的是一个工程只能有一个工程文件!附源程序:
Option Explicit
Dim iid As Integer
Private Sub comc_Click()
iid = iid - 100
If iid < 100 Then iid = 400
img.Picture = LoadRespicture(iid.vbResBitmap)
End If
End Sub
Private Sub comw_Click()
iid = 100 + iid
If iid > 400 Then iid = 100
img.Picture = LoadResPicture(iid,vbResBitmap)
End If
End Sub
Private Sub Form_Load()
img.Picture = LoadResPicture(10O,vbResBitmap)
iid = 100
End Sub
Private Sub Timer1_Timer()
iid = 100 + iid
If iid > 400 Then iid = 100
img.Picture = LoadResPicture(iid,vbResBitmap)
End If
End Sub
要知道,网上人太多了,QQ用户有9亿。
你自己实践一下我说的是不是EXE增大就知道了