博文

VFP函数系列教程---FWRITE( ) 函数(2006-05-16 10:00:00)

摘要:FWRITE( ) 函数 向低级文件函数打开的文件或通信端口写入字符串。FWRITE(nFileHandle, cExpression [, nCharactersWritten]) 返回值 数值型 参数 nFileHandle 文件句柄号,或要写入字符串的通信端口。 cExpression 指定 fwrite( ) 函数写入的字符表达式。 nCharactersWritten 除非包含 nCharacterWritten,否则 fwrite( ) 函数向文件或端口写入整个字符表达式。当包含 nCharacterWritten 时,向文件或端口写入 nCharacterWritten 个字符。如果 nCharacterWritten 小于 cExpression 中字符的数目,只向文件或端口写入 nCharacterWritten 个字符;如果 nCharacterWritten 等于或大于 cExpression 中字符的数目,将把 cExpression 中的所有字符都写入文件或端口。 备注 与 FPUTS( ) 函数不同,fwrite( ) 函数并不在字符串的尾部放置回车和换行符。 fwrite( ) 函数返回向文件或端口写入的字节数。如果由于某种原因,fwrite( ) 函数不能向该文件或端口写入数据,则函数的返回值为 0。 请参阅 FCHSIZE() | FCLOSE() | FCREATE() | FEOF() | FFLUSH() | FGETS() | FOPEN() | FPUTS() | FREAD() | FSEEK() | STRTOFILE()
......

阅读全文(6581) | 评论:0

VFP函数系列教程---FREAD( ) 函数(2006-05-16 09:56:00)

摘要:FREAD( ) 函数 从低级文件函数打开的文件或通信端口返回指定数目的字节。FREAD(nFileHandle, nBytes) 参数 nFileHandle 文件句柄号或要返回数据的通信端口。可以从成功的 FOPEN() 或 FCREATE() 语句的返回值获得 nFileHandle。 nBytes fread( ) 函数返回的字节数。FREAD( ) 从文件指针的当前位置开始,返回 nBytes 个字节的数据,或是遇到文件尾为止。 返回值 字符串类型 示例 下面的示例用 fread( ) 函数显示文件内容。如果文件为“空”,则提示相应信息。在使用该示例前, 你必须创建一个名为 Test.txt 的示例文本文件。Local gnFileHandle,nSize,cString gnFileHandle = FOPEN("test.txt") * Seek 到文件尾部来确定文件中的字节数。 nSize = FSEEK(gnFileHandle, 0, 2) && 移动指针到 EOF IF nSize <= 0 * 如果文件是空的, 显示错误信息。 WAIT WINDOW "文件是空的!" NOWAIT ELSE * 如果文件不空, 保存文件的内容到内存 * 并显示文本到 Visual FoxPro 主窗口中。 = FSEEK(gnFileHandle, 0, 0) && 移动指针到 BOF cString = FREAD(gnFileHandle, nSize) ? cString ENDIF = FCLOSE(gnFileHandle) && 关闭文件 请参阅 FCHSIZE() | FCLOSE() | FCREATE() | FEOF() | FFLUSH() | FGETS() | FILETOSTR() | FOPEN() | FPUTS() | FSEEK() | FWRITE()......

阅读全文(7579) | 评论:0

VFP命令系列教程---ON SHUTDOWN 命令(2006-05-15 15:34:00)

摘要:最近看到好多网友问退出Visual FoxPro的问题,现将该命令的用法显示如下: ON SHUTDOWN 命令 指定当试图退出 Visual FoxPro ,Microsoft Windows 时所要执行的命令。ON SHUTDOWN [Command] 参数 不带 Command 发出 ON SHUTDOWN 命令,将释放当前的 ON SHUTDOWN 命令。 备注 在 Visual FoxPro 中,当您试图退出 Visual FoxPro 时,将执行 ON SHUTDOWN 中指定的命令。如果在 Visual FoxPro 打开的情况下,试图从“程序管理器”退出 Microsoft Windows,控件权将返回给 Visual FoxPro 并执行 ON SHUTDOWN 中指定的命令。 ON SHUTDOWN 命令一般用 DO 命令执行某个例程。该例程显示一对话框,询问是否确定要退出当前应用程序和 Visual FoxPro。如果您要退出应用程序,该例程将关闭打开的文件并清理 Visual FoxPro 环境,然后执行 QUIT 命令。如果您不想退出当前的应用程序,例程将把控件权返回给应用程序。 请参阅 QUIT | exit 命令 | On Exit menu 命令......

阅读全文(5950) | 评论:0

获取某一路径下所有文件的文件名以及创建、修改时间(2006-05-11 09:43:00)

