ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:33.11KB ,
资源ID:7931975      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7931975.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(09 InstallShield内部库函数全集九文件和文件夹函数中文版.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

09 InstallShield内部库函数全集九文件和文件夹函数中文版.docx

1、09 InstallShield内部库函数全集九文件和文件夹函数中文版InstallShield内部库函数全集九文件和文件夹函数(中文版)9 文件和文件夹函数 文件和文件夹函数提供一个全面的方法来处理文本文件,二进制文件和文件夹。许多函数使用变量TARGETDIR 和SRCDIR作为路径并只接受文件名作为参数。适当时也接受通配符。ChangeDirectory使指定的目录为当前目录。CloseFile关闭一个打开的文件。CopyFile将一个文件从一个文件夹拷贝到另一个。CreateDir创建一个新文件夹。CreateFile创建一个指定文件名的文件。DeleteDir删除一个文件夹。Dele

2、teFile删除一个文件。ExistsDir确定指定目录是否存在。ExistsDisk确定指定磁盘是否存在。FileCompare将一个文件和另一个比较。FileDeleteLine删除一个文本文件中的一行。FileGrep在一个文本文件中查找指定文本。FileInsertLine在一个文本文件中插入一行。FindAllDirs查找指定文件夹下的所有子文件夹。FindAllFiles查找指定文件夹中的所有和一个文件说明匹配的文件和它的子文件夹。FindFile查找在指定文件夹中和一个文件说明匹配的第一个文件。GetFileInfo检索一个文件的属性,日期,时间和大小。GetLine从一个打开的

3、文件中检索一行文本。OpenFile打开一现存文件。OpenFileMode用OpenFile函数设置文件打开的方式。ReadBytes从一个二进制文件中读取指定的字节数。RenameFile更名一个文件。SeekBytes在一个二进制文件中定位文件指针。SetFileInfo设置一个文件的属性,日期和时间。WriteBytes在一个二进制文件的当前文件指针位置写入指定数目的字节。WriteLine将一个字符串写入一个文本文件。XCopyFile将一个或多个文件从一个源文件夹拷贝到一个目标文件夹,如果指定则包括子文件夹。相关函数SelectDir请参阅4.10。9.1 ChangeDirect

4、ory语法:ChangeDirectory (szPath);说明:ChangeDirectory函数设置当前目录。参数:szPath指定要被设置为当前目录的目录名。该名可以是一个全限定路径名或一个UNC路径;它必须不包括一个尾随反斜杠。如有必要,在调用ChangeDirectory前调用StrRemoveLastSlash。返回值:0:ChangeDirectory成功设置指定目录为当前目录。 0:ChangeDirectory未能设置指定目录为当前目录。注解:注意在你调用ChangeDirectory将一个指定目录设为当前目录后,该目录不能被删除。在你可以删除该目录前,你必须再次调用Cha

5、ngeDirectory来设置一个不同的当前目录。9.2 CloseFile语法:CloseFile (nvFileHandle);说明:CloseFile函数关闭一个已经由调用OpenFile打开的文件。在你关闭一个文件后,你不能从中读或写到该文件。参数:nvFileHandle指定要关闭的文件的句柄。返回值:0:表明该函数成功关闭该文件。 0:表明该函数未能关闭该文件。9.3 CopyFile语法:CopyFile (szSrcFile, szTargetFile);说明:CopyFile函数创建一个由参数szSrcFile指定的文件的拷贝。新文件由参数szTargetFile指定文件名。

6、参数:szSrcFile指定要拷贝的文件的文件名。如果该文件名是限定的,也就是,如果它包括一个路径,CopyFile将从指定位置拷贝该文件。如果szSrcFile包含一个未限定文件名,也就是,没有路径信息,CopyFile将从由系统变量SRCDIR标识的路径拷贝。为拷贝一组文件,在该参数位置使用通配符。szTargetFile指定给由szSrcFile标识的文件的拷贝的名称。如果文件名是限定的,也就是,如果它包含一个路径,CopyFile将把文件拷贝到路径指定的位置。如果szSrcFile包含一个未限定文件名,也就是,没有路径信息,拷贝将被创建在由系统变量TARGETDIR指定的目录中。如果目

7、标目录不存在,它将被创建。 当由szSrcFile指定的文件名中包含一个通配符时,szTargetFile的文件名部分被忽略;每个源文件以它的现存名被拷贝到由szTargetFile指定的路径。如果szTargetFile包含一个未限定文件名,文件将被拷贝到由系统变量TARGETDIR指定的目录中。因此,CopyFile不能被用来拷贝和重命名一组文件。当szSrcFile包含一个或多个通配符时,源目录和目标目录必须不同。返回值:0:表明函数成功地从源目录拷贝文件至目标目录。 0:表明函数因下列情况之一未能拷贝所要文件:COPY_ERR_CREATEDIR (-27):目标目录不能被创建。确保系

8、统变量TARGETDIR中的路径语法正确并且你有权访问目标驱动器。COPY_ERR_MEMORY (-6):函数未能分配完成拷贝文件进程所需的内存。尽可能多地终止正在运行的应用程序以释放内存。COPY_ERR_NODISKSPACE (-38):函数未能在目标驱动器上找到足够的磁盘空间来拷贝文件。在目标驱动器上释放磁盘空间。COPY_ERR_OPENINPUT (-2):函数未能打开系统变量SRCDIR指定的输入文件。确保源文件有一个有效的文件名并且源文件和目标目录都存在。COPY_ERR_OPENOUTPUT (-3):函数未能拷贝所要文件。COPY_ERR_TARGETREADONLY (

9、-46):TARGETDIR中的文件是只读文件。删除目标文件的只读属性并重试。所有其它负值:表明发生一些其它不确定错误。注解:如果你使用未限定文件名并在使用CopyFile时设置SRCDIR和 TARGETDIR的值,在调用CopyFile前用VarSave保存当前值并然后用VarRestore重新设置。如果目标目录不存在,CopyFile创建它。你不能通过调用CopyFile时使用通配符来重命名一组文件。然而,单独一个文件时你可以使用CopyFile来做到。为包括子目录,调用XcopyFile函数。对于文件传输,XCopyFile 是CopyFile的一个完美替换。XCopyFile可以做版

10、本检测,标记锁定的.dll和.exe文件待系统重启后更新,并且递增共享的.dll和.exe文件的注册表访问计数器。因为Windows 95及更高版本不允许一个空文件被拷贝,Windows NT不允许创建空文件,CopyFile在这些平台下当被用来拷贝空文件(Size=0KB)时将不工作。 在用WriteProfString 或 WriteProfInt修改.ini文件后, Windows 95及更高版本下,你必须在使用CopyFile前刷新高速缓存。所有.ini文件在Windows 95及更高版本下被放在高速缓存中;这种特性可能导致延迟将修改写到指定文件。这接着可能妨碍随后的文件操作。为避免这

11、个问题,简单地以空参数调用WriteProfString来强制Windows 95 及更高版本立即写数据到.ini文件,如下所示: WriteProfString (C:Test.ini, Windows, KeyboardDelay, 100); file:/null string () for all four parameters WriteProfString (, , , ); file:/CopyFile should now have access to updated file. CopyFile (C:Test.ini, C:TempTest.ini);9.4 CreateD

12、ir语法:CreateDir (szDirPath);说明:CreateDir函数在目标驱动器上创建一个或多个子目录。你可以使用一个包含多层子目录的路径,如C:ProgramsWinappsMyapp。任何路径中不存在的子目录,CreatDir将创建它。例如,如果C:ProgramsWinapps 和 C:ProgramsWinappsMyapp都不存在,这些子目录将都被CreatDir创建。参数:szDirPath指定要创建的子目录的全限定路径。将路径中的每层用一个反斜杠分隔(通过使用反斜杠转义符()。返回值:0:表明函数在目标驱动器上成功创建指定目录或指定目录已经存在。 0:表明指定目录不

13、存在并且函数未能创建指定它。注解:下列情况下CreatDir将失败:路径非法;驱动器或路径上的任何子目录是写保护的;驱动器名无效;你没有网络特权来创建子目录。9.5 CreateFile语法:CreateFile (nvFileHandle, szPath, szFileName);说明:CreateFile函数创建一个新文件。如果相同名的文件已经存在,CreateFile改写它。在你用CreateFile创建一个文件前,你必须用OpenFileMode设置文件方式。 CreateFile将新创建的文件打开为读/写(二进制文件)或添加(文本文件)方式,因此你可以使用其它函数,如GetLine,

14、 ReadBytes, WriteLine和 WriteBytes.来从文件中读或写到文件中。 除了读/写或添加方式,所有新创建文件自动打开为OF_SHARE_DENY_NONE方式。这意谓着文件被打开为不拒绝其它程序对它的读或写。这种方式的根段记录在Windows OpenFile API中。当你结束从一个文件读或对它写时,你必须使用CloseFile函数来关闭该文件。参数:nvFileHandle返回新文件的句柄。szPath指定新文件创建所在的子目录的全限定路径。szFileName指定创建的文件的文件名。返回值:0:表明函数成功创建新文件。 0:表明函数未能创建新文件。注解:Creat

15、eFile创建一个新文件并把它打开以便你可以从新文件中读或写到新文件中。为写到一个现存文件中,你必须首先用OpenFileMode 和OpenFile函数以FILE_MODE_APPEND方式打开文件。当操作日志被激活时,CreateFile的函数操作不存入到卸载记录中。如果你想要一个由CreatFile创建的文件被存入到卸载记录中,则当存入功能被激活时,使用XcopyFile传输一个启动程序文件(以你要的文件名)到目标系统。你用Enable 和Disable函数激活和禁用存入功能。当存入功能被激活时,XcopyFile操作被存入,启动程序文件被存入后,你可以使用CreatFile和其它文件相

16、关函数来写或改写被存入的启动程序文件。文件名必须保持不变否则它不会在卸载记录中找到。9.6 DeleteDir语法:DeleteDir(szDir, nFlag);说明:DeleteDir函数删除一个子目录。根据你在参数nFlag使用的值,你可以仅当子目录为空时删除它,即使子目录包含文件也删除它,或删除整个根目录。设置nFlag需特别谨慎。参数:szDir指定要被删除的目录的全限定名。nFlag指定删除选项。在该参数位置传递下列预定义常量之一:ALLCONTENTS:删除szDir指定的目录,包括其下的所有子目录和文件。你删除的目录必须是一个子目录,不能是驱动器上的一个根目录。ONLYDIR:

17、仅当szDir指定的目录为空时才删除它。否则函数失败。ROOT:即使szDir指定的目录是根目录也要删除它。如果szDir是一个根目录,DeleteDir将删除磁盘上一切东西。返回值:0:表明函数成功删除子目录。 0:表明函数未能删除子目录。注解:你不能删除当前目录。你不能删除一个网络系统上你没有适当权利的文件。DeleteDir不能删除只读,隐藏或系统文件。如果DeleteDir遇到一个只读文件,该函数可能在只删除子目录中一些文件后失败。9.7 DeleteFile语法:DeleteFile (szFile);说明:DeleteFile函数删除一个或多个文件。注意DeleteFile不能删除

18、只读,隐藏或系统文件。如果你试图删除一个网络系统上你没有适当文件权利的文件时,该函数不起作用。参数:szFile指定要删除文件的名称。如果szFile指定一个全限定名,也就是,包括一个路径,DeleteFile将从指定目录删除该文件。如果szFile包含一个未限定文件名,也就是,没有路径信息,DeleteFile将从由系统变量TARGETDIR指定的目录中删除文件。可以在szFile中包含通配符来删除多个文件。返回值:0:表明函数成功删除指定文件。 0:表明函数未能删除指定文件。注解:你在使用FindFile时可以使用通配符来定位文件然后用DeleteFile删除它们。9.8 ExistsDi

19、r语法:ExistsDir (szPath);说明:ExistsDir函数在目标系统上检测指定目录的存在性。参数:szPath指定要在目标系统上找到的目录的全限定路径。返回值:EXISTS (0):表明指定目录存在于目标系统上。NOTEXISTS (-1):表明指定目录不存在于目标系统上。9.9 ExistsDisk语法:ExistsDisk (szDisk);说明:ExistsDisk函数在目标系统上检测指定磁盘驱动器的存在性。参数:szDisk指定磁盘驱动器字符。返回值:EXISTS (0):表明目标系统上存在指定驱动器。NOTEXISTS (-1):表明目标系统上不存在指定驱动器。9.1

20、0 FileCompare语法:FileCompare (szFileName1, szFileName2, nCompareFlag);说明:FileCompare函数比较两个文件的大小,日期或版本。参数:szFileName1指定要比较的第一个文件的全限定名。szFileName2指定要比较的第二个文件的全限定名。nCompareFlag指定比较选项。在该参数位置传递下列预定义常量之一:COMPARE_SIZE:比较两个文件的大小。COMPARE_DATE:比较两个文件的日期。COMPARE_VERSION:比较两个文件的版本资源。返回值:EQUALS (2):第一个文件的日期,大小或版本

21、和第二个的相等。FILE_NOT_FOUND (-2):函数未能找到一个文件或都未能找到。GREATER_THAN (0):第一个文件比第二个文件更新或更大,根据在参数nCompareFlag使用的常量:COMPARE_VERSION文件一比文件二新。COMPARE_DATE文件一比文件二日期后。COMPARE_SIZE 文件一比文件二大。LESS_THAN (1)文件一比文件二旧或小。OTHER_FAILURE (-1)发生不确定错误。9.11 FileDeleteLine语法:FileDeleteLine (szFileName, nStartLineNum, nEndLineNum);说

22、明:FileDeleteLine函数从一个文本文件中使用一个起始行和结束行行号来删除该区域的行(包括起始行和结束行)。该函数作用于面向行的文本文件;它不作用于二进制文件。你可以使用FileDeleteLine 和FileGrep函数来查找和删除一个文件中的文本行。 由szFileName指定的文件必须尚未通过调用OpenFile被打开。如果szFileName已经被打开,在调用FileDeleteLine前调用CloseFile。参数:szFileName指定文件的全限定名,它位于系统变量SRCDIR指定的目录中。如果该文件存在,由nStartLineNum 和nEndLineNum指定的行将

23、从该文件中删除。nStartLineNum指定要从文件中删除的第一行的行号。注意行从0开始编号。nEndLineNum指定要从文件中删除的最后一行的行号。注意行从0开始编号。为了从nStartLineNum指定的行开始删除到文件结尾,给该参数传递预定义常量DELETE_EOF。返回值:0:FileDeleteLine从该文件成功删除指定行。 0:FileDeleteLine因为下列情况之一而失败:FILE_NOT_FOUND (-2):InstallShield未能找到szFileName指定的文件。FILE_RD_ONLY (-5):文件是写保护的。LINE_NUMBER (-7):一个你所

24、指定的行号小于0,或者文件中没有该行号。OUT_OF_DISK_SPACE (-6):没有足够的磁盘驱动器空间来完成指定操作。OTHER_FAILURE (-1):发生其它一些不确定错误。9.12 FileGrep语法:FileGrep (szFileName, szSearchStr, svReturnLine, nvLineNumber, nFlag);说明:FileGrep函数在一个文本文件中查找一个指定字符串。如果字符串被找到,包含该字符串的行被返回到参数svReturnLine,该行的行号被返回到参数nvLineNumber。查找不区分大小写。FileGrep作用于面向行的文本文件;

25、它不作用于二进制文件。 在用FileGrep查找一个文件之前没有必要打开它;你也无须在调用FileGrep之后关闭它。文件打开和文件关闭由FileGrep自动执行。虽然多数情况下,FileGrep对一个已经被打开的文件(先前调用OpenFile的结果)将成功执行,但如果文件是以添加方式打开时,FileGrep将返回FILE_NOT_FOUND。参数:szFileName指定要查找的文件的全限定名。szSearchStr指定查找字符串。svReturnLine返回szSearchStr被找到的行。nvLineNumber返回szSearchStr被找到的行的行号。行以0开始编号。nFlag指定查

26、找选项。在该参数位置传递下列预定义常量之一:CONTINUE:检索查找字符串的下一个出现(如果有)。RESTART:检索查找字符串的第一次出现。返回值:0:FileGrep找到指定字符串。 0:FileGrep因下列情况之一而失败:END_OF_FILE (-4):没有找到查找字符串而已到文件尾。FILE_NOT_FOUND (-2):InstallShield未能找到szFileName指定的文件。FILE_LINE_LENGTH (-3):行超过允许的最大长度。OTHER_FAILURE (-1):发生一个不确定错误。9.13 FileInsertLine语法:FileInsertLine

27、 (szFileName, szInsertLine, nLineNumber, nInsertFlag);说明:FileInsertLine函数通过指定行号来插入或置换一行。你可以将FileInsertLine 和 FileGrep一起使用,FileGrep找到行并返回它们的行号。FileInsertLine工作于面向行的且每行不超过1,024字节的文本文件。InstallShield假定任何长于最大允许长度的行表明了这是一个二进制文件而导致FileInsertLine失败。由szFileName指定的文件必须尚未通过调用OpenFile被打开。如果szFileName已经被打开,在调用Fi

28、leInsertLine前调用CloseFile。参数:szFileName指定文件的全限定名,它位于系统变量SRCDIR指定的目录中。如果该文件存在,则将szInsertLine的值插入其中。szInsertLine指定插入到文件中的字符串。nLineNumber指定你要将szInsertLine插入到的行号。第一行行号是0。nInsertFlag指定一个插入位置选项。在该参数位置传递下列预定义常量之一:BEFORE:在nLineNumber前插入。AFTER:在nLineNumber后插入。APPEND;将szInsertLine添加到nLineNumber指定的行。REPLACE:用sz

29、InsertLine 置换nLineNumber指定的行。返回值:0:FileInsertLine成功插入行到指定文件。FILE_LINE_LENGTH (-3):表明行长超过文本文件允许的最大长度。FILE_NOT_FOUND (-2):FileInsertLine未能找到szFileName指定的文件。FILE_RD_ONLY (-5):表明文件写保护。LINE_NUMBER (-7):表明你指定的行号之一小于0,或在文件中不存在该行号。OUT_OF_DISK_SPACE (-6):表明没有足够的磁盘驱动器空间来完成指定操作。OTHER_FAILURE (-1):发生一个不确定错误。9.1

30、4 FindAllDirs语法:FindAllDirs (szDir, nOp, listDirs);说明:FindAllDirs查找整个磁盘或目录的结构并返回一个子目录名的字符串列表。如果nOp 是INCLUDE_SUBDIR,查找从szDir指定的目录开始并继续查找子目录结构。参数:szDir指定查找的目录名。nOp指定是否要查找szDir下的所有子目录。在该参数位置传递下列预定义常量之一:EXCLUDE_SUBDIR:不包括子目录。INCLUDE_SUBDIR:包括子目录。listDirs返回全限定目录名列表。listDirs标识的字符串列表必须已经通过调用ListCreat被初始化。返回值:0:FindAllDirs成功生成子目录名列表。 0:FindAllDirs未能生成一个列表。注解:FindAllDirs从指定目录开始查找一个分层子目录结构。如果指定目录是一个根目录并且nOp 包含INCLUDE_SUBDIR,则返回整个磁盘上的所有目录名。你可以使用FindAllDirs来找到一个特定目录的子目录,或你可以使用它来找到一个磁盘上的所有目录。9.15 FindAllFiles语法:FindAllFiles (szDir, szFileName, svResult, nOp);说明:F

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1