* ---------------------------------------------------------
* 测试代码
* ---------------------------------------------------------
CLEAR
SET TALK OFF
SET SAFETY OFF
IF !USED([TBac023])
USE C:\Temp\Abc.DBF IN 0 ALIAS TAbc
ENDIF
SELECT TAbc
SCAN
lcFileName = JUSTFNAME(ALLTRIM(文件名称))
? lcFileName, GenToFile( [文件内容], [C:\Temp\Files\]+lcFileName )
ENDSCAN
USE IN TAbc
RETURN
* ---------------------------------------------------------
* 函数: 将当前表的当前记录的某通用型(G)字段里的文件还原
* 参数: tcGenField 通用型字段名
* tcFileName 还原的文件名
* 设计: 红雨、梦幻幻影
* ---------------------------------------------------------
FUNCTION GenToFile( tcGenField, tcFileName )
LOCAL IsOK, lcAlias, lnRecn
IsOK = .F.
lcAlias = ALIAS()
IF !EMPTY(lcAlias) ;
AND TYPE([tcGenField])=[C] AND TYPE([tcFileName])=[C] ;
AND !EMPTY(tcGenField) AND !EMPTY(tcFileName) ;
AND TYPE(tcGenField)=[G] AND TRANSFORM(&tcGenField.)=[Gen]
lnRecn = RECNO()
lcTemp = ADDBS(SYS(2023)) + [T]+SYS(2015)
COPY TO (lcTemp) FIELDS (tcGenField) FOR RECNO()=lnRecn
IF FILE(lcTemp+[.dbf]) AND FILE(lcTemp+[.fpt])
DELETE FILE (lcTemp+[.dbf])
IF FILE(tcFileName)
DELETE FILE (tcFileName)
ENDIF
RENAME (lcTemp+[.fpt]) TO (tcFileName)
IsOK = FILE(tcFileName)
ENDIF
SELECT (lcAlias)
GO lnRecn
ENDIF
RETURN IsOK
ENDFUNC
最后编辑:2023年03月24日
©著作权归作者所有
最新回复