摘要:程序主体是从论坛里面的帖子得来,只是我自己稍加改进,得到如下程序,获取某一文件夹下面的文件总数、各个文件的创建时间、访问时间、改写时间。如果要获取某一种类型的文件,只需要判断文件名的扩展名是否是你想要的就可以了,有兴趣的朋友可以自己实现一下。 CLEAR
#Define BYTE_2               256
#Define OF_READ                0
#Define OF_SHARE_DENY_NONE    64
#Define HFILE_ERROR           -1
#Define dwordPlus     4294967296 Declare Integer GetFileTime In kernel32 ;
    Integer hFile, ;
    string @lpCreationTime, ;
    string @lpLastAccessTime, ;
    string @lpLastWriteTime
Declare Integer FileTimeToLocalFileTime In kernel32 ;
    string  lpFileTime, ;
    string @lpLocalFileTime
Declare INTEGER FileTimeToSystemTime IN kernel32 ;
    STRING......

阅读全文(5181) | 评论:0

asp中getrows的用法(2006-05-10 17:00:00)

摘要:getrows
这是在做项目的过程中学习到的,共享之。
大家可能经常会遇到这种情况:
sql="select * from table"
set rs=conn.execute(sql)
以上这两句执行完之后,如果使用response.write rs.recordcount,就会得到结果-1,但这个时候,记录集rs当中其实是有记录的。为了得到正确的记录总数,我们使用getrows. sql="select * from table"
set rs=conn.execute (sql)
arrA=rs.getrows '将记录集放在一个二维数组中
response.write ubound(arrA,2)+1
就会得到记录集的记录总数
response.write ubound(arrA,1)+1
就会得到记录集的总列数......

阅读全文(4725) | 评论:0

文字竖排的方法(2006-05-09 16:37:00)

摘要:今天在网上看到的一个文字竖排的方法,共享一下,最后有一个小示例,有兴趣的可以拷贝下来运行一下看看效果怎么样 文字竖排 本文翻译自msdn,某些示例已省去。
在 Internet Explorer 5.5 中使用垂直布局
Mark Grinols
Microsoft Corporation
2000年10月
摘要: 垂直布局是 Microsoft Internet Explorer 5.5 的一种主要的新功能。本文对垂直布局的基本概念进行了探讨,帮助您避免某些常见的错误。

注意: 本文中的示例需要 Internet Explorer 5.5 或更高的版本.

什么是垂直布局?

当您浏览几乎所有的 Web 页时(如本页),段落中的文字走向都是从左向右的。文本自动换行时,新的一行位于前一行下方,从页面的左侧开始。这是非常自然的,你甚至不会注意到它。

但是对于世界上的很多地方,这却不是天经地义的。如果你曾经看到过日文或中文的书籍或杂志,那么你就知道其印刷的文字通常采取垂直布局。文字起始于每页的右上角,其走向是向下的,换行时,下一行回到页面顶部并位于前一行的左侧。例如报纸的大字标题就在每页右侧自上而下地安排;路牌、情书、以及大多数其它形式的书写文字也是按照这种方法安排的。Web 页是个例外,HTML 无法处理这种布局。但是,这并没有阻止 Web 作者进行从位图到非常窄的表单元格的各种尝试。然而到目前为止,仍然没有找到能够实现垂直布局的令人满意的方法。

Writing-mode 的属性

在 Microsoft&reg; Internet Explorer 5.5 中,通过名为 writing-mode(英文)的 CSS(英文)属性(是当前为 CSS 3(英文)推荐的)启用对垂直布局的支持。下面的示例对于英文和日文内容进行了水平布局和垂直布局的比较。请浏览示例,然后我们将对细节进行深入探讨。

writing-mode 属性有两个要探讨的值:

tb-rl
lr-tb
Tb-rl 表示自上而下、从右向左,说明了应用这种样式的元素的内容走向。Lr-tb 表示从左向右、自上而下,它是所有文字的默认走向,也是英文读......

阅读全文(6092) | 评论:1

VFP中连接SQL数据库的一个小经验(2006-05-09 16:27:00)

