本人目前想做一个软件管理VBP及VBG文件,采用文件流形式对VBP及VBG文件进行操作.具体思路是:建立一个TAB,其中一个TAB中放置要加入的FRM等文件,第二个TAB中放入要加入的DLL或OCX文件,第三个TAB进行工程管理.但目前碰到的问题是:
1.在VBP文件中,管理DLL等文件的有一个什么REFRENCE=什么的,后面好像是接的GUID值吧,但我怎么取啊。
2.路径是..\winnt\什么什么的,据说是相对路径,但怎么判断
3.还有什么FORM=什么的,那个值好像并不是文件名,那怎么从文件名中判断。
4.应当注意点什么啊极为重要的是第一个问题,请大家帮忙了。急用!
1.在VBP文件中,管理DLL等文件的有一个什么REFRENCE=什么的,后面好像是接的GUID值吧,但我怎么取啊。
2.路径是..\winnt\什么什么的,据说是相对路径,但怎么判断
3.还有什么FORM=什么的,那个值好像并不是文件名,那怎么从文件名中判断。
4.应当注意点什么啊极为重要的是第一个问题,请大家帮忙了。急用!
dim lsarr() as string
dim iMax as long
dim ls as string ls ="Reference=*\G{AC3B8B4C-B6CA-11D1-9F31-00C04FC29D52}#2.6#0#F:\Program Files\Common Files\System\ADO\msjro.dll#Microsoft Jet and Replication Objects 2.6 Library"
lsarr= split(ls)
imax =ubound(lsarr,"#")msgbox lsarr(imax)
2,
Form,Module,Class 类型都是用;分割,用split取最后部分,去掉路径就是文件名字
直接判断有无..\ 没有,就在app.path加上路径;有,就去掉最后那段,加上..\后面的3,那是窗体名字,不是文件名字,打开frm文件就可以看到4,没做过,不知道
2. 用 ChDir 函数设置当前路径为工程文件的路径,然后就可以直接打开那些文件了。
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\SYSTEM\StdOle2.tlb#OLE Automation
Reference=*\G{00000205-0000-0010-8000-00AA006D2EA4}#2.5#0#C:\PROGRAM FILES\COMMON FILES\SYSTEM\ADO\msado25.tlb#Microsoft ActiveX Data Objects 2.5 Library
Object={4932CEF1-2CAA-11D2-A165-0060081C43D9}#2.0#0; ACTBAR2.OCX
Reference=*\G{602014D4-B5ED-11D6-914B-0050BAD091AB}#7.0#0#..\BeautyInterface\BInterface.dll#Beauty Interface Type Library
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
Object={0ECD9B60-23AA-11D0-B351-00A0C9055D8E}#6.0#0; MSHFLXGD.OCX
Object={95559FD0-8A4C-11D3-905E-00A04B0669E7}#1.1#0; SMARTUI.OCX
Object={86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCT2.OCX
Object={BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0; TABCTL32.OCX
Object={F856EC8B-F03C-4515-BDC6-64CBD617566A}#6.0#0; FPSPR60.OCX
Class=Application; Class\Application.cls
Class=SToolbar; Class\SToolbar.cls
Form=Form\DCTCForm.frm
Form=Form\LookCoursesForm.frm
Class=ComboEx; Class\ComboEx.cls
Form=Form\SelTextForm.frm
Module=ControlEx; Module\ControlEx.bas
Form=Form\SortProductForm.frm
Module=PublicSub; Module\PublicSub.bas
Module=APIModule; Module\APIModule.bas
Module=SelectFiles; Module\SelectFiles.bas
Class=BDCData; Class\BDCData.cls
Module=PublicVar; Module\PublicVar.bas
Form=Form\LookProductForm.frm
Module=GuidBh; Module\GuidBh.bas
Module=SMsfEx; Module\SMsfEx.bas
Form=Form\SmallObjectForm.frm
Class=SpeadEx; Class\SpeadEx.cls
Form=Form\SmallSelectForm.frm
Class=QuickKeySer; Class\QuickKeySer.cls
Form=Form\BMainForm.frm
Form=Form\AddBookingForm.frm
Form=Form\LookBookingForm.frm
Form=Form\TCForm.frm
Form=Form\CoursesForm.frm
Form=Form\SkinTypeForm.frm
Form=Form\BDSkinTypeForm.frm
Form=Form\DCProductForm.frm
ResFile32="..\..\Standard\SToolbar.RES"
Module=TcNumber; Module\TcNumber.bas
Form=Form\ProductForm.frm
Form=Form\XTCForm.frm
Startup="(None)"
HelpFile=""
Title="BDCustomized"
ExeName32="BDCustomized.dll"
Command32=""
Name="BDCustomized"
HelpContextID="0"
Description="Beauty DataCustomized Type Library"
CompatibleMode="2"
CompatibleEXE32="BDCustomized.dll"
VersionCompatible32="1"
MajorVer=1
MinorVer=0
RevisionVer=903
AutoIncrementVer=0
ServerSupportFiles=0
DllBaseAddress=&H8ae0000
VersionComments="Program Design By CDK "
VersionCompanyName="szlcsoft"
VersionFileDescription="Beauty DataCustomized Type Library"
VersionLegalCopyright="CopyRight 1999-2002"
VersionProductName="Beauty DataCustomized Type Library"
CompilationType=0
OptimizationType=0
FavorPentiumPro(tm)=-1
CodeViewDebugInfo=0
NoAliasing=0
BoundsCheck=0
OverflowCheck=0
FlPointCheck=0
FDIVCheck=0
UnroundedFP=0
StartMode=1
Unattended=0
Retained=0
ThreadPerObject=0
MaxNumberOfThreads=1
ThreadingModel=1
DebugStartupOption=0内容可是有些多咯,建议你做好一个模板,工程参数什么的就可以实现多了,至于部件与引用的Dll自己得处理一下,建议你对VB工程文件内容进行仔细的研究一下,呵呵呵