txt文件,快速选择从某个位置到文件头部或尾部

txt文件快速选择

  • 当txt文件内容过多时, 选择部分内容就不方便

从光标位置选择到文件头部

	1. 光标选中文档的某个位置
	2. ctrl + shift + Home

从光标位置选择到文件尾部

	1. 光标选中文档的某个位置
	2. ctrl + shift + End
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PrintDefineFont() 功能定义打印作业使用的字体,对每个打印作业PowerBuilder支持八种字体。 语法PrintDefineFont(printjobnumber,fontnumber,facename,height,weight,fontpitch,fontfamily, italic,underline) 参数printjobnumber:用PrintOpen()函数打开的打印作业号fontnumber:指定赋给当前定义字体的编号,有效值在1到8之间 facename:string类型,指定字体名称,该字体应该是你的打印机支持的字体,比如“宋体”height:Integer类型,使用正值指定字体的高度,以千分之一英寸为单位;使用负值指定字体点数,比如,-18代表18点。一般来说,使用点数更精确些weight:指定字体的磅数,正常字体为400磅,粗体为700磅fontpitch:FontPitch枚举类型,指定字体标准。有效取值为:Default! - 缺省值;Fixed! - 固定形式;Variable! - 可变形式fontfamily:FontFamily枚举类型,指定字体系列。有效取值为:AnyFont!、Decorative!、Modern!、Roman!、Script!、Swiss!italic:boolean类型,指定是否使用斜体样式。有效取值为:TRUE - 使用斜体样式;FALSE - 不使用斜体样式。缺省值为FALSEunderline:boolean类型,指定是否加下划线。有效取值为:TRUE - 加下划线;FALSE - 不加下划线。缺省值为FALSE返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintDefineFont()函数返回NULL。用法在一个打印作业中,应用程序能够最多同时定义8种字体。当应用程序需要使用更多的字体时,可以在使用了某个字体号输出内容后使用PrintDefineFont()函数将该字体号对应的字体更换为其它字体。 -------------------------------------------------------------------------------- PrintLine() 功能在当前打印页上绘出指定厚度的一条线。 语法PrintLine ( printjobnumber, x1, y1, x2, y2, thickness ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x1:integer类型,指定直线起点的x坐标,以千分之一英寸为单位y1:integer类型,指定直线起点的y坐标,以千分之一英寸为单位x2:integer类型,指定直线终点的x坐标,以千分之一英寸为单位y2:integer类型,指定直线终点的y坐标,以千分之一英寸为单位thickness:integer类型,指定直线的厚度,以千分之一英寸为单位返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintLine()函数返回NULL。用法应用程序执行了PrintLine()函数后,该函数并不改变打印光标的位置。 -------------------------------------------------------------------------------- PrintOpen() 功能启动打印作业并返回作业号。 语法PrintOpen ( { jobname } ) 参数jobname:string类型,可选项,指定要打开打印作业的名称,该名称将显示在打印管理器窗口中返回值Long。函数执行成功时返回打印作业号,发生错误时返回-1。如果任何参数的值为NULL,PrintOpen()函数返回NULL。用法应用程序执行PrintOpen()函数后,启动新的打印作业并走纸到下一页,同时将打印机缺省字体设置为该打印作业的字体。打印光标的位置位于打印区的左上角。其它同组的打印函数使用PrintOpen()函数返回的作业号来标识作业。需要注意的是,使用PrintOpen()函数打开打印作业、使用同组的其它函数完成打印任务后,必须使用PrintClose()关闭打印作业,或根据需要使用PrintCancel()函数取消打印作业。 -------------------------------------------------------------------------------- PrintOval() 功能在指定位置以指定线宽绘制椭圆或圆。 语法PrintOval ( printjobnumber, x, y, width, height, thickness ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x:integer类型,指定椭圆或圆外形框左上角的x坐标,以千分之一英寸为单位y:integer类型,指定椭圆或圆外形框左上角的y坐标,以千分之一英寸为单位width:integer类型,指定椭圆或圆外形框的宽度,以千分之一英寸为单位height:integer类型,指定椭圆或圆外形框的高度,以千分之一英寸为单位thickness:integer类型,指定椭圆或圆外边线的厚度,以千分之一英寸为单位返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintOval()函数返回NULL。用法应用程序执行了PrintOval()函数后,该函数并不改变打印光标的位置。PrintOval()函数绘出的椭圆或圆是实心的,也就是说,执行该函数后,椭圆或圆下面的文字或图像将完全被覆盖。如果想在椭圆或圆中输出文字或图形,那么应用程序应该首先绘制椭圆或圆,然后使用其它函数在椭圆或圆中输出文字或图形。 -------------------------------------------------------------------------------- PrintPage() 功能将当前页发送给打印机或打印池并在当前打印作业中启动一个新的打印页。 语法PrintPage ( printjobnumber ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintPage()函数返回NULL。 -------------------------------------------------------------------------------- PrintRect() 功能在指定位置以指定线宽打印矩形。 语法PrintRect ( printjobnumber, x, y, width, height, thickness ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x:integer类型,指定矩形左上角的x坐标,以千分之一英寸为单位y:integer类型,指定矩形左上角的y坐标,以千分之一英寸为单位width:integer类型,指定矩形的宽度,以千分之一英寸为单位height:integer类型,指定矩形的高度,以千分之一英寸为单位thickness:integer类型,指定矩形边线的厚度,以千分之一英寸为单位返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintRect()函数返回NULL。用法应用程序执行了PrintRect()函数后,该函数并不改变打印光标的位置。PrintRect()函数绘出实心的矩形,也就是说,执行该函数后,矩形下面的文字或图像将完全被覆盖。如果想在矩形中输出文字或图形,那么应用程序应该首先绘制矩形,然后使用其它函数在矩形中输出文字或图形。 -------------------------------------------------------------------------------- PrintRoundRect() 功能在指定位置以指定线宽打印圆角矩形。 语法PrintRoundRect(printjobnumber,x,y,width,height,xradius,yradius,thickness) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x:integer类型,指定圆角矩形左上角的x坐标,以千分之一英寸为单位y:integer类型,指定圆角矩形左上角的y坐标,以千分之一英寸为单位width:integer类型,指定圆角矩形的宽度,以千分之一英寸为单位height:integer类型,指定圆角矩形的高度,以千分之一英寸为单位xradius:integer类型,指定圆角矩形圆角部分的x半径,以千分之一英寸为单位yradius:integer类型,指定圆角矩形圆角部分的y半径,以千分之一英寸为单位thickness:integer类型,指定圆角矩形边线的厚度,以千分之一英寸为单位返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintRoundRect()函数返回NULL。用法应用程序执行了PrintRoundRect()函数后,该函数并不改变打印光标的位置。PrintRoundRect()函数绘出实心的圆角矩形,也就是说,执行该函数后,圆角矩形下面的文字或图像将完全被覆盖。如果想在圆角矩形中输出文字或图形,那么应用程序应该首先绘制圆角矩形,然后使用其它函数在圆角矩形中输出文字或图形。 -------------------------------------------------------------------------------- PrintScreen() 功能在打印作业中打印屏幕图像。 语法PrintScreen ( printjobnumber, x, y {, width, height } ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x:integer类型,指定要打印屏幕图像左上角在打印页上的x坐标,以千分之一英寸为单位y:integer类型,指定要打印屏幕图像左上角在打印页上的y坐标,以千分之一英寸为单位width:integer类型,可选项,指定屏幕图像的打印宽度,以千分之一英寸为单位。如果省略了该参数,那么PowerBuilder按屏幕的原始宽度打印屏幕图像。如果指定了该参数,必须同时指定height参数height:integer类型,可选项,指定屏幕图像的打印高度,以千分之一英寸为单位。如果省略了该参数,那么PowerBuilder按屏幕的原始高度打印屏幕图像返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintScreen()函数返回NULL。 -------------------------------------------------------------------------------- PrintSend() 功能直接向打印机发送任意字符串,通常用于发送打印机的控制代码。 语法PrintSend ( printjobnumber, string {, zerochar } ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号string:string类型,指定发送到打印机的字符串。在该字符串中,使用非打印字符的ASCII码值表示非打印字符zerochar:integer类型,可选项,指定在string参数中用于表示数值0的ASCII码值。有效取值在1到255之间返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintSend()函数返回NULL。用法应用程序使用PrintSend()函数可以直接向打印机发送控制序列(换码序列),比如,设置打印文字的浓淡、打印页的四周空白等。不同类型的打印机使用不同的控制序列,你需要翻一翻你的打印机手册。由于PowerBuilder使用数值0(即ASCII码为0的字符)结束每个字符串,因此,如果打印控制序列中包含了数值0,应用程序需要使用其它字符在参数string中替代数值0,并用zerochar参数指明这个替代字符。一般来说,应该选择一个打印机控制序列中不使用的字符作为0值字符的替代字符。通常情况下,按下述次序组织打印作业:1. 使用PrintOpen()函数打开打印作业2. 使用PrintSend()函数设置打印机特性,比如打印方向、四周空白等3. 使用PrintDefineFont()和PrintSetFont()函数设置该打印作业使用的字体4. 使用该组的其它函数打印输出文字或图形5. 执行PrintClose()函数关闭打印作业 -------------------------------------------------------------------------------- PrintSetFont() 功能设置当前打印作业使用的字体。 语法PrintSetFont ( printjobnumber, fontnumber ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号fontnumber:指定该打印作业使用字体的字体编号,该编号与PrintDefineFont()函数中定义的编号应该对应,字体编号的有效取值在1到8之间,0表示使用打印机的缺省字体返回值Integer。函数执行成功时返回当前字体的高度,发生错误时返回-1。如果任何参数的值为NULL,PrintSetFont()函数返回NULL。 -------------------------------------------------------------------------------- PrintSetSpacing() 功能设置行间距因子,打印函数将使用该因子来决定行间距。 语法PrintSetSpacing ( printjobnumber, spacingfactor ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号spacingfactor:指定行间距因子,用字符高度的倍数表示,缺省值为1.2返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintSetSpacing()函数返回NULL。用法在PowerBuilder应用程序中,行间距与字符的高度成正比,缺省值为字符高度的1.2倍。当Print组函数生成新行时,系统自动把打印光标的x坐标位置设置为0,y坐标位置在原有基础上增加当前行距值。使用PrintSetSpacing()函数可以改变当前打印作业的行距。 -------------------------------------------------------------------------------- PrintSetup() 功能打开打印机设置对话框。 语法PrintSetup ( ) 返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintSetup()函数返回NULL。用法当系统中安装了多种打印机时,在Windows 95中PrintSetup()函数打开如图2-1所示的对话框,单击“Setup”按钮设置打印机各种特性。如果系统中只有一个打印机,则直接打开该打印机的打印设置对话框。需要注意的是,在Windows95和Windows NT 3.51以后的版本中,使用PrintSetup()函数设置的打印机设置只对当前应用起作用,并不影响其它应用的打印机设置。对Windows 3.1来说,使用PrintSetup()函数设置的打印机设置影响系统中的所有应用。 -------------------------------------------------------------------------------- PrintText() 功能在指定位置打印一行文本。 语法PrintText ( printjobnumber, string, x, y {, fontnumber } ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号string:string类型,指定要打印的文本x:integer类型,指定文本开始打印位置的x坐标,以千分之一英寸为单位y:integer类型,指定文本开始打印位置的y坐标,以千分之一英寸为单位fontnumber:可选参数,指定打印文本使用的字体号,该编号由PrintDefineFont()函数确定。省略该参数时,以打印作业的当前字体打印文本返回值Integer。函数执行成功时返回文本打印后打印光标的x位置,即参数x的值加上打印文本的宽度。发生错误时返回-1。如果任何参数的值为NULL,PrintText()函数返回NULL。 -------------------------------------------------------------------------------- PrintWidth() 功能确定一个字符串在指定打印作业中按当前字体所占的宽度,以千分之一英寸为单位。 语法PrintWidth ( printjobnumber, string ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号string:string类型,指定要决定其打印宽度的字符串返回值Integer。函数执行成功时返回按当前字体计算的字符串打印宽度,以千分之一英寸为单位,发生错误时返回-1。如果任何参数的值为NULL,PrintWidth()函数返回NULL。 -------------------------------------------------------------------------------- PrintX() 功能返回打印光标的x坐标位置。 语法PrintX ( printjobnumber ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号返回值Integer。函数执行成功时返回打印光标的x坐标位置,以千分之一英寸为单位,发生错误时返回-1。如果任何参数的值为NULL,PrintX()函数返回NULL。 -------------------------------------------------------------------------------- PrintY() 功能返回打印光标的y坐标位置。 语法PrintY ( printjobnumber ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号返回值Integer。函数执行成功时返回打印光标的y坐标位置,以千分之一英寸为单位,发生错误时返回-1。如果任何参数的值为NULL,PrintY()函数返回NULL。  LibraryCreate() 功能创建一个空的PowerBuilder应用库,并可根据需要在创建应用库的同时添加库注解。 语法LibraryCreate ( libraryname{, comments } ) 参数libraryname:string类型,指定要创建应用库的名称,可以带上路径,不带路径时在当前目录下创建应用库comments:string类型,可选项,指定要创建的应用库的注解返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,LibraryCreate()函数返回NULL。用法LibraryCreate()函数在指定路径下创建一个空的PowerBuilder应用库(PBL)。如果在指定应用库名称时没有指定文件的扩展名,那么该函数自动加上扩展名.PBL。 -------------------------------------------------------------------------------- LibraryDelete() 功能删除应用库库文件或应用库中的数据窗口对象。 语法LibraryDelete ( libraryname{, objectname, objecttype } ) 参数libraryname:string类型,指定库名,可以带上路径,不带路径时在系统搜索路径下查找应用库objectname:string类型,可选项,指定要从库中删除的数据窗口对象的名称objecttype:LibImportType类型,可选项,指定要删除对象的类型,目前仅支持ImportDataWindow!返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,LibraryDelete()函数返回NULL。 用法执行LibraryDelete()函数时,如果未指定后两个参数,那么该函数删除指定的应用库;如果指定了后两个参数,那么该函数删除指定应用库中指定的数据窗口对象。LibraryDelete()函数只能删除应用库中的数据窗口对象,如果想删除其它对象,那么只能在PowerBuilder开发环境中使用库管理画笔(Library Painter)来实现了。 -------------------------------------------------------------------------------- LibraryDirectory() 功能 得到应用库中指定对象的信息列表,内容包括对象名称、最近修改日期和时间、以及对象的注释。 语法LibraryDirectory ( libraryname, objecttype ) 参数libraryname:string类型,指定PowerBuilder应用库的名称,如果名称中未指定路径,那么该函数根据操作系统标准的文件搜索路径查找指定文件objecttype:LibDirType枚举类型,指定希望函数列出的对象类型,有效取值请参看用法。返回值String。函数执行成功时返回一个字符串,每个对象占用一行,行中各信息之间使用Tab字符(~t)分隔。行中信息格式为:对象名~t修改日期/时间~t注释~n发生错误时函数返回空字符串("")。如果任何参数的值为NULL,LibraryDirectory()函数返回NULL。 用法LibraryDirectory()函数的objecttype参数是个LibDirType枚举类型的量,其有效取值为:DirAll!得到所有对象的信息DirApplication!得到应用对象的信息DirDataWindow!得到所有数据窗口对象的信息DirFunction!得到所有函数对象的信息DirMenu!得到所有菜单对象的信息DirPipeline!得到所有数据管道对象的信息DirProject!得到工程对象的信息DirQuery!得到所有查询对象的信息DirStructure!得到所有结构对象的信息DirUserObject!得到所有用户对象的信息DirWindow!得到所有窗口对象的信息使用LibraryDirectory()函数得到指定对象的名称、修改日期/时间以及可能的注释后,应用程序既可以使用Pos()函数进行定位和字符串分割,也可以使用数据窗口的ImportString()函数将结果显示在数据窗口中。 -------------------------------------------------------------------------------- LibraryExport() 功能从指定应用库中以对象的语法定义格式卸出对象。 语法LibraryExport ( libraryname, objectname, objecttype ) 参数libraryname:string类型,指定要移出对象的应用库的名称,如果名称中未指定路径,那么该函数根据操作系统标准的文件搜索路径查找指定文件objectname:string类型,指定要移出对象的名称objecttype :LibExportType枚举类型,指定要移出对象的类型,具体取值请参看用法返回值String。函数执行成功时返回指定对象的语法,该语法与使用库管理画笔(Library Painter)移出对象时的语法相同,区别在于LibraryExport()函数省略了移出语法的头部。如果发生错误,则函数返回空字符串("")。如果任何参数的值为NULL,LibraryExport()函数返回NULL。 用法LibraryExport()的objecttype参数的可能取值为: ExportApplication!应用对象ExportDataWindow!数据窗口对象ExportFunction!函数对象ExportMenu!菜单对象ExportPipeline!数据管道对象ExportProject!工程对象ExportQuery!查询对象ExportStructure!结构对象ExportUserObject!用户对象ExportWindow!窗口对象 -------------------------------------------------------------------------------- LibraryImport() 功能将以语法格式表示的数据窗口对象装入指定的应用库中。 语法LibraryImport(libraryname,objectname,objecttype,syntax,errors{,comments } ) 参数libraryname:string类型,指定要移入对象的应用库的名称,如果名称中未指定路径,那么该函数根据操作系统标准的文件搜索路径查找指定文件objectname:string类型,指定要移入的数据窗口对象的名称 objecttype:LibImportType枚举类型,指定要移入对象的类型,目前该函数只支持ImportDataWindow!,表示只能向应用库中移入数据窗口对象syntax:string类型,指定要移入数据窗口对象的语法errors:string类型变量,用于在发生错误时保存出错信息comments:string类型,可选项,用于指定移入对象的注解返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,LibraryImport()函数返回NULL。 用法当应用程序在运行过程中动态创建数据窗口对象后,可以使用LibraryImport()函数把动态数据窗口对象的定义保存到应用库中,以后就可以直接使用该对象了。 FileClose() 功能关闭先前用FileOpen()函数打开的文件。 语法FileClose ( fileno ) 参数fileno:integer,指定要关闭文件文件句柄,该句柄使用FileOpen()函数打开文件时得到返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果fileno参数的值为NULL,那么FileClose()函数返回NULL。 -------------------------------------------------------------------------------- FileDelete() 功能删除指定的文件。 语法FileDelete ( filename ) 参数filename:string类型,指定要删除文件文件名,其中可以包含路径返回值Boolean。函数执行成功时返回TRUE,发生错误时返回FALSE。如果filename参数的值为NULL,那么FileDelete()函数返回NULL。 -------------------------------------------------------------------------------- FileExists() 功能检查指定的文件是否存在。 语法FileExists ( filename ) 参数filename:string类型,指定要检查存在性的文件文件名,其中可以包含路径返回值Boolean。如果指定文件存在时返回TRUE,不存在时返回FALSE。如果filename参数的值为NULL,那么FileExists()函数返回NULL。用法如果filename参数指定的文件被另一个应用加锁锁住,那么FileExists()函数也将返回FALSE。 -------------------------------------------------------------------------------- FileLength() 功能得到指定文件的长度(以字节为单位)。 语法FileLength ( filename ) 参数filename:string类型,指定要得到其长度的文件文件名,其中可以包含路径返回值Long。函数执行成功时返回指定文件的长度(以字节为单位)。如果指定的文件不存在,函数返回-1。如果filename参数的值为NULL,那么FileLength()函数返回NULL。 -------------------------------------------------------------------------------- FileOpen() 功能以指定的读写方式打开指定的文件,同时返回该文件的句柄。 语法FileOpen(filename{,filemode{,fileaccess{,filelock{,writemode,{creator,filetype}}}}}) 参数filename:string类型,指定要打开文件的名称,其中可以包含路径 filemode:FileMode枚举类型,可选项,指定文件打开方式。有效取值为:?LineMode! - 缺省值,行模式;?StreamMode! - 流模式fileaccess:FileAccess枚举类型,可选项,指定文件访问方式。有效取值为:?Read! - 缺省值,只读方式,这样打开的文件只能进行读操作;?Write! - 只写方式,这样打开的文件只能进行写操作?filelock:FileLock枚举类型,可选项,指定文件加锁方式。有效取值为:n LockReadWrite! - 缺省值,只有打开该文件的用户能够访问该文件,其它用 户对该文件的访问均被拒绝;n LockRead! - 只有打开该文件的用户能够读该文件,但其它任何用户均可写该文件;n LockWrite! - 只有打开该文件的用户能够写该文件,但其它任何用户均可读该文件;n Shared! - 所有用户均可读写该文件writemode:WriteMode枚举类型,可选项,当fileaccess参数指定为Write!时,该参数指定在指定文件已经存在时数据的添加方式。有效取值为:?Append! - 缺省值,将数据添加到原文件尾部;?Replace! - 覆盖原有数据creator:可选项,用于Macintosh机,使用四个字符的字符串指定文件的创建者。指定该参数后,必须同时指定filetype参数filetype:可选项,用于Macintosh机,使用四个字符的字符串指定文件类型返回值Integer。函数执行成功时返回打开文件的句柄,随后的文件操作函数利用该句柄完成对文件的操作。发生错误时函数返回-1。如果任何参数的值为NULL,那么FileOpen()函数返回NULL。用法当文件以行模式打开时,每执行一次FileRead()函数读取一行数据;每执行一次FileWrite()函数,该函数自动在写出的字符串末尾增加一个回车(CR)换行(LF)符(这是应用程序在Windows 系统中运行时的情况,在UNIX下只加一个换行字符)。当文件以流模式打开时,执行一次FileRead()函数读取32,765个字节的数据,如果余下数据没有这么多,那么FileRead()函数就读取所有余下的数据;执行一次FileWrite()函数时,最多可写入32,765个字节的数据,并且不添加回车换行字符。当文件以写方式使用FileOpen()函数打开时,如果指定的文件不存在,那么FileOpen()函数创建该文件。 -------------------------------------------------------------------------------- FileRead() 功能从指定文件中读取数据。 语法FileRead ( fileno, variable ) 参数fileno:integer类型,指定文件句柄(由FileOpen()函数得到)variable:string或blob类型的变量,用于保存读取的数据返回值Integer。函数执行成功时返回读取的字符数或字节数;如果在读取任何字符前读到了文件结束符(EOF),则FileRead()函数返回-100;当指定文件以行模式打开时,如果在读取任何字符之前遇到了回车(CR)或换行(LF)字符,则FileRead()函数返回0。如果发生其它错误,FileRead()函数返回-1。如果任何参数的值为NULL,那么FileRead()函数返回NULL。用法当指定文件以行模式(Line Mode)打开时,FileRead()函数一次读取一行数据,并把它保存到参数variable中,然后跳过行结束符(回车换行符,操作系统不同,使用的字符也不同),把文件指针移动到下一行的起始位置。当文件以流模式(Stream Mode)打开时,FileRead()函数或一直读取到文件结尾,或读取32,765字节的数据,决定于两者哪个数据长度更短些。 -------------------------------------------------------------------------------- FileSeek() 功能将文件指针移动到指定位置。读写文件时相应函数会自动移动文件指针。 语法FileSeek ( fileno, position, origin ) 参数fileno: integer类型,指定文件句柄(由FileOpen()函数得到) position:long类型,指定相对于origin参数指定位置的新位置偏移量,以字节为单位 origin:SeekType枚举类型,指定从哪里开始移动文件指针,即指针移动的基准。有效取值为:?FromBeginning! - 缺省值,从文件开头移动指针;?FromCurrent! - 从当前位置移动文件指针;?FromEnd! - 从文件结尾处移动文件指针返回值Long。函数执行成功时返回指针移动后的指针位置。如果任何参数的值为NULL,那么FileSeek()函数返回NULL。 -------------------------------------------------------------------------------- FileWrite() 功能向指定文件中写数据。 语法FileWrite (fileno , variable ) 参数fileno:integer类型,指定文件句柄(由FileOpen()函数得到)variable:string或blob类型,其值将写入fileno参数指定的文件返回值Integer。函数执行成功时返回写入文件的字符或字节数,发生错误时返回-1。如果任何参数的值为NULL,那么FileWrite()函数返回NULL。用法FileWrite()函数从当前文件指针开始写入指定数据,写入之后,将文件指针调整到刚刚写入数据的下一个字节位置。当文件以writemode参数设置为Replace!方式打开时,文件指针最初位于文件的开头位置;当文件以writemode参数设置为Append!方式打开时,文件指针最初位于文件的结尾位置。当文件以行模式打开时,执行FileWrite()函数时,该函数自动在每次写入数据的后面加上回车换行符,并把文件指针移动到回车换行符后面。当文件以流模式打开时,FileWrite()函数一次最多写入32,765个字节。如果variable参数中数据的长度超过了32,765个字节,那么FileWrite()函数只向文件中写入前32,765个字符并返回32,765。 -------------------------------------------------------------------------------- GetFileOpenName() 功能显示打开文件对话框,让用户选择要打开的文件。 语法GetFileOpenName(title,pathname,filename{,extension{,filter}}) 参数title:string类型,指定对话框的标题pathname:string类型变量,用于保存该对话框返回的文件路径及文件名filename:string类型变量,用于保存该对话框返回的文件名extension:string类型,可选项,使用1到3个字符指定缺省的扩展文件名 filter:string类型,可选项,其值为文件名掩码,指定显示在该对话框的列表框中供用户选择文件名满足的条件(比如*.*,*.TXT,*.EXE等)返回值Integer。函数执行成功时返回1;当用户单击了对话框上的“Cancel”按钮时函数返回0;发生错误时返回-1。如果任何参数的值为NULL,那么GetFileOpenName()函数返回NULL。 用法filter参数的格式为:description,*. ext缺省值为:"All Files (*.*),*.*"其中,description说明扩展名的意义,比如“所有文件”、“文本文件”等。你可以根据需要指定在打开文件对话框中显示的文件名类型。当需要指定多种文件类型时,各类型之间使用逗号分隔,例如:"PIF 文件, *.PIF, 批处理文件, *.BAT"需要注意的是,该函数只是得到一个文件名,而并没有打开文件,需要打开文件时,依然需要使用FileOpen()函数。 -------------------------------------------------------------------------------- GetFileSaveName() 功能显示保存文件对话框,让用户选择要保存到的文件。 语法GetFileSaveName(title,pathname,filename{,extension{,filter}}) 参数title:string类型,指定对话框的标题pathname:string类型变量,用于保存该对话框返回的文件路径及文件名filename:string类型变量,用于保存该对话框返回的文件名extension:string类型,可选项,使用1到3个字符指定缺省的扩展文件名filter:string类型,可选项,其值为文件名掩码,指定显示在该对话框的列表框中供用户选择文件名满足的条件(比如*.*,*.TXT,*.EXE等)返回值Integer。函数执行成功时返回1;当用户单击了对话框上的“Cancel”按钮时函数返回0;发生错误时返回-1。如果任何参数的值为NULL,那么GetFileSaveName()函数返回NULL。 用法filter参数的格式为:description,*. ext缺省值为:"All Files (*.*),*.*"其中,description说明扩展名的意义,比如“所有文件”、“文本文件”等。你可以根据需要指定在打开文件对话框中显示的文件名类型。当需要指定多种文件类型时,各类型之间使用逗号分隔,例如:"PIF 文件, *.PIF, 批处理文件, *.BAT"需要注意的是,该函数只是得到一个文件名,而并没有打开文件,需要打开文件时,依然需要使用FileOpen()函数。 GetCommandDDE() 功能得到DDE客户应用发送的命令。 语法GetCommandDDE ( string ) 参数string:string类型的变量,用于保存DDE客户应用发送的命令返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果string参数的值为NULL, GetCommandDDE()函数返回NULL。用法当DDE客户应用向DDE服务器应用发送一条命令时,这个动作将触发DDE服务器应用活动窗口的RemoteExec事件,在这个事件的事件处理程序中,可以使用GetCommandDDE()函数得到DDE客户应用发送的命令。 -------------------------------------------------------------------------------- GetCommandDDEOrigin() 功能确定哪一个DDE客户应用向服务器发送了命令。 语法GetCommandDDEOrigin ( applstring ) 参数applstring:string变量,用于保存发送命令的DDE客户应用的名称返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果applstring参数的值为 NULL,GetCommandDDEOrigin()函数返回NULL。 -------------------------------------------------------------------------------- GetDataDDE() 功能得到DDE客户应用发送的数据。 语法GetDataDDE ( string ) 参数string:string类型变量,用于保存接收到的数据返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL, GetDataDDE()函数返回NULL。 -------------------------------------------------------------------------------- GetDataDDEOrigin()功能确定哪个DDE客户应用发送了数据。 语法GetDataDDEOrigin ( applstring, topicstring, itemstring ) 参数applstring:string类型变量,用于保存客户应用的名称topicstring:string类型变量,用于保存主题(比如,在Excel中,主题可以是REGION.XLS)itemstring:string类型变量,用于保存数据项标识(比如,在Excel中,数据项标识可能是R1C2)返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,GetDataDDEOrigin()函数返回NULL。 -------------------------------------------------------------------------------- RespondRemote() 功能向客户端应用指明最近的命令或数据是否已经接收。 语法RespondRemote ( boolean ) 参数boolean:其值为boolean量的逻辑表达式,TRUE表示接收先前收到的命令或数据,FALSE表示不接收先前收到的命令或数据返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果boolean参数的值为NULL,RespondRemote()函数返回NULL。 -------------------------------------------------------------------------------- SetDataDDE() 功能向DDE客户应用发送数据。 语法SetDataDDE ( string {, applname, topic, item } ) 参数string:指定要发送到DDE客户应用的数据applname:string类型,可选项,指定接收数据的客户应用的DDE名称topic:string类型,可选项,指定基础数据组item:string类型,可选项,指定基础数据组中的数据项返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1函数调用的环境不对-2数据未被接收如果任何参数的值为NULL,SetDataDDE()函数返回NULL。 -------------------------------------------------------------------------------- StartServerDDE() 功能将当前应用设置为DDE服务器。 语法StartServerDDE ( { windowname, } applname, topic {, item } ) 参数windowname:可选项,指定服务器窗口名,缺省值为当前窗口applname:当前应用的DDE名称topic:string类型,指定DDE客户应用能够引用的基本数据组item:由逗号(,)分隔的一个或多个字符串,指定服务器应用支持的数据项返回值Integer。函数执行成功时返回1,发生错误时返回-1,表示当前应用已经设置为DDE服务器。如果任何参数的值为NULL,StartServerDDE()函数返回NULL。 -------------------------------------------------------------------------------- StopServerDDE() 功能停止当前应用的DDE服务器功能。执行该函数后,发给该应用的任何DDE客户应用请求都将失败。 语法StopServerDDE ( { windowname, } applname, topic ) 参数windowname:可选项,指定要关闭服务器功能的服务器窗口名,缺省值为当前窗口,如果当前应用有多个服务器窗口,那么必须指定该参数applname:当前应用的DDE名称topic:string类型,应该与StartServerDDE()中对应参数相同返回值Integer。函数执行成功时返回1,发生错误时返回-1,表示当前应用未曾作为DDE服务器启动。如果任何参数的值为NULL,StopServerDDE()函数返回NULL。 CPU() 功能得到自当前应用程序启动后开始CPU所消耗的时间,以毫秒为单位。 语法CPU() 返回值Long。返回自当前应用程序启动后开始CPU所消耗的时间,以毫秒为单位。 -------------------------------------------------------------------------------- Idle() 功能该函数在用户每次活动(例如,按键盘、移动鼠标等)后重置定时器,n秒后触发应用对象的Idle事件。 语法Idle ( n ) 参数n:指定空闲时间间隔,以秒为单位。该参数的值设置为0时,停止空闲检测,不再触发应用对象的Idle事件返回值Integer。函数执行成功时返回1,此时启动定时器。如果不能启动定时器或定时器未启动而n的值指定为0时,函数返回-1。如果任何参数的值为NULL,Idle()函数返回NULL。用法利用Idle()函数,应用程序可以构造自己的屏幕保护程序,避免安全数据的泄露。当使用Idle()函数已经启动了定时器后,如果再次以非0参数调用Idle()函数,那么该函数重设时间间隔,但并不启动新的定时器。Idle()函数启动定时器后,如果在指定的时间间隔(从用户最近一次操作算起)内没有操作应用程序,那么就触发应用对象的Idle事件,在这个事件中可以编写关闭窗口、退出数据库登录等一系列代码,然后使用Restart()函数重新启动应用程序,起到保密的目的。发生下述任何情况时,系统自动重置定时器(即重新开始计时):n 用户在该应用程序的任何窗口内移动鼠标或单击鼠标(双击鼠标时首先触发单击事件)n 在该应用程序的某个窗口是当前窗口时用户按下了任意一个或多个键n 在该应用程序的窗口最小化时,用户在该应用的图标上单击鼠标或移动鼠标n 在该应用程序的窗口最小化并且该应用程序是当前应用程序(应用名称被加亮显示)时,用户按了任何按键n 可视数据窗口检索数据时引起的编辑控件(指漂浮在数据窗口当前行/列上的编辑控件)重绘操作 -------------------------------------------------------------------------------- Timer() 功能 在指定的时间间隔内反复触发指定窗口的定时器事件。 语法Timer ( interval {, windowname } ) 参数interval:指定两次触发Timer事件之间的时间间隔,有效值在0到65之间。如果该参数的值指定为0,那么关闭定时器,不再触发指定窗口的Timer事件windowname:窗口名,指定时间间隔到时要触发哪个窗口的Timer事件。省略该参数时,触发当前窗口的Timer事件返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,Timer()函数返回NULL。用法使用Timer()函数可以周期性地触发指定窗口的Timer事件,这样,每当时间间隔过去时,应用程序都可以完成一些周期性的工作,比如绘制简单动画等。将Timer()的interval参数设置为非0值时启动定时器并开始计时;将该函数的interval参数设置为0时关闭定时器,终止计时任务。需要注意的是,在Microsoft Windows系统中,该函数能够计时的最小时间间隔为0.055秒(约1/18秒),如果把interval参数的值设置小于0.055,那么该定时器将每隔0.055秒触发一次窗口的Timer事件。Microsoft Windows 3.x最多只支持系统中同时启动16个定时器。 RegistryDelete() 功能删除Windows系统注册库中的一个键或键的某个值。 语法RegistryDelete ( key, valuename ) 参数key:string类型,指定键名,将删除该键或删除该键的某个值valuename:string类型,指定要删除的值的名称。如果想删除键、键的值、以及其下的所有子键,那么将该参数指定为空字符串返回值Integer。函数执行成功时返回1,发生错误时返回-1。用法为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistryGet() 功能从系统注册库中得到指定键的值。 语法RegistryGet ( key, valuename, valuetype, valuevariable ) 参数key:string类型,指定键名valuename:string类型,指定要访问值的名称。每个键可以有一个未命名的值和多个命名的值。要访问未命名的值,把该参数指定为空字符串("")valuetype:RegistryValueType枚举类型,指定值的数据类型。有效取值请参看用法valuevariable:用于保存键值的变量,其数据类型应该与valuetype参数指定的类型相匹配返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果valuevariable的数据类型与valuetype参数指定的类型不匹配,将引发运行错误。 用法valuetype的可能取值为:RegString!以空字符结束的字符串RegExpandString!以空字符结束的字符串,其中包括了对环境变量的非扩展应用RegBinary!二进制数据ReguLong!32位数据ReguLongBigEndian!32位大数据RegLink!Unicode符号链RegMultiString!动态字符串数组为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistryKeys() 功能从系统注册库中得到指定键的有效子键。 语法RegistryKeys ( key, subkeys ) 参数key:string类型,指定键名subkeys:字符串数组变量,用于保存各子键返回值Integer。函数执行成功时返回1,发生错误时返回-1。用法在subkeys参数中可以使用定长数组,也可以使用动态数组。使用动态数组时,数组的上界反映了能够得到的子键个数。当使用定长数组时,其数组元素个数必须足够多,保证能够容纳所有子键,但是,在具体得到子键之前,没有办法能够预先知道实际子键个数。为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistrySet() 功能在系统注册库中设置或创建指定键。 语法RegistrySet ( key, valuename, valuetype, value ) 参数key:string类型,指定键名valuename:string类型,指定要访问值的名称。每个键可以有一个未命名的值和多个命名的值。要访问未命名的值,把该参数指定为空字符串("")。如果注册库中不存在指定值名,该函数将创建新的值名valuetype:RegistryValueType枚举类型,指定值的数据类型。有效取值请参看用法value:要设置的值,其数据类型应该与valuetype参数指定的类型相匹配返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果valuevariable的数据类型与valuetype参数指定的类型不匹配,将引发运行错误。用法valuetype的可能取值为:RegString!以空字符结束的字符串RegExpandString!以空字符结束的字符串,其中包括了对环境变量的非扩展应用RegBinary!二进制数据ReguLong!32位数据ReguLongBigEndian!32位大数据RegLink!Unicode符号链RegMultiString!动态字符串数组为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistryValues() 功能得到与指定键相关的一组值名。该函数在Windows 3.1中无效。 语法RegistryValues ( key, valuename ) 参数key:string类型,指定键名valuename:字符串数组变量,用于保存值名返回值Integer。函数执行成功时返回1,发生错误时返回-1。用法在valuename 参数中可以使用定长数组,也可以使用动态数组。使用动态数组时,数组的上界反映了能够得到的值名个数。当使用定长数组时,其数组元素个数必须足够多,保证能够容纳所有值名,但是,在具体得到值名之前,没有办法能够预先知道实际值名个数。为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。  Clipboard() 功能提取或替换Windows系统剪贴板的文本内容。 语法Clipboard ( { string } ) 参数string:string类型,可选项,指定要复制到系统剪贴板上的文本。如果剪贴板上已有内容的话,该文本将取代剪贴板的当前内容返回值String。函数执行成功时,如果剪贴板上包含文本数据,那么函数返回剪贴板的当前内容;如果剪贴板上包含非文本数据(比如位图)或不包含任何数据,那么函数返回空字符串("")。如果string参数的值为NULL,Clipboard()函数返回NULL。用法无论是否指定string参数,Clipboard()都将返回剪贴板的当前内容。当指定string参数时,剪贴板的原有内容被string参数的值取代;省略string参数时,仅仅得到剪贴板的内容。 -------------------------------------------------------------------------------- CommandParm() 功能得到应用程序运行时指定的命令参数。 语法CommandParm ( ) 返回值String。函数执行成功时返回应用程序运行时的命令行参数,函数执行错误或没有命令行参数时函数返回空字符串("")。用法命令行参数是应用程序启动时跟在应用程序名称后面的任何参数,比如,在运行窗口中输入了下述命令:MyAppl C:\EMPLOYEE\EMPLIST.TXT那么MyAppl应用程序中使用CommandParm()函数得到的命令行参数为:C:\EMPLOYEE\EMPLIST.TXT当应用程序的命令行中包含几个参数时,CommandParm()函数作为一个字符串返回所有参数。利用字符串操作函数可以分离各参数。在应用对象的Open事件中没有必要执行CommandParm()函数。此时,Open事件的argument参数中包含了命令行参数。 -------------------------------------------------------------------------------- DoScript() 功能执行AppleScript程序段,该函数只在Macintosh平台上有效。 语法DoScript ( script, result ) 参数script:string类型,指定要运行的程序段(script)result:string类型,由AppleScript程序段返回的结果信息或出错信息返回值Integer。返回由AppleScript返回的结果代码。如果任何参数的值为NULL,DoScript()函数返回NULL。 -------------------------------------------------------------------------------- GetApplication() 功能得到当前应用对象的句柄,这样你可以查询或设置应用对象的属性(通常用于编写通用代码)。 语法GetApplication ( ) 返回值Application。返回当前应用对象的句柄。 -------------------------------------------------------------------------------- GetEnvironment() 功能得到操作系统、处理器、屏幕显示等与系统相关的信息。 语法GetEnvironment ( environmentinfo ) 参数environmentinfo:Environment对象名,用于保存系统环境信息返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果参数environmentinfo的值为NULL,GetEnvironment()函数返回NULL。用法当开发交叉平台项目时,利用GetEnvironment()函数,应用程序能够得到当前运行的操作系统、使用的CPU类型、操作系统的版本、屏幕的大小以及颜色数等信息,这些信息的具体表示请参阅本书环境对象(Environment Object)的介绍。 -------------------------------------------------------------------------------- GetFocus() 功能确定当前焦点位于哪个控件上。 语法GetFocus ( ) 返回值GraphicObject。函数执行成功时返回当前得到焦点控件的引用,发生错误时返回无效引用。用法应用程序利用IsValid()函数可以检测GetFocus()是否返回有效的控件引用。同时,使用TypeOf()函数可以确定控件的类型。 -------------------------------------------------------------------------------- Post() 功能将指定消息加入到某个窗口的消息队列中,这个窗口既可以是PowerBuilder应用的窗口,也可以是其它应用的窗口。 语法Post( handle, messageno, word, long ) 参数handle:long类型,指定窗口的系统句柄,将向该窗口邮寄消息messageno:UnsignedInteger类型,指定要邮寄的消息号 word:long类型,指定与消息一起邮寄的word类参数值。如果messageno参数指定的消息不使用该参数,那么将这个参数的值设置为0long:long类型或string,指定与消息一起邮寄的long型参数值或字符串返回值Boolean。如果任何参数的值为NULL,Post()函数返回NULL。 用法Post()函数用于向窗口发送非PowerBuilder预定义事件的消息,这个窗口可以是PowerBuilder应用的窗口,也可以是其它应用的窗口。Post()函数把发送的消息放置在指定窗口消息队列的尾部,然后返回到应用程序中,它并不等待相应事件事件处理程序的执行。这一点与Send()函数不同,Send()函数直接触发指定窗口相应的事件,执行事件处理程序后返回到调用应用中。因此,我们说Post()函数采用的是异步方式,Send()函数采用的是同步方式。Post()函数的参数handle指定接收消息的窗口句柄,对PowerBuilder窗口来说,使用Handle()函数可以得到该句柄。对其它应用程序的窗口来说,可以调用系统API函数查找窗口并得到相应窗口的句柄。如果应用程序要邮寄PowerBuilder定义事件(包括预定义事件和用户定义事件),那么使用PostEvent()函数既简单有方便。当应用程序在long参数位置指定一个字符串时,Post()函数复制一个该字符串的副本,然后将副本的地址传送给指定窗口。 -------------------------------------------------------------------------------- ProfileInt() 功能从初始化文件(.ini)中读取整型设置值。 语法ProfileInt ( filename, section, key, default ) 参数filename:string类型,指定初始化文件的名称,可以包括路径,省略路径时,该函数按操作系统的标准路径搜索指定文件section:string类型,指定要得到的值所在的节(Section)key:string类型,指定要得到的值的名称,不用区分大小写default:integer类型,当指定的文件、节名、项目名不存在或不能转换为整数时,函数返回该参数指定的值返回值Integer。函数执行成功时,在指定的文件、节名、项目名不存在任何错误的情况下,函数返回相应项的值;如果指定的文件、节名、项目名不存在或不能转换为整数时,函数返回default参数指定的缺省值。如果发生错误,函数返回-1。如果任何参数的值为NULL,ProfileInt()函数返回NULL。 -------------------------------------------------------------------------------- ProfileString() 功能从初始化文件(.ini)中读取字符串型设置值。 语法ProfileString ( filename, section, key, default ) 参数filename:string类型,指定初始化文件的名称,可以包括路径,省略路径时,该函数按操作系统的标准路径搜索指定文件section:string类型,指定要得到的值所在的节(Section)key:string类型,指定要得到的值的名称,不用区分大小写default:string类型,当指定的文件、节名、项目名不存在时,函数返回该参数指定的值返回值String。函数执行成功时,在指定的文件、节名、项目名不存在任何错误的情况下,函数返回相应项的值;如果指定的文件、节名、项目名不存在,函数返回default参数指定的缺省值。如果发生错误,函数返回空字符串。如果任何参数的值为NULL,ProfileString()函数返回NULL。 -------------------------------------------------------------------------------- Restart() 功能停止所有程序段的执行、关闭所有窗口、提交事务、断开与数据库的连接,然后重新启动应用程序。 语法Restart() 返回值Integer。函数执行成功时返回1,发生错误时返回-1。 -------------------------------------------------------------------------------- Run() 功能运行指定的应用程序。 语法Run ( string {, windowstate } ) 参数string:string类型,指定要运行的应用程序的名称,其中可以包括路径以及相应的参数,就像在命令行中键入的那样windowstate:WindowState枚举类型,可选项,指定程序运行时的窗口状态。有效取值为:Maximized! - 最大化窗口;Minimized! - 最小化窗口;Normal! - 缺省值,正常窗口返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,Run()函数返回NULL。 用法使用Run()函数,应用程序能够启动操作系统中的任何程序。当在Run()参数中指定了要启动应用程序的参数时,参数的意义、格式、个数等由具体的应用程序确定。如果在Run()函数的string参数中指定了文件名但没有给出扩展名时,PowerBuilder认为该文件的扩展名为.EXE。要运行扩展名不是.EXE的应用程序(比如.BAT, .COM, 或.PIF),必须在Run()函数的参数中指定文件的扩展名。 -------------------------------------------------------------------------------- Send() 功能向窗口发送指定的消息并立即执行相应的事件处理程序。 语法Send( handle, messageno, word, long ) 参数handle:long类型,指定窗口的系统句柄,将向该窗口发送消息messageno:UnsignedInteger类型,指定要发送的消息号word:long类型,指定与消息一起发送的word类参数值。如果messageno参数指定的消息不使用该参数,那么将这个参数的值设置为0long:long类型或string,指定与消息一起发送的long型参数值或字符串返回值Long。函数执行成功时返回Windows系统调用SendMessage()的返回值,发生错误时返回-1。如果任何参数的值为NULL,Send()函数返回NULL。 用法Send()函数用于向窗口发送非PowerBuilder预定义事件的消息,这个窗口可以是PowerBuilder应用的窗口,也可以是其它应用的窗口。Send()函数直接触发指定窗口相应的事件,执行事件处理程序后返回到调用应用中,这一点与Post()函数不同,Post()函数把发送的消息放置在指定窗口消息队列的尾部,然后返回到应用程序中,它并不等待相应事件事件处理程序的执行。因此,我们说Post()函数采用的是异步方式,Send()函数采用的是同步方式。Send()函数的参数handle指定接收消息的窗口句柄,对PowerBuilder窗口来说,使用Handle()函数可以得到该句柄。对其它应用程序的窗口来说,可以调用系统API函数查找窗口并得到相应窗口的句柄。实际上,Send()函数把它的各个参数直接传送给Windows的系统调用SendMessage()。在各种C++开发工具的WINDOWS.H文件中可以查到各消息编号。如果应用程序要发送PowerBuilder定义事件(包括预定义事件和用户定义事件),那么使用TriggerEvent()函数既简单有方便。当应用程序在long参数位置指定一个字符串时,Send()函数复制一个该字符串的副本,然后将副本的地址传送给指定窗口。 -------------------------------------------------------------------------------- SetProfileString() 功能设置初始化文件中指定项的值。 语法SetProfileString ( filename, section, key, value ) 参数filename:string类型,指定初始化文件的名称,可以包括路径,省略路径时,该函数按操作系统的标准路径搜索指定文件section:string类型,指定要设置的值所在的节(Section)key:string类型,指定要设置的值的名称,不用区分大小写default:string类型,指定要设置项的值返回值Integer。函数执行成功时返回1,指定的文件未找到或指定的文件不能访问时函数返回-1。如果任何参数的值为NULL,SetProfileString()函数返回NULL。 -------------------------------------------------------------------------------- ShowHelp() 功能显示应用程序帮助,该帮助使用Microsoft Windows帮助系统进行操作。 语法ShowHelp ( helpfile, helpcommand {, typeid } ) 参数helpfile:string类型,指定帮助文件的名称helpcommand:HelpCommand枚举类型,指定显示帮助的格式。有效取值为:Index! - 显示目录主题,使用该值时不要指定typeid参数;Keyword! - 转移到由指定关键字确定的主题;Topic! - 显示指定主题的帮助typeid:可选项,指定帮助主题返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,ShowHelp()函数返回NULL。 -------------------------------------------------------------------------------- SignalError() 功能触发应用对象的SystemError事件,通常用于代码调试。 语法SignalError ( { number }, { text } ) 参数number:integer类型,可选项,其值将保存到Error对象的number属性中text:string类型,可选项,其值将保存到Error对象的text属性中返回值Integer。函数执行成功时返回1,发生错误时返回-1。 -------------------------------------------------------------------------------- Yield() 功能将控制权转移给其它图形对象,包括非PowerBuilder对象。该函数检测消息队列,如果有消息,就把消息取出。利用该函数可以在执行耗时较长的操作时把控制权转让给其它应用。 语法Yield() 返回值Boolean。如果在消息队列中提取到了消息,那么函数返回TRUE,否则返回FALSE。用法正常情况下,PowerBuilder应用程序在执行一段代码(比如函数或事件处理程序)的过程中不响应用户的操作。对耗时短暂的代码段来说,这种处理方式没有什么不妥的地方,但是,如果某个代码段的执行耗时较长,应用程序又希望为用户提供更多的控制权,那么需要在这段代码中插入Yield()函数,让用户能够进行其它操作,特别在循环执行的代码中更应该如此。应用程序执行Fill() 功能建立一个由指定字符串填充的指定长度的字符串。 语法Fill ( chars, n ) 参数chars:string类型,指定用于重复填充的字符串n:long类型,指定由该函数返回的字符串的长度返回值String。函数执行成功时返回n个字符的字符串,该字符串以参数chars中的字符串重复填充而成。如果参数chars中的字符个数多于n个,那么使用chars字符串的前n个字符填充函数返回的字符串;如果参数chars中的字符个数少于n个,那么使用chars字符串反复填充,直到返回的字符串长度达到n为止。如果任何参数的值为NULL,Fill()函数返回NULL。 -------------------------------------------------------------------------------- Left() 功能得到字符串左部指定个数的字符。 语法Left ( string, n ) 参数string:string类型,指定要提取子串的字符串n:long类型,指定子串长度返回值String。函数执行成功时返回string字符串左边n个字符,发生错误时返回空字符串("")。如果任何参数的值为NULL,Left()函数返回NULL。如果n的值大于string字符串的长度,那么Left()函数返回整个string字符串,但并不增加其它字符。 -------------------------------------------------------------------------------- LeftTrim() 功能返回指定字符串删除了左部空格后的字符串。 语法LeftTrim ( string ) 参数string:string类型,指定要删除左部空格的字符串返回值String。函数执行成功时返回删除了string字符串左部空格的字符串,发生错误时返回空字符串("")。如果任何参数的值为NULL,LeftTrim()函数返回NULL。 -------------------------------------------------------------------------------- Len() 功能得到字符串的长度。 语法Len (string) 参数string:string类型变量返回值Long。函数执行成功时返回字符串的长度,发生错误时返回-1。如果任何参数的值为NULL,则Len()函数返回NULL。 -------------------------------------------------------------------------------- Lower() 功能将字符串中的大写字母转换为小写字母。 语法Lower ( string ) 参数string:要将其中的大写字母转换为小写字母的字符串返回值String。函数执行成功时返回将大写字母转换为小写字母后的字符串,发生错误时返回空字符串("")。如果string参数的值为NULL,Lower()函数返回NULL。 -------------------------------------------------------------------------------- Match() 功能确定字符串中是否包含指定模式的字符。 语法Match ( string, textpattern ) 参数string:string类型,指定要检查是否匹配指定模式的字符串textpattern:string类型,指定文本匹配模式返回值Boolean:如果字符串string与模式textpattern相匹配,则函数返回TRUE,否则返回FALSE。如果指定的匹配模式无效或上述两个参数中的任何一个未曾赋值,那么Match()函数返回FALSE。如果任何参数的值为NULL,Match()函数返回NULL。 用法textpattern参数的写法与正则表达式十分相似,它由元字符和普通字符组成。每个元字符都有不同的匹配含义,普通字符则与其自身相匹配。下面是匹配模式中使用的元字符及其意义: ^指示字符串的开始,例如,^asd表示以asd开头的字符串,字符串asdfgh与模式^asd匹配,而字符串basdfg与模式^asd不匹配。 $指示字符串的结束,例如,red$表示所有以red结束的字符串均与该模式匹配,而redo与模式red$不匹配。 .匹配任意单个字符,例如,^&&$匹配任何六个字符组成的字符串。 []匹配括号中列出的字符,例如,^[ABC]$匹配由一个字符组成的字符串,其值只能是A或B或C。 -与方括号一起,指定匹配字符的范围,例如,^[A-Z]$只匹配那些由一个大写字母组成的字符串。方括号里还可以使用^字符,表示匹配不在指定范围内的任何字符,例如,[^0-9]匹配除数字外的任何字符。 *,+,?这些符号跟在一个字符后面表示该字符可以出现的次数。星号(*)表示可以出现0次或任意次;加号(+)表示可以出现多次,但至少出现一次;问号(?)表示出现0次或一次。例如,A*匹配0个或多个A(没有A、A、AA、AAA、AAAA、**);A+匹配1个或多个A(A、AA、AAA、AAAA、**);A?匹配空串或1个A。 \斜杠(\)是转义字符,它去掉特殊字符的特殊含义,比如,模式\$匹配字符$,模式\\匹配字符\。 -------------------------------------------------------------------------------- Mid() 功能取字符串的子串。 语法Mid ( string, start {, length } ) 参数string:string类型,指定要从中提取子串的字符串start:long类型,指定子串第一个字符在string字符串中的位置,第一个位置为1length:long类型,可选项,指定子串的长度返回值String。函数执行成功时返回string字符串中从start位置开始、长度为length的子串。如果start参数的值大于string中字符个数,那么Mid()函数返回空字符串。如果省略了length参数或length参数的值大于从start开始、string字符串中余下字符的长度,那
目 录 第1章 C语言 8 1.1 什么是局部程序块(local block)? 8 1.2 可以把变量保存在局部程序块中吗? 9 1.3 什么时候用一条switch语句比用多条if语句更好? 9 1.4 switch语句必须包含default分支吗? 10 1.5 switch语句的最后一个分支可以不要break语句吗? 11 1.6 除了在for语句中之外,在哪些情况下还要使用逗号运算符? 11 1.7 怎样才能知道循环是否提前结束了? 13 1.8 goto,longjmp()和setjmp()之间有什么区别? 13 1.9 什么是左值(lvaule)? 15 1.10 数组(array)可以是左值吗? 15 1.11 什么是右值(rvaule)? 16 1.12 运算符的优先级总能保证是“自左至右”或“自右至左”的顺序吗? 17 1.13 ++var和var++有什么区别? 17 1.14 取模运算符(modulus operator)“%”的作用是什么? 17 第2章 变量和数据存储 18 2.1. 变量存储在内存(memory)中的什么地方? 18 2.2. 变量必须初始化吗? 19 2.3. 什么是页抖动(pagethrashing)? 19 2.4. 什么是const指针? 20 2.5. 什么时候应该使用register修饰符?它真的有用吗? 21 2.6. 什么时候应该使用volatile修饰符? 21 2.7. 一个变量可以同时被说明为const和volatile吗? 22 2.8. 什么时候应该使用const修饰符? 23 2.9. 浮点数比较(floating-point comparisons)的可靠性如何? 23 2.10. 怎样判断一个数字型变量可以容纳的最大值? 24 2.11. 对不同类型的变量进行算术运算会有问题吗? 25 2.12. 什么是运算符升级(operatorpromotion)? 25 2.13. 什么时候应该使用类型强制转换(typecast)? 26 2.14. 什么时候不应该使用类型强制转换(typecast)? 27 2.15. 可以在头文件中说明或定义变量吗? 27 2.16. 说明一个变量和定义一个变量有什么区别? 27 2.17. 可以在头文件中说明static变量吗? 28 2.18. 用const说明常量有什么好处? 28 第3章 排序与查找 28 排序 28 查找 29 排序或查找性能? 30 3.1. 哪一种排序方法最方便? 32 3.2. 哪一种排序方法最快? 33 3.3. 对外存(磁盘或磁带)中而不是内存中的数据进行排序称为外部排序。 39 3.4. 1哪一种查找方法最方便? 44 3.5. 1哪一种查找方法最快? 46 3.6. 1什么是哈希查找? 51 3.7. 1怎样对链表进行排序? 53 3.8. 1怎样查找链表中的数据? 53 第4章 数据文件 59 4.1. 当errno为一个非零值时,是否有错误发生? 59 4.2. 什么是流(stream)? 59 4.3. 怎样重定向一个标准流? 60 4.4. 怎样恢复一个重定向了的标准流? 60 4.5. stdout能被强制打印到非屏幕设备上吗? 61 4.6. 文本模式(textmode)和二进制模式(binarymode)有什么区别? 61 4.7. 怎样判断是使用流函数还是使用低级函数? 62 4.8. 怎样列出某个目录下的文件? 62 4.9. 怎样列出一个文件的日期和时间? 63 4.10. 怎样对某个目录下的文件名进行排序? 66 4.11. 怎样判断一个文件的属性? 67 4.12. 怎样查看PATH环境变量? 69 4.13. 怎样打开一个同时能被其它程序修改的文件? 69 4.14. 怎样确保只有你的程序能存取一个文件? 71 4.15. 怎样防止其它程序修改你正在修改的那部分文件内容? 71 4.16. 怎样一次打开20个以上的文件? 72 4.17. 怎样避开"Abort,Retry,Fail”消息? 72 4.18. 怎样读写以逗号分界的本? 74 第5章 编译预处理 76 5.1. 什么是宏(macro)?怎样使用宏? 76 5.2. 预处理程序(preprocessor)有什么作用? 77 5.3. 怎样避免多次包含同一个头文件? 79 5.4. 可以用#include指令包含类型名不是".h"的文件吗? 80 5.5. 用#define指令说明常量有什么好处? 80 5.6. 用enum关键字说明常量有什么好处? 81 5.7. 与用#define指令说明常量相比,用enum关键字说明常量有什么好处? 81 5.8. 如何使部分程序在
双击 redis-server.exe运行服务端。 双击 redis-cli.exe 运行一个客户端 此时可以通过一个命令来展示redis的功能。redis的命令如下: 连接控制 QUIT 关闭连接 AUTH (仅限启用时)简单的密码验证 适合全体类型的命令 EXISTS key 判断一个键是否存在;存在返回 1;否则返回0; DEL key 删除某个key,或是一系列key;DEL key1 key2 key3 key4 TYPE key 返回某个key元素的数据类型 ( none:不存在,string:字符,list,set,zset,hash) KEYS pattern 返回匹配的key列表 (KEYS foo*:查找foo开头的keys) RANDOMKEY 随机获得一个已经存在的key,如果当前数据库为空,则返回空字符串 RENAME oldname newname更改key的名字,新键如果存在将被覆盖 RENAMENX oldname newname 更改key的名字,如果名字存在则更改失败 DBSIZE返回当前数据库的key的总数 EXPIRE设置某个key的过期时间(秒),(EXPIRE bruce 1000:设置bruce这个key1000秒后系统自动删除)注意:如果在还没有过期的时候,对值进行了改变,那么那个值会被清除。 TTL查找某个key还有多长时间过期,返回时间秒 SELECT index 选择数据库 MOVE key dbindex 将指定键从当前数据库移到目标数据库 dbindex。成功返回 1;否则返回0(源数据库不存在key或目标数据库已存在同名key); FLUSHDB 清空当前数据库中的所有键 FLUSHALL 清空所有数据库中的所有键 处理字符串的命令 SET key value 给一个键设置字符串值。SET keyname datalength data (SET bruce 10 paitoubing:保存key为burce,字符串长度为10的一个字符串paitoubing到数据库),data最大不可超过1G。 GET key获取某个key 的value值。如key不存在,则返回字符串“nil”;如key的值不为字符串类型,则返回一个错误。 GETSET key value可以理解成获得的key的值然后SET这个值,更加方便的操作 (SET bruce 10 paitoubing,这个时候需要修改bruce变成1234567890并获取这个以前的数据paitoubing,GETSET bruce 10 1234567890) MGET key1 key2 … keyN 一次性返回多个键的值 SETNX key value SETNX与SET的区别是SET可以创建与更新key的value,而SETNX是如果key不存在,则创建key与value数据 MSET key1 value1 key2 value2 … keyN valueN 在一次原子操作下一次性设置多个键和值 MSETNX key1 value1 key2 value2 … keyN valueN 在一次原子操作下一次性设置多个键和值(目标键不存在情况下,如果有一个以上的key已存在,则失败) INCR key 自增键值 INCRBY key integer 令键值自增指定数值 DECR key 自减键值 DECRBY key integer 令键值自减指定数值 处理 lists 的命令 RPUSH key value 从 List 尾部添加一个元素(如序列不存在,则先创建,如已存在同名Key而非序列,则返回错误) LPUSH key value 从 List 头部添加一个元素 LLEN key 返回一个 List 的长度 LRANGE key start end从自定的范围内返回序列的元素 (LRANGE testlist 0 2;返回序列testlist前0 1 2元素) LTRIM key start end修剪某个范围之外的数据 (LTRIM testlist 0 2;保留0 1 2元素,其余的删除) LINDEX key index返回某个位置的序列值(LINDEX testlist 0;返回序列testlist位置为0的元素) LSET key index value更新某个位置元素的值 LREM key count value 从 List 的头部(count正数)或尾部(count负数)删除一定数量(count)匹配value的元素,返回删除的元素数量。 LPOP key 弹出 List 的第一个元素 RPOP key 弹出 L
HTML + JavaScript + Ajax + CSS 赵旭 [email protected] HTML5 1、WEB基础知识(了解) 1、Internet - 网 由若干台电脑、手机、平板 通过 网线(WIFI) 连接起来的结构 2、基于Internet上的程序 1、C / S 结构 Client / Server 特点:必须通过指定的客户端软件才能访问服务器端的一种程序 :如 :桌面版QQ,... ... 2、B / S 结构 Browser / Server Browser :浏览器 特点:通过 浏览器 就能访问服务器端的一种程序 如 :网页版百度,网页版 QQ,网页版 京东,... ... 3、WEB 1、什么是WEB WEB,是基于Internet上的一种应用程序(网页应用程序) WEB页面,简称WEB页(网页),就是保存在服务器端上的一个具体的页面( **.html / **.htm 作为结尾的文件) 2、WEB浏览器 1、功能 1、提交用户请求 (UA : User Agent) 2、作为HTML 以及 脚本执行的 解释器 3、以图形化的方式显示web页面 2、主要浏览器产品 1、Microsoft Internet Explorer (IE) 2、Mozilla Firefox 3、Google Chrome 4、Apple Safari 5、Opera Opera(欧朋) 3、主要技术 1、HTML 2、CSS 3、Javascript 2、HTML入门(重点) 1、什么是HTML Hyper Text Markup Language 超级 文本 标记 语言 超文本 :也是文本,但会具备特殊功能 普通文本 a : 普通字符 a 超文本 a : 表示超链接 普通文本 b : 普通字符 b 超文本 b : 加粗显示文本 标记 :超文本的表现形式 普通文本 a : a 超文本 a : 语言 :具备一定的语法规范 HTML 也具备自己的语法规范 WEB页面(HTML页面)就是由 HTML 语言来进行开发的 ,以 .html 或 .htm 进行结尾的文件 开发 & 运行网页的工具: 1、记事本 2、浏览器 2、HTML 的基础语法 1、标记语法 HTML中用于描述功能的符号称为"标记" 标记在使用时,用尖括号 "",标记的分类 1、封闭类型的标记 也称为 "双标记" , 必须成对出现 语法:内容 Demo : 1、创建 p 标记 --... 2、创建 div 标记 -- 3、创建 header 标记 -- <header></header> 2、非封闭类型的标记 也称为 "单标记" 语法: 或 Demo : 1、创建 br 标记 -- 2、创建 hr 标记 -- 3、创建 img 标记 -- 4、创建 input 标记 -- <input/> 2、标记(元素)的嵌套 在一对标记中,允许出现另外一对(一个)标记 注意:嵌套标记的书写格式 -- 被嵌套的标记要通过一个 缩进键(Tab) 来表示层级关系 Demo : 1、编写一对 body 标记,在body标记中,嵌套一对 div标记,在 div 标记中 ,嵌套一对 a 标记,在 a标记中,嵌套一对 b 标记,b标记中,随意编写一些文本 <body> 这是一段测试文本 </body> 3、标记的属性 1、什么是属性 用来修饰标记的效果的内容,就是属性 2、语法 1、属性必须声明在开始标记中 2、属性与标记名称之间,用 空格 隔开 3、属性的值 与 属性之间 使用 "=" 连接 4、一个元素允许有多属性,多属性间,排名不分先后,中间用 空格 隔开即可 Demo : 1、创建一个 div 标记 ,增加属性 ,设置 align 属性的值为 center ,设置 id 属性的值为 container,设置 title 属性的值为 这是一个div 四大标准属性: 1、id :定义元素在页面中独一无二的名称 2、title :鼠标悬停在元素上时,体现的文字 3、class :引用 类选择器时使用(CSS中) 4、style :定义 内联方式方式使用(CSS中) 4、注释 语法:<!-- --> 注意: 1、注释不能嵌套 2、注释不能出现在标记中 3、HTML 文档结构 W3C :Word Wide Web Consortium (万维网联盟) 1、HTML文档的组成 1、文档类型声明 告知浏览器当前的HTML文档用的是哪个版本 在网页的最顶端 2、由一对 html 根标记,来表示页面的开始与结束 Demo : 1、在 htdoc 中,创建一个网页 01-first.html 文件 创建一个 记事本,将 .txt 重命名为 .html 2、搭建HTML网页结构 1、添加 文档类型声明 2、添加 html 根标记 2、<html> 标记 包含两对子元素 1、<head></head> 包含的子元素(2对) 1、<title>网页的标题</title> 2、<meta charset="utf-8"/> -- 能正常显示中文 2、<body></body> 属性: 1、text ,取值是一个颜色值(red,green,blue...) 2、bgcolor ,取值也是一个颜色值 Demo : 在刚才的 Demo 基础上 1、在 <html>中 增加 <head> 和 <body> 2、为网页指定标题 - 我的第一个HTML文档 3、指定网页的字符编码格式为 utf-8 4、在 body 中 输出一句话 "我的第一HTML页面" 5、设置 body text为red,bgcolor为yellow 3、文本 1、特殊文本的实现 页面的空格以及一些特殊字符需要通过转义字符的方式体现 1、  表示一个空格 2、< 表示 4、© 表示© Demo : 1、创建一个页面 02-text.html 2、在页面中 输出以下内容 The element. ©2017 By Tarena The <p> element.     © By Tarena 2、文本样式相关标记 : 加粗 : 斜体 : 下划线 : 删除线 : 上标 : 下标 Demo : 这是一段包含 ,粗体,斜体,下划线,删除线,上标,下标的文本内容 将以上文本内,对应文字的特殊效果,用标记体现出来 3、标题元素 以 醒目 的方式表现出文本 语法: 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 属性: 1、align 文本的水平对齐方式 取值:left / center / right 4、段落元素 语法: 属性:align : left / center / right Demo : 1、在 02-text.html 中,增加以下内容 1、用 段落标记表示 :The first paragraph 2、用 段落标记表示 :The second paragraph ,文本表现为 右对齐 5、换行元素 6、分割线元素 作用:在页面中表现为一条直线 语法: 属性: 1、size 尺寸,以 px 为单位的数值 2、width 宽度,以 px 或 % 为单位的数值 3、align 水平对其方式 4、color 颜色 Demo : 02-text.html 中 增加一根水平线,size为5px,宽度为50%,居中对齐,颜色为红色(red) 7、预格式化 作用:保留源文档中的回车 和 空格 的作用 8、分区元素 1、块分区元素 语法: 作用:布局 2、行内分区元素 语法: 作用:设置同一行文字内的不同样式 9、行内元素 与 块级元素 按照元素们的表现形式来分类,分为 行内元素 和 块级元素1、行内元素 在一行内允许显示多个元素的,称为 "行内元素" span,i,b,s,u,sup,sub 作用:包裹文本,并处理文本的表现形式 2、块级元素 每个元素独占一行显示的,称为 "块级元素" div,p,h1,h2,h3,h4,h5,h6 作用:布局 注意: 1、p标记不能嵌套其它的块级元素 2、行内元素中 最好 不要嵌套块级元素 4、图像 和 链接 1、URL 目录结构 : 目录 ,保存文件文件夹名称 多个文件夹之间的关系,就是目录结构 1、什么是 URL URL (Uniform Resource Locator),统一资源定位器。用来标识某资源文件位置 2、URL 在 WEB 中的表现形式 共三种表现形式: 1、绝对路径 特点:从文件所在的最高级目录处开始查找资源文件所经过的路径,就是绝对路径 使用场合:当想访问互联网上的资源时,只能用绝对路径 完整的绝对路径分四部分: 1、协议名 http 2、域名(主机名,IP地址) www.codeboy.com 3、目录路径 img/header 4、文件名 logo.png http://www.codeboy.com/img/header/logo.png img/header/logo.png 2、相对路径(重点) 场合:使用本机文件时使用 什么是相对路径: 从当前文件位置处开始查找资源文件所经过的路径,就是相对路径 1、同目录,直接用 2、子目录,先进入 3、父目录,先返回 3、根相对路径 路径形式是以 / 作为开始的。 / : 表示的是服务器的根路径 2、图像 1、图像格式 WEB中支持的图像格式 1、*.jpg 2、*.gif(动图) 3、*.png(透明) 2、图像的语法 标记: 属性: 1、src :指定要显示图像的 URL 2、width :图像的宽度 3、height :图像的高度 4、title :鼠标悬停时,要显示的文本 Demo : 1、将 学子网的 logo 下载下来 2、显示在自己的网页中 3、超链接 1、语法 标记:内容 属性: 1、href : 要链接的HTML页面URL 2、target : 目标,指定新网页的打开形式 取值: 1、_blank : 在新标签页中打开网页 2、_self : 在自身标签页中打开新网页(默认值) Demo 1、创建一个超链接,内容为 :学子商城,点击时,在自身标签页中 打开 http://www.codeboy.com 2、创建一个超链接,内容为 :学子商城的LOGO,点击时,在新标签页中打开 http://www.codeboy.com 2、链接的四种表现形式 1、点击操作时,完成资源下载的操作 链接的资源为 zip / rar 时则为下载操作 下载 2、电子邮件链接 联系我们 前提 : 必须在计算机中安装并配置好至少一个邮件客户端的信息 3、返回页面顶部的空连接 返回顶部 4、执行Javascript代码片段 执行JS 3、锚点 1、作用 锚点用于在网页中的某个位置处做个记号,允许从其他位置处跳转到记号位置处 2、使用方式 1、定义锚点 1、使用 a 标记的 name 属性允许定义锚点 xxxx 2、任何标记的 id 属性定义锚点 2、链接到锚点 链接到锚点 链接到锚点 5、表格 1、表格 1、表格的作用 按照一定的格式来显示数据的 表格是由 单元格(列),行 来组成的 2、表格的语法 1、标记 1、 : 表示一个表格 2、 : 表示表格中的一行 3、 : 表行中的一列(单元格) : 行/列 标题 (加粗,水平居中) 4、 : 表格的标题 该元素必须添加在 之下,所有的tr之上 2、常用属性 1、table 1、width 2、height 3、align 设置表格的对齐方式 , left / center / right 4、border 边框宽度,取值以 px 为单位的数值 5、bgcolor 6、cellspacing :单元格外边距(单元格与单元格 或 单元格与表格之间的距离) 7、cellpadding : 单元格内边距(单元格与内容之间的距离) 2、tr 1、align 控制当前行内容的水平对齐方式 2、valign 控制当前行内容的垂直对齐方式 top / middle / bottom 3、bgcolor 3、td / th 1、align 2、valign 3、width 4、height 5、colspan :跨列 6、rowspan :跨行 Demo : 在 刚才的表格基础上,增加以下内容 1、为表格增加边框 1px 2、为表格增加尺寸 400 * 400 3、为表格增加单元格内边距 5px 4、为第四行 增加属性 ,内容水平居中对齐 3、表格的复杂应用 1、行分组 允许将若干行划分到一个组中,以便实现统一管理 1、表头行分组 允许将第一行的内容单独分到表头行分组中 2、表尾行分组 允许将最后一行的内容单独分到表尾行分组中 3、表主体行分组 2、不规则表格创建 通过 td 的跨行 和 跨列来实现不规则的表格 1、跨列 从指定单元格位置处开始,横向向右,合并掉几个单元格(包含自己),被合并掉的单元格,要删除 2、跨行 从指定单元格位置处开始,纵向向下,合并掉几个单元格(包含自己),被合并掉的单元格,要删除 3、表格的嵌套 被嵌套的所有的内容,只能放在 td 中 2、列表 1、作用 按照一定的格式显示数据 2、列表的分类 & 语法 1、列表的组成 由列表类型 以及 列表项 来组成 2、分类 & 语法 1、有序列表 --> Order List 允许包含若干列表项: --> List Item 2、无序列表 --> Unorder List 允许包含若干列表项: 3、属性 1、ol 1、type 1 、按数字方式排列,默认值 a 、按小写英文方式排列 A 、按大写英文方式排列 i 、按小写罗马数字排列 I 、按大写罗马数字排列 2、start 指定标识从 几 开始显示 2、ul 1、type 1、disc,实心圆,默认值 2、circle,空心圆 3、square,实心矩形 4、none 3、列表的嵌套 被嵌套的内容只能放在 li 中 Demo : 1、声明一个列表在 html 中(有序),包含两个列表项,显示 两部小说的名字 2、在两个列表项中,再各嵌套一个无序列表,各写3-4个小说中的主角 3、定义列表 1、作用 以一种特殊的结构来排列数据 通常用语对一类事物/名词 的解释上面 2、语法 :声明一个定义列表 :声明要解释的事物名称 或 名词 :对上述名词或事物解释的内容 3、常用场合 图文混排 3、结构标记 1、结构标记的作用 搭建网页的结构(布局),用于替代 div,最大的优点是提升了标记的"语义性" 2、结构标记详解 1、<header></header> 作用:表示网页 或 某块内容的头部 2、 作用:表示网页中的 导航内容 3、 作用:表示网页主体内容中的某一部分 4、 作用:出现在文字描述性比较强的场合:一则新闻,论坛中的帖子,微博信息,博客的信息 5、 作用:表示网页中,或某部分内容的 边栏信息 6、 作用:表示网页中尾部的信息 4、表单(难点) 1、表单的作用 用于收集用户的信息并提交给服务器 表单主体是由两部分组成的 1、表单元素 收集信息,并提交给服务器 2、表单控件 用于与用户交互的一些元素:文本框,密码框 2、表单元素(难点) 标记:<form></form> 注意:只有放在 <form></form> 里面的表单控件的值,才能提交给服务器 属性: 1、action 提交给服务器处理程序的地址 (动作) 2、method 提交方式,以什么样的方式把数据交给服务器 1、get 特点: 1、以明文的方式将数据传递给服务器(提交的数据会显示在地址栏上) 2、安全性很低 3、提交数据最大限制为 2KB 4、向服务器要数据时可以使用 2、post 特点: 1、以隐式的方式将数据传递给服务器 2、安全性很高 3、不限制提交数据的大小 4、要提交数据给服务器处理时使用 3、... ... 3、enctype 作用:指定表单数据进行编码的方式 取值: 1、application/x-www-form-urlencoded 默认值,允许将任意类型的文本提交给服务器 2、multipart/form-data 允许将文件提交给服务器 3、text/plain 不对任何数据进行编码和传输 Demo : 1、创建 05-form.html 2、声明一个表单元素 form 3、指定提交地址为 login.php,提交方式为 get,编码方式为默认 3、表单控件 表单元素分类: 1、input元素 2、textarea 多行文本域 3、select 和 option 选项框 4、其它元素 5、新input元素 详解 : 1、input元素 里面会包含若干个不同的表单控件 标记 :<input> 属性 : 1、type 根据不同的type属性值,可以创建不同的input元素 2、name 定义表单控件的名称,主要提交给服务器使用的 注意:如果不声明name属性的话,元素则无法提交给服务器 3、value 定义当前控件的值,主要提交给服务器使用的 4、disabled 禁用控件,无值的属性 <input disabled> 2、文本框 与 密码框 文本框:<input type="text"> 密码框:<input type="password"> 具备除以上四个属性外,还具备以下几个独立属性: 1、maxlength 限制输入的字符数,取值为数字 2、readonly 只读,无值属性 Q : readonly 和 disabled 的区别 1、readonly ,是只读的意思,是允许提交给服务器,不让用户改数据而已 2、disabled , 是禁用的意思,不仅不让用户改数据,而且还不能提交给服务器 3、placeholder 占位符,即默认显示在文本框用于给用户提示的文字 3、按钮 1、提交按钮 作用:将表单提交给服务器 标记:<input type="submit" value="显示的文本"> 2、重置按钮 作用:将表单恢复到初始化的状态 标记:<input type="reset" value="显示的文本"> 3、普通按钮 作用:通过 JS 自定义功能 标记:<input type="button" value="显示的文本"> 4、显示的内容 属性: 1、type :submit / reset / button 4、单选按钮 和 复选框 单选按钮:<input type="radio"> 复选框:<input type="checkbox"> 属性: 1、name 设置名称,并用于分组,一组单选按钮 或 复选框的名称必须相同 2、value 必须设置 3、checked 默认被选中,无值属性 5、隐藏域 和 文件选择框 1、隐藏域 <input type="hidden" name="" value=""> 想提交给服务器,但不想给用户看的数据,可以放在隐藏域中 2、文件选择框 <input type="file" name=""> 注意: 1、form的 method 属性值必须为 post 2、form的 enctype属性值必须为 multipart/form-data http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=bingbing http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=fengjie&gender=1&question=0&question=1&question=2&question=3 http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=fdsafdsafdsa&gender=0&question=0&question=1&question=2&question=3&uid=10000567789 1、表单 1、form ... 2、input ... 3、textarea 控件 标记:<textarea></textarea> 属性: 1、name 定义名称,提交给服务器使用 2、cols 指定文本域的列数,变相指定宽 3、rows 指定文本域的行数,变相指定高 4、readonly 只读 Demo : 创建 01-form.html 文件 创建一个 多行文本域,列数为 50,行数为 5,名称为 intro 4、选项框 1、标记 表示 下拉列表 或 滚动列表 列表中的内容,允许出现多个 2、属性 1、 1、name :控件的名称 2、size :默认显示选项的数量,默认为1,为下拉列表,如果取值>1的话,则为滚动列表 3、multiple 设置多选,无值的属性 2、 1、value :选项的值,提交给服务器用 2、selected :默认被选中 5、其它标记 1、label 元素 作用:关联文本与表单控件的,点击文本时就如同点击表单控件一样 标记:文本 属性: 1、for 指定要关联的表单控件的ID值 2、为控件分组 分组标题 分组中的内容 3、浮动框架 1、作用 将其他页面导入到当前页面中来 2、语法 标记:<iframe></iframe> 属性: 1、src 要引入的页面的url 2、frameborder 指定浮动框架的边框,默认为1,则显示边框 不需要边框则设置为 0 3、width 4、height 练习: 创建一个 02-iframe 的网页,将 01-form.html 页面引入进来 ,适当调整宽度,高度,边框 6、新input元素 (HTML5) 1、电子邮件类型 作用:提交时会验证数据是否符合Email的规范 标记:<input type="email"> 2、搜索类型 作用:在文本框的基础上,提供了快速清除操作 标记:<input type="search"> 3、URL类型 作用:提交时会验证数据是否符合Web站点的URL规范(绝对路径) 标记:<input type="url"> 4、电话号码类型 作用:在移动端设备中,能展开 拨号键盘,在PC中无效 标记:<input type="tel"> 5、数字类型 作用:只能让用户输入 或 选择数字 标记:<input type="number"> 属性: 1、min :当前控件接受的最小值 2、max :当前控件接受的最大值 3、step :微调数字时每次变化的长度,默认为1 6、范围类型 作用:提供一个滑块,让用户选择数字 标记:<input type="range"> 属性: 1、min :当前控件的最小值 2、max :当前控件的最大值 3、value :设定初始值 7、颜色类型 作用:提供一个颜色拾取控件 语法:<input type="color"> 8、日期类型 作用:提供一个日期输入控件 标记:<input type="date"> 9、周类型 作用:提供一个日期控件,用于选取周 标记:<input type="week"> 10、月份类型 作用:选取月份控件 标记:<input type="month"> =============================
仿世纪佳缘婚介交友系统5.3 ASP+SQL Nslove5使用手册 一、运行环境: 1、服务器要求:windows2000及更高系统版本,IIS5+以上! 2、组件要求:Jmail邮件组件、aspjpeg水印组件、上传组件(aspupload组件)、FSO读写权限(IIS_IUSRS,IUSR帐号读写)、ADODB.Stream组件。一般的虚拟主机都有这些组件,如果是本地调试必须先检查一下IIS的设置环境,并安装上面前三个组件,组件下载地址见本文附录。 3、数据库:SQL2000+以上!初始安装大约35Mb左右,完善支持SQL2005/2008! 4、空间大小:初始安装大于200Mb,随着会员数量增多,空间及数据库要求会逐渐增大! 5、IIS创建网站最好创建独立应用池,以提高程序运行速度! 二、网站搭建: 1、要求系统安装IIS即Internet 信息服务(IIS),XP(2003)系统是在控制面板——添加删除组件中添加! 2008、vista、win7是在控制面板——程序——打开或关闭windows功能中添加 2、启动IIS(以IIS6.0+为例),在网站新添加一个网站,设置正确物理路径确定保存。 3、其它详细设置可以参考:http://www.nslove.net/dispbbs.php?boardid=4&id=1023 4、如何登录Nslove系统后台: (1)前台入口:login.asp登录方式: 用户:[email protected] 密码:123456 (2)后台入口:admin_login.asp登录方式: 前台用户名:nslove 密码:123456 如果login.asp前台有管理员登录过,那么上面前台帐号不会显示。 后台用户:nslove 密码:123456 注意:后台所有生成操作都需要前台login.asp管理员登录! 三、程序使用: (一)常规管理: 1、系统设置(程序文件:setting.asp)   程序运行是否稳定、安全关键是后台系统设置。系统设置项分成几大类:[基本设置]、[网站信息]、[安全设置]、[用户选项设置]、[邮件选项设置]、[注册选项设置]、[系统选项设置]、[上传选项设置]、[验证码设置]、[官方通讯设置]、[服务升级设置]、[支持接口设置]   (1)基本设置:有模板缓存开关、系统定时开关等项,这里[缓存模板句柄]比较重要。如果IIS可以创建独立应用池,那么这里的缓存模板句柄可以自己加入其它模板名,提高程序运行速度!例如:日记模板名为:diary(其它模板名见附录2),加到句柄为:index|main|list|diary。也就是加“|”分隔符再加模板名。至于定时设置等其它几项根据项目底下说明,就可以很好设置。   (2)网站信息:这里设置一些前台显示底部版权信息、客服联系方式等。网站关键词、及描述关键到被网络搜索引擎(SEO)检索量,所以好的关键词及描述,往往可以提高浏览量。这里需要注意[客服联系邮箱]必须设置与邮件选项设置中的SMTP登录帐号一样的邮箱地址,否则发送邮件可能会出错。   (3)安全设置:这些涉及到网站安全主要有后台管理目录、入口。如何修改默认目录及入口呢?先在这里修改目录及入口名称提交保存,然后到网站目录中把admin重命名,及admin_login.asp重命名,与刚刚设置名称要相同。其它项可以默认使用即可!   (4)用户选项设置: <1>、一天可以取几次密码即为用户密码丢失或者遗忘,可以通过前台找回密码找回,但不是无限制的取回,通过这里可以设置次数; <2>、登录时显示注册步骤即当用户未完成所有注册步骤时,在用户登录时会提示步骤未完成,并指出是哪个步骤提供给用户继续完成。 <3>、登录每次赠送金币,会员每天登录赠送金币数,系统设计一天只能赠送一次。   (5)邮件选项设置: <1>、邮件组件选择(不支持、JMAIL、CDONTS、ASPEMAIL),一般虚拟主机都是安装Jmail组件。用鼠标选择下拉菜单会相应提示空间是否支持该组件。 <2>、SMTP邮件发送服务器如mail.nslove.com或者smtp.163.com等,但遗憾的是现在免费邮箱基本不支持smtp,最好用自己空间赠送的企业邮局做发送服务器。 <3>、SMTP登录帐号,需要完整的邮件地址,必须与客服联系邮箱相一致。 <4>、SMTP登录密码,即邮箱登录密码   (6)注册选项设置: <1>、唯一性开关,这里选择邮箱。即当用户提交帐号注册时,以该项为检查是否被占用,防止同一个帐号多个用户。 <2>、发送激活代码必须在发送注册邮件开启状态下才有效,系统会在用户注册时发送一串16位密码,用户只要登录邮箱,然后点击链接激活,即可激活邮箱地址及用户帐号。 <3>、是否必须激活,如果关闭,那么用户不需要激活邮箱,即可成为审核状态用户。 <4>、昵称只允许英文字符,开启时系统不允许注册除英文字母之外的任何用户名。 <5>、新注册用户必须审核,关闭时系统会自动审核通过用户,无须管理员手工审核通过。 <6>、限制注册邮件地址及注册过滤字符,限制帐号中含有邮件邮件及过滤昵称字符。比如要过滤所有用户名中有带:xxx小龙女xxx这样的用户,可以在注册过滤字符中加入逗号小龙女。   (7)系统选项设置: <1>、必须激活才可登录,开启状态时,用户必须是邮箱激活之后才能登录系统,否则无法登录。 <2>、用户在线超时时间即为统计记录用户在线,在超过一定时间系统会自动清空这些超时用户、或者已经长期不活动的用户!默认为40分钟即可。 <3>、金币操作记录天数,即会员在充值、消费操作时数据库记录的时间段,一般30天。 <4>、搜索中会员等级限制,即会员在搜索时显示等级最低的用户。这个开关影响到高级搜索、会员在线聊天、征婚大厅等列表。一般设置为4即可,除管理员之外都可以显示。 <5>、考题答案个数,即用户提交测试题及发送给用户测试的答案个数 <6>、群组等级默认人数,这个可以从等级组(等级)管理中对群组设置进行设置。 <7>、设置群组热贴,即为当然一个贴子点击超过这个数值时,会显示为热贴。   (8)上传选项设置:(非常重要) <1>、上传组件选择(关闭、无组件上传类、Aspupload3.0组件、SA-FileUp 4.0组件、DvFile-Up V1.0组件),点击选择根据提示文字选择允许的组件。一般选择Aspupload为上传组件! <2>、生成预览图片组件(关闭、CreatePreviewImage组件、AspJpeg组件、SA-ImgWriter组件),点击选择根据提示文字选择允许的组件。这里需要注意的是,AspJpeg组件必须!如在线图片截切需要用到它。 <3>、图片水印设置开关(关闭水印效果、水印文字效果、水印图片效果),当选择水印文字,时[添加水印文字信息]需要输入相就文字。当选择水印图片,那么[添加水印LOGO图片地址]需要正确输入图片的地址(必须以根目录为起点的路径) <4>、远程抓取即为会员相册可以通过其它网站上的图片地址,系统会抓取该图片并保存到空间中!   (9)验证码设置: 如果选择关闭,那么模板中所有相关的验证码表单都要手工去掉保存提交。   (10)服务升级设置: 这里可以设置升级VIP费用、明星榜费用、对认证会员打折设置等。包括人民币与金币汇率。 消费卡使用期限,即后台开卡之后,在一定期限之内有效,超过即为失效不能再使用。   (11)支付接口设置: 目前支持财付通、网银在线支付接口。从第3位元素开始分别为:财付通商户号、财付通32位密钥;网银商户号、网银32位密钥。这里提示银银32位密钥是通过md5加密32位,然后到网银在线设置。 其它未提及的设置项,基本可以从项目下文字说明理解到相关用途及含义。 2、二级域名管理(domain.asp) 很多客户初始安装之后都会发现很多网页都跳转到官方网站上,还以为是程序限制,其实并不是这样。原因就在二级域名没有修改为自己的域名,这里主要修改二级域名(静态文件访问地址)。修改完提交保存!然后到生成管理中进行生成,这部分在下面会详细讲到。 3、用户标签管理(usertag.asp) 该功能用途,主要是收集用户资料的一些基本信息,提供给搜索、资料列表时显示用!可以不必修改。 4、帮助公告管理(article.asp) 该模块包括:新闻公告、帮助中心、网站底部、新手指南、分类管理,可以通过快捷方式进行分类访问。从文章列表可以进入修改文章内容及重新生成。都可以通过列表下面的选择操作进行审核、生成等操作,根据各个管理列表,操作是一样的。下面如果不是特殊功能,就不在重复介绍。 重点说明:分类管理中[功能帮助]类别,初始建站都会遇到帮助中心的分类页无法更新生成为新网站信息,那么如何操作呢?首先进入该类,里面有个人资料完善和管理、沟通与交流等分类,然后全部选定各个分类,选择生成Html操作执行即可。 5、友情链接管理(link.asp) 如何在首页生成带有logo图标的友情链接呢?首先要在这里添加友情链接为图标链,然后在模板中分页模板(page_html)语言包中html_html(0).htm中,友情链接地方修改标签。可以参考通用标签附录3:Lk_List标签 6、首页调用管理(callnew.asp) 首页调用即为html中实时调用数据库中的数据,通过script调用。从后台的管理中可以对这些调用进行管理。调用方法为<script src="Ns_News.asp?sortid=ID号"></script>,其中ID号为记录号,即为该列表中的调用ID列中的数值。然后把该调用代码加到模板相应地方即可。例如要调用最新5个会员,ID号为1,那么调用代码为:<script src="Ns_News.asp?sortid=1"></script> (二)用户管理: 1、用户资料(权限)管理:(user.asp) (1)、如何修改用户资料,点击搜索结果列表中用户名进入即可以详细修改用户资料。例如要修改用户中的金币数值,进入该用户资料修改,找到用户金币之后点击[修改],可以显示出该项表单,就可以输入你想的金币数了。如何让用户注册步骤达到100%及认证项目呢?从这里也可以自由输入,注册步骤值:1|0|0|0|0|0|0|1|0|0|0|0,把0为改1即为是完成一个步骤。改变用户明星榜(VIP)开始时间、结束时间,都可以在这里进行修改。 (2)、搜索结果列表下有选择操作项比较多,这里主要介绍:修复、邮件激活、推荐榜三个特殊功能。 <1>、修复功能,数据库中的用户资料可能会出现更新不及时或者信息不正确,即可以从这里的修复进行修得,修复(用户数据、匹配数据、用户VIP时间、用户明星榜)。用户数据主要是根据常规管理中的用户标签,重新对用户进行更新用户数据,匹配数据则是根据用户提交的匹配条件重新更新匹配信息。 <2>、邮件激活,有些会员注册完并没有及时激活邮件,那么管理员可以通过该功能批量更新用户激活状态。 <3>、推荐榜,即为明星榜。如何批量设置首页明星榜及地区明星榜、并且要求是有头像会员呢? 首页明星榜设置:首先进入快捷方式——管理首页,在这个表单中选择上传头像复选框,如果需要设置是区分性别的,可以在这个表单中选定。然后点击[给我搜]按钮进入用户列表。然后在搜索结果列表中操作选定要设置的用户,最后点击推荐榜输入要推荐的天数,点击执行操作即可以完成推荐。 地区明星榜设置:首先进入快捷方式——管理首页,在这个表单中选择上传头像复选框,如果需要设置是区分性别的,可以在这个表单中选定。然后在所在地区中选择要推荐的省份,即为推荐该省的明星榜。然后点击[给我搜]按钮进入用户列表。后面操作与首页明星榜操作相同,这里不在重复讲解。 <4>、列表中的[权限],指的是对某一个用户进行独立设计权限,他的权限不受等级组权限管理,可以自定义设置用户权限。 <5>、列表中的[最后IP],点击该用户最后登录的IP可以限制该IP的访问,请谨慎。 2、用户组(等级)管理:(group.asp重中之重) 包括:注册用户组(等级)管理、系统用户组管理、Vip用户组管理、编辑注册默认组 、编辑VIP默认组、群组等级组管理。 (1)、注册用户组(等级),是会根据用户属性自动升级的组!当用户的日记、相册、金币数达到条件,会自动升级到下一个等级。 (2)、系统用户组,默认组不能删除否会出现严重错误。用途即为当新增加一个[注册用户组(等级)],那么默认的权限会根据系统用户组中的[注册用户]组中的权限赋值。新增加VIP用户组也一样根据系统用户组中的VIP默认组。 (3)、群组等级组管理,主要用途是群组升级时根据组的升级金币为条件进行升级,相应给予该群会员数及空间。 除群组等级之外,都可以点击每个等级之后的[编辑]链接进入权限编辑,里面有大约150项权限设置,详细到金币操作等。 这里客户经常会遇到一个问题:新注册用户无法上传照片或者相册?那么重点看一下[系统用户组管理]——邮件激活及审核状态两个组的权限,进入编辑可以设置。然后记得更新一下缓存,更新缓存方法下面会介绍到。 3、管理员添加 | 管理:(admin.asp) 顾名思义就是添加管理员功能模块,可以对新添加的管理员进行权限设置。 这里值得注意的三个地方: (1)、管理员添加:该表单中的“前台用户ID”,请注意是前台用户ID,而不是用户名或邮件地址,很多客户都遇到这个问题。 (2)、限制管理员登录的IP:点击已添加的管理名进入修改,可以添加该管理可访问的IP地址。用途即为当该管理员是公司员工,那么可以把该管理员的IP添加为公司IP,那么该管理员到其它地方就无法登录后台,提高安全防止破坏。 (3)、编辑权限可以对各个管理员进行权限设置访问,可以分权。例如有些管理员只负责风格设计,那么就让它有这个权限,有些管理员只负责管理用户资料,那么就让它可以访问用户资料管理。注意:如果是当前用户设置完要退出再登录后台。 4、重新统计各项数据(updata.asp) 模块功能包括:更新用户数据、修复用户数据、更新系统统计、更新缓存数据、更新群组数据、更新到期状态等。可根据名功能之下文字说明理解各自功能用途。这里主要介绍一下更新系统统计及更新缓存数据: (1)、更新系统统计,主要是系统表Ns_Setup表统计数据,比如全站所有用户数、日记数等。让其更准确一些,可以通过个入口进行更新统计。 (2)、更新缓存数据,上面有提到过更新缓存,这里有专门的入口更新缓存。主要有系统表缓存、外观模板缓存、 等级组缓存。 <1>、系统表缓存,更新Ns_Setup统计数据缓存。 <2>、外观模板缓存,即为模板缓存,当修改一些模板效果,需要通过这个更新一下,让系统立即运用新的模板风格。 <3>、等级组缓存,当重新编辑等级组中的权限,那么可以通过这个进行更新服务器中的缓存,达到立即运用。 这里有客户会遇到为什么我已经设计新的模板,但是生成之后还不是最新的模板呢?那么这里的外观模板缓存要执行一下,再生成就可以运用新模板风格了。 提醒:还有一个入口可以更新整站所有缓存,操作方法:您的网址+cleancache.asp,在浏览器地址栏输入该地址,然后回车(转到)访问执行一次,即可更新所有缓存。 5、邮件分发(mailto.asp) 主要功能提供给管理员在线发送邮件。可以输入邮件地址发送,也可以从用户数据中的邮件地址发 送,可以选择用户邮件、用户ID段、按等级组、所有女性、所有男性。该功能要能够使用,请确认常规设置中的邮件选项是否设置正确。 6、VIP/预付卡管理(prepaid.asp) 即提供网站创建卡片数据库,可以批量开卡,然后制作实物卡发放给会员。卡号格式:01类+8位日期+9位随机码,卡片是有使用期限。即当卡片超过使用期限,那么该卡即失效不能在使用里面的金额。 (三)频道管理: 博客日记 、网友相册、约会活动 、会员约会、拼客信息 、试客管理、婚庆联盟、群组圈子、恋爱诊所 、成功故事、辩论话题、 情感测试、鲜花配送、点歌中心、许愿墙管理。管理功能基本相同,可以看一下操作表单即可明白功能用途,有些列表中带一些链接可以点击进去详细看一下,或者你会发现有新的功能,这里不在介绍。 (四)生成管理: 模块功能包括:主页/频道首页、个人主页生成、生成页面记录、生成学校分站、生成地区分站 1、主页/频道首页主是首页及各个栏目首页生成!最好一天生成一次。 2、个人主页生成,即生成用户资料页。可能遇到用户长时间没有更新资料,可以通过这里生成。当然可以在用户资料管理列表中选定某个用户进行生成。批量生成方法是在这个表单中输入用户ID段:开始段至结束段,可以间隔1000,当然服务器性能好的话,可以一万或者更高,然后点击生成按钮。 3、数据页记录生成,网站所有信息页都在这里生成,例如日记内容页就是在这里生成,选择数据类别,可以分别生成各个类。可以只选择这个类别进行生成,其它表单可以不必选定。 4、地区分站生成,很多客户不知道省级分站生成方法?首先[生成类别]选择省辖分站——[国家名称]选择中国——[省辖名称]选择某个省,当然可以不选全部生成。 5、学校分站生成,选择[所在省区]——[学校名称](可选项),然后生成。另一种方法可以到学校数据管理中生成,方法:[学校数据]——[地区名称](如进入中国)——[省市名称]——可以选择某一个省进行生成,当然可以进入到学校列表再选择生成。 注意:生成管理如果要生成首先必须确认前台是否已经登录,即login.asp控制面板是否登录了。否则生成会出现错误。如果生成过程中遇到退出,需要重新登录。为什么会自动退出?很大原因是占用内存,被服务器被当掉了,当然可以提高应用池解决。 (五)模板管理: 即风格模板管理(template.asp),版本号5.2+ 模板名称对应栏目列表详细附录4,模板所在目录:Resource\Template_1,可以把整个目录下载到本地,用查找替换工具进行修改。 1、如何修改导航栏,去掉一些不需要的栏目或功能呢?操作方法:风格模板管理——分页模板(page_main)——语言包进入,可以看到0-6个模板号,这些都是主体模板。然后点击\Resource\Template_1\main_html0.htm进入编辑,如果修改坏如何恢复,可以点击获取官方模板,把那个页面下载下来就行。这里以要去掉“点歌中心”为例,在这里编辑器窗口中找到:<li><a href="/html/music/index.htm">点歌中心</a></li>这段代码去掉,然后提交保存。其它6个模板中也一样操作,即可完成去掉点歌中心。 2、如何修改控制面板中的不需要的栏目呢?操作方法:风格模板管理——分页模板(page_main)——语言包进入选择\Resource\Template_1\main_html2.htm进入编辑,即可以找到相应菜单列表。这里以要去掉“投票调查管理”,找到:<li><a href="setting.asp?action=vote">投票调查管理</a></li>这段代码去掉提交保存并更新缓存。 3、如何去掉版权信息?操作方法:风格模板管理——分页模板(page_main)——语言包进入0-6个模板号进入编辑窗口,在最底下找到标签:{$PowerTag}去掉并保存即可。当然这里也可以自己输入一些内容。 4、登录之后页面顶部有一行个人主页说明文字如何修改?打开js/foot.js,可以找到这些文字字符。提醒:如果用记事本编辑可能出现乱码或者排版乱的问题,可以用dreamweaver工具进行排版或者UltraEdit-32编辑。 5、如何批量修改某个字符如“佳缘”字样?可以用Dreamweaver或者UltraEdit-32等工具,进行文件夹查找替换,可以跨文件夹替换。主要还是查找Resource\Template_1目录下模板。也可以在各个模板语言包中去修改。 6、关于我们中的内容如何修改?可以在常规管理——帮助公告列表中找到相应文章进行编辑提交即可。 7、几个经常遇到的模板: (1)、地区分站模板(主体page_main语言包:\Resource\Template_1\main_html4.htm,内容页:page_html语言包:\Resource\Template_1\html_html34.htm) (2)、首页模板:(主体page_main语言包:\Resource\Template_1\main_html0.htm,内容页:page_html语言包:\Resource\Template_1\html_html0.htm) (3)、后台模板(\Resource\admin\admin_html0.htm),用户资料修改的模板(\Resource\admin\admin_html1.htm) (4)、修改注册模板中表单项,那么需要修改Resource\xml\select.xml文件,与之一一对应。 提示:凡是有修改过模板,记得要更新一下模板缓存,方法看用户管理第4点。要修改模板首先要找到模板中的相关样式,一般为<link href="/skins/xxxx.css" rel="stylesheet" type="text/css" />,打开修改。 (六)数据采集: 可以查看论坛教程:http://www.nslove.net/dispbbs.php?boardid=4&id=745 数据采集涉及到版权问题,请谨慎使用。采集对象网站可能实时在变化布局,所以每隔一段时间要重新去定位一下。 (七)过滤限制: 主要是一些敏感字符过滤,可以自由添加删除,添加方法:要过滤的字=替换掉的内容 IP限定添加,管理看说明就可以理解。 (八)数据库管理: 该管理有涉及到安全,请不要随意给其它人权限或者执行。 这里简要说明一下[执行SQL命令],通过该窗口可以批量修改数据库中数据,当然前提是你要懂得SQL命令。可以操作大部内容。要注意该操作是无法恢复的。 四、手册附录: 1、相应组件下载: Jmail4.5版:http://www.nslove.com/down/JMail4.5.rar AspJpeg1.5版:http://www.nslove.com/down/AspJpeg1.5.rar AspUpload3.0.0.6版:http://www.nslove.com/down/AspUploadv3.0.0.6.rar 2、模板命名方法: 后台分页模板采用page_xxxx为模板名,而每个分页模板都有语言包、字符集、循环体,这里先对这三者简单介绍如下: (1)语言包:即为显示在浏览器上的html源代码。 (2)字符集:即为用户在操作添加、删除等会提示一些操作性语句,如添加xxxx成功等。 (3)循环体:即为程序运行时显示的列表,经过程序循环处理显示出来! 三者关系:语言包主,字符集及循环体为辅并且替换语言包中的相关标签!三者相对应硬盘物理文件名分别:xxxx_html.htm、xxxx_strs.htm、xxxx_list.htm文件名称。如日记三者模板名:diary_html.htm,diary.strs.htm,diary_list.htm。如果遇到同一个模板名有多个模板,那么在diary_html0.htm加数字,diary_html1.htm方式。 3、通用标签: 访问官方论坛:http://www.nslove.net/dispbbs.php?boardid=4&id=775 4、模板名称对应说明: Page_Main:主体模板,网站头部尾部信息都在这里修改; Page_Index:index不是首页模板,它包括登录页、成功及错误信息、用户控制面板几个模板; Page_Html:前台所有生成静态的模板都在这里,如首页就是第一个模板(请注意每个模板前都有 <!--xxxxx-->这样注释即为该栏目静态模板) Page_List:动态文件模板,如搜索结果显示的模板等。 以下是在用户控制面板中分栏目模板 Page_Pray:许愿墙 Page_admin:后台管理的模板 Page_flower:送花模板 Page_Mark:评论模板 Page_Join:报名模板 Page_Article:文章公告模板 Page_Diary:日记发布等模板 Page_Album:相册模板 Page_Group:群组 Page_Party:1+1约会 Page_Story:成功故事 Page_Klatch:活动聚会 Page_Try:试客 Page_Test:心理测试 Page_Pingk:拼客 Page_Ask:顾问 Page_Msg:短信 Page_Email:邮件模板,包括所有发送的邮件模板; Page_Reg:注册页表单模板; Page_Profile:会员资料修改表单; Page_Ava:头像 Page_Upload:上传模板,所有上传入口都在这里; Page_Apply:服务 Page_Friend:朋友 Page_Setting:设置 Page_Account:帐号 Page_Organ:机构婚介 Page_Company:公司联盟

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值