摘要:今天写程序的时候,用到了使用字符串连接到SQL数据库,开始的时候,使用以下语句:    lcDSNLess1="DRIVER = {SQL Server};" ;
   + "SERVER="+servername+";" ;
   + "UID="+uid+";" ;
   + "PWD="+pwd+";" ;
   + "DATABASE="+databasename 在命令窗口执行 vconn1=SQLSTRINGCONNECT(m.lcDSNLess1),总是弹出一个选择DNS的对话框,百思不得其解,后来改成以下:    lcDSNLess1="DRIVER={SQL Server};" ;
   + "SERVER="+servername+";" ;
   + "UID="+uid+";" ;
   + "PWD="+pwd+";" ;
   + "DATABASE="+databasename 再运行 vconn1=SQLSTRINGCONNECT(m.lcDSNLess1),就OK了,也许和我一样粗心的朋友要问了,这两段代码有什么不同吗?不过相信细心的朋友或者有经验的朋友已经看出来了,就是 DRIVER={ ,其中的 = ,前后都没有空格的时候,才可以运行正确; 如果前面没有空格,但是后面有空格,执行 vconn1=SQLSTRINGCONNECT(m.lcDSNLess1),返回值总是-1;
如果前面有空格,后面没有空格,也会弹出一个选择DNS的对话框,由此也知道了SQLSTRINGCONNECT函数在执行的时候,是以 = 为依据,取其前面和后面的值,来进行判断,连接以及返回值。 以上只是一个小经验,也许有的朋友早就知道了,现在写出来,只是为了让以前不知道的朋友不要和我犯同样的错误。其实以前也用过字符串连接字符串,只不过以前写的=前后都刚好没有空格,所以没有发现这个问题。......

阅读全文(5603) | 评论:2

天苍苍野茫茫(2006-05-08 12:21:00)

摘要:天苍苍野茫茫,无奈在家数牛羊;
水湾湾路长长,没钱日子太漫长;
楼高人忙忙,今夜能否结伴抢银行?
别忘暗号:五一提钱快乐!......

阅读全文(4389) | 评论:0

VFP命令系列教程---BLANK 命令(2006-04-30 12:46:00)

摘要:BLANK 命令 如果发出该命令时不带任何参数,则清除当前记录中所有字段的数据。
BLANK [FIELDS FieldList] [Scope] [FOR lExpression1] [WHILE lExpression2]
   [NOOPTIMIZE] [IN nWorkArea | cTableAlias]

参数
FIELDS FieldList
仅清除在 Fieldlist 中指定的字段。默认情况下,如果省略了 FIELDS 子句,则清除该记录的所有字段的数据。在非选定工作区中指定的任何字段名都必须以工作区别名开始。
注意   如果记录指针已指向当前工作区的文件末尾,那么 BLANK 命令不清除另一个相关工作区中记录的字段数据。要使 BLANK 命令能够作用在其他相关记录的字段上,记录指针必须指向当前工作区中一个已排序的记录。

Scope
指定要清除的记录范围,只有在范围之内的记录才被处理。Scope 子句包括:ALL、NEXT nRecords、RECORD nRecordNumber 及 REST。
有关 Scope 子句的详细内容,请参阅 scope(作用域)子句 命令, 包含 Scope 子句的命令仅对活动工作区中的表进行处理。
有关 Scope(作用域)子句的详细信息, 参见 语言概述. 命令, 包含 Scope 子句的命令仅对活动工作区中的表进行处理。
BLANK 默认的作用域范围为当前记录 (NEXT 1)。

FOR lExpression1
清除使条件 lExpression1 为“真”(.T.) 的记录中的字段数据。若 lExpression1 为可优化表达式,则 Rushmerc 优化 BLANK FOR。有关 Rushmcre 优化的详细内容,请参阅 用 Rushmore 查询优化数据访问速度。

WHILE lExpression2
指定要清除的记录字段数据应满足的条件,即令逻辑表达式 lExpression2 为“真”(.T.)。

NOOPTIMIZE
禁止 BLANK 进行 Rushmore 优化。有关的详细内容,请参阅 SET ......

阅读全文(6252) | 评论:1

VFP命令系列教程---BEGIN TRANSACTION 命令(2006-04-30 12:42:00)

摘要:BEGIN TRANSACTION 命令 启动一个事务处理。仅对数据库中的表支持事务处理。 有关如何在数据库中创建和增加表的详细信息,请参阅CREATE DATABASE 和 ADD TABLE。
BEGIN TRANSACTION
备注
为了保存所做的修改并终止事务处理,应发出 END TRANSACTION 命令。如果事务处理失败(如服务器有故障或工作站有故障,以及没有提交事务处理就退出 Visual FoxPro),或者用户发出 ROLLBACK 命令,事务处理中的文件就恢复成原状态。
事务处理最深可嵌套五层,如果要进行第六层嵌套,则产生错误。
当修改一个数据库的记录,而该数据库又是事务处理的一部分时,网络上的其他用户在您终止事务处理之前无法访问(读或写)这些记录。
如果网络上的其他用户要访问您已经修改的记录,就必须等待您终止事务处理。在记录可用之前,用户将一直收到“记录不可用...请等待”的消息。因此,减小事务处理长度或在其他用户不需要访问期间进行事务处理就变得非常重要。
所有 IDX 索引文件 (非结构化, 或非基于 CDX 索引) 在事务处理期间必须关闭。在事务处理中只支持结构化索引。
在事务处理期间不支持下列命令和函数:
命令和函数
ADD TABLE                                   DELETE CONNECTION
APPEND PROCEDURES               DELETE DATABASE
CLEAR ALL           ......

阅读全文(6141) | 评论:0