bldrweb.prg

来自「MSComm控件资料,Visual Basic 6.0(以下简称VB) 是一种功」· PRG 代码 · 共 107 行

PRG
107
字号
* BldrWeb.prg

#INCLUDE "BuilderB.h"



GenComponentList()
RETURN



FUNCTION GenComponentList
LOCAL lcHTML,lcTablePath,lcFileName,lcClass,lcBaseClass,lcParentClass
LOCAL lcName,lcBuilderHTML,lcBuilderAutoHTML,lcBaseHTML

lcHTML=""
IF NOT oTHIS.oHost.oBuilder.lSource
	lcHTML=lcHTML+[<B><FONT SIZE=4>Object not selected.</B></FONT><P>]+CR_LF
	oTHIS.uReturn=lcHTML
	oTHIS.oHost.oBuilder.lSource=.F.
	RETURN
ENDIF
IF NOT USED("BuilderB")
	lcHTML=lcHTML+[<B><FONT SIZE=4>Component Library not found.</B></FONT><P>]+CR_LF
	oTHIS.uReturn=lcHTML
	oTHIS.oHost.oBuilder.lSource=.F.
	RETURN
ENDIF
SELECT BuilderB
lcTablePath=LOWER(oTHIS.TrimFile(DBF()))
lcFileName=SYS(1271,oTHIS.oSource)
lcClass=LOWER(oTHIS.oSource.Class)
lcParentClass=LOWER(oTHIS.oSource.ParentClass)
lcBaseClass=LOWER(oTHIS.oSource.BaseClass)
lcName=oTHIS.oSource.Name
lcBuilderHTML=""
lcBuilderAutoHTML=""
lcBaseHTML=""
LOCATE FOR LOWER(ALLTRIM(MLINE(ClassName,1)))==lcBaseClass AND EMPTY(ClassLib)
IF NOT EOF()
	lcBaseHTML=ALLTRIM(Text)
ENDIF
LOCATE FOR LOWER(FULLPATH(ALLTRIM(MLINE(ClassLib,1)),lcTablePath))==lcFileName AND ;
		LOWER(ALLTRIM(MLINE(ClassName,1)))==lcClass
IF NOT EOF()
	lcBuilderHTML=ALLTRIM(Text)
ENDIF
IF NOT PEMSTATUS(oTHIS.oSource,"Name",1)
	lcHTML=lcHTML+[{{@INPUT SIZE=32,Name:,oTHIS.oSource.Name}}<BR>]+CR_LF
ENDIF
lcHTML=lcHTML+[Class: ]+oTHIS.oSource.Class+[ (]+lcFileName+[)<BR>]+CR_LF
IF NOT EMPTY(lcParentClass) AND NOT lcParentClass==lcBaseClass
	lcHTML=lcHTML+[ParentClass: ]+lcParentClass+ ;
			[ (]+LOWER(oTHIS.oSource.ClassLibrary)+[)<BR>]+CR_LF
ENDIF
lcHTML=lcHTML+[BaseClass: ]+oTHIS.oSource.BaseClass+[<BR>]+CR_LF
IF NOT EMPTY(lcBuilderHTML)
	lcHTML=lcHTML+[<HR>]+lcBuilderHTML+CR_LF
ENDIF
lcBuilderAutoHTML=GetAutoHTML()
IF NOT EMPTY(lcBuilderAutoHTML)
	lcHTML=lcHTML+[<HR>]+lcBuilderAutoHTML+CR_LF
ENDIF
IF NOT EMPTY(lcBaseHTML)
	lcHTML=lcHTML+[<HR>]+lcBaseHTML+CR_LF
ENDIF
oTHIS.uReturn=lcHTML
SELECT 0
ENDFUNC



FUNCTION GetAutoHTML
LOCAL lcHTML,lcLabel,lcProperty,lnWidth,lcProperty,lnMemLine,lcMemLine,lnLastMLine,lnAtPos

lcHTML=""
lnLastMLine=_mline
_mline=0
FOR lnMemLine = 1 TO MEMLINES(Links)
	lcMemLine=ALLTRIM(MLINE(Links,1,_mline))
	IF EMPTY(lcMemLine)
		LOOP)
	ENDIF
	lcObjName=LOWER(SYS(2015))
	lcLabel=ALLTRIM(lcMemLine)
	lcProperty=""
	lnWidth=0
	lnAtPos=AT(",",lcLabel)
	IF lnAtPos>0
		lcProperty=ALLTRIM(SUBSTR(lcLabel,lnAtPos+1))
		lcLabel=ALLTRIM(LEFT(lcLabel,lnAtPos-1))
	ENDIF
	IF EMPTY(lcProperty)
		LOOP
	ENDIF
	lnAtPos=AT(",",lcProperty)
	IF lnAtPos>0
		lnWIdth=VAL(SUBSTR(lcProperty,lnAtPos+1))
		lcProperty=ALLTRIM(LEFT(lcProperty,lnAtPos-1))
	ENDIF
	lcHTML=lcHTML+[{{@INPUT ]+IIF(lnWidth#0,[SIZE=]+ALLTRIM(STR(lnWidth))+[ ,],[,])+lcLabel+[,]+ ;
			[oTHIS.oSource.]+lcProperty+[}}<BR>]+CR_LF
ENDFOR
_mline=lnLastMLine
RETURN lcHTML
ENDFUNC

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?