vfp5.0的代码,有些看不懂,对各位是小意思的!
absolute_path=sys(16) &&读取绝对路径的可执行文件名
ni=len(absolute_path)-rat('\',absolute_path)
public_path=left(sys(16),len(allt(sys(16)))-ni)&&&获取运行路径
set defa to &public_path
release ni
winname="数据管理系统-----销售部"
_SCREEN.CAPTION=winname
_SCREEN.WINDOWSTATE=2
_SCREEN.icon='bmp\axg.ico'
_screen.picture='bmp\backwx.bmp'
_screen.closable=.f.
_screen.visible=.t.
set date to mdy
set delet on
set talk off
set safe off
set sysm to
SET CENT ON
set hours to 24
set nulldisplay to ''
set excl off
close all
if !(file('axing.dbc') and file('axing.dcx') and file('axing.dct'))
create data axing
endif
close all
if dbused('axing')
set data to axing
else
open data axing share
endif
set proc to prg\rwini.prg. additi
sqlsetprop(0,'displogin',3) &&&关闭 SQL 登录失败对话框
sqlsetprop(0,'transaction',1) &&&设为自动事物处理
PUBLIC GJB,loginuser,computeruser
str_connect="'"+"driver="+rwini('wxxsb.ini','database','driver','sql server')+";"
str_connect=str_connect+"server="+rwini('wxxsb.ini','database','server','wxdata')+";"
str_connect=str_connect+"uid="+rwini('wxxsb.ini','database','uid','axg')+";"
str_connect=str_connect+"pwd="+rwini('wxxsb.ini','database','pwd','lqs')+";"
str_connect=str_connect+"database="+rwini('wxxsb.ini','database','database','sckdata')+"'"
*str_connect="'driver=sql server;server=wxdata;uid=axg;pwd=lqs;database=sckdata'"
gjb=sqlstringconnect(&str_connect.)&&&连接服务器数据库
if gjb<=0
messagebox('服务器故障==请与计算机中心联系',0,'严重故障:建议检查 数据库 sckdata')
close all
cancel
endif
loginuser=' '
computeruser=left(id(),at('#',id())-2)
do prg\map_net_disk &&&映射网络路径
create connection sckdatalnk connstring &str_connect.
_SCREEN.CAPTION=winname
_SCREEN.comment=winname
do prg\auto_exit_sys.prg &&&自动退出程序 对应 wxxsb.ini 中message 的信息
do form frm\order_login with '销售部'
read events
问题点数:20、回复次数:11Top
1 楼LAIYANGPJ(小丑)回复于 2004-11-04 10:46:39 得分 0
那看不懂啊!Top
2 楼apple_8180(十豆三)回复于 2004-11-04 10:48:03 得分 0
那句看不懂?Top
3 楼xiaoya_424()回复于 2004-11-04 10:57:01 得分 0
sqlsetprop(0,'displogin',3) &&&关闭 SQL 登录失败对话框
sqlsetprop(0,'transaction',1) &&&设为自动事物处理Top
4 楼xiaoya_424()回复于 2004-11-04 10:58:26 得分 0
ni=len(absolute_path)-rat('\',absolute_path)
public_path=left(sys(16),len(allt(sys(16)))-ni)&&&获取运行路径
set defa to &public_pathTop
5 楼LAIYANGPJ(小丑)回复于 2004-11-04 11:08:20 得分 5
sqlsetprop(0,'displogin',3) &&&关闭 SQL 登录失败对话框
sqlsetprop(0,'transaction',1) &&&设为自动事物处理
******************
你看一下,SQLSETPROP()函数
********************
ni=len(absolute_path)-rat('\',absolute_path)
public_path=left(sys(16),len(allt(sys(16)))-ni)&&&获取运行路径
set defa to &public_path
***************
SYS(16)是返回正在执行的程序文件名带绝对路径
下面的LEFT()是从NI文件中取出路径.
SET DEFA TO 设置默认的驱动器和目录.
Top
6 楼apple_8180(十豆三)回复于 2004-11-04 11:31:34 得分 5
指定一个活动连接的设置。
SQLSETPROP(nConnectionHandle, cSetting [, eExpression])
返回值
数值型
参数
nConnectionHandle
指定由 SQLCONNECT() 返回的、指向数据源的连接句柄。
cSetting
指定设置,下表列出了 cSetting 的值。 设置 说明
Asynchronous 指定结果集合是同步返回 (默认值为“假”(.F.)),还是异步返回(“真”(.T.))。可读写。
BatchMode 指定 SQLEXEC() 是一次返回全部结果集合 (默认值为“真”(.T.)),还是用 SQLMORERESULTS() 单个返回结果集合(“假”(.F.))。可读写。
ConnectBusy 如果共享连接繁忙,为“真”(.T.);否则为“假”(.F.)。只读。
ConnectString 注册的连接字符串。只读。
ConnectTimeOut 指定返回一个连接超时错误之前的等待时间 (以秒计算)。如果指定为 0 (默认值),将无限期等待,而不会返回超时错误。ConnectTimeOut 可以从 0 到 600。可读写。
DataSource 和 ODBC.INI 文件中相同的数据源文件名。可读写。
DispLogin 包含一个数值,决定什么时候显示“ODBC 注册”对话框。DispLogin 可以设定为下列值:1 或 DB_COMPLETE(在 FOXPRO.H 中定义)。
1 是默认值。2 或 DB_PROMPT(在 FOXPRO.H 中定义)。3 或 DB_NOPROMPT(在 FOXPRO.H 中定义)。如果指定为 1 或 DB_COMPLETE,则当需要的信息未得到时,总是显示“ODBC 注册”对话框。如果指定为 2 或 DB_PROMPT,则总是显示“ODBC 注册”对话框,允许连接前更改设置。如果指定为 3 或 DB_NOPROMPT,则不显示“ODBC 注册”对话框并且当所需要的注册内容不可用时,Visual FoxPro 产生一个错误。可读写。
DispWarnings DispWarnings 指定要显示一个错误信息 (“真”(.T.)),还是不显示一个错误信息 (“假”(.F.),默认值)。可读写。
IdleTimeout 以秒计算的空闲超时间隔。在指定的时间间隔之后,活动的连接成为不活动的,默认值是 0 (无限期等待)。可读写。
ODBChdbc 内部 ODBC 连接句柄,外部库文件 (FLL文件) 在调用 ODBC 时使用该句柄。只读。
ODBChstmt 内部 ODBC 语句句柄,外部库文件 (FLL文件) 在调用 ODBC 时使用该句柄。只读。
PacketSize 连接所用的网络包的大小,调整该值可以改善性能。默认值是 4096 字节 (4K)。可读写。
Password 连接口令。只读。
QueryTimeOut 指定在返回一般超时错误之前等待的时间 (以秒计算)。如果指定为 0,将无限期等待而不会返回超时错误。QueryTimeOut 可以是 0 到 600,默认值是 15。可读写。
Shared 指定是否基本的连接是否是共享连接 (真 (.T.)), 或不是 (假 (.F.))。
只读。
Transactions 包含一个数值,该数值决定连接如何管理远程表上的事务处理。Transactions 可以设定为下列值:1 或 DB_TRANSAUTO(在 FOXPRO.H 中定义)。
1 是默认值,自动处理远程表的事务。2 或 DB_TRANSMANUL(在 FOXPRO.H 中定义)。通过 SQLCOMMIT() 和 SQLROLLBACK() 人工处理事务。可读写。
UserId 用户标识。只读。
WaitTime 在 Visual FoxPro 检查 SQL 语句是否结束执行之前延迟的以毫秒计的时间值。默认值是 100 毫秒。可读写。
eExpression
对 cSetting 标明的设置指定值。如果省略了 eExpression 参数,则还原成设置的默认值。
备注
如果调用成功,SQLSETPROP() 返回 1;否则,如果发生连接级错误则返回 -1,发生环境级错误则返回 -2。
使用 SQLSETPROP() 在连接级上指定设置。若要在环境级指定 Visual FoxPro 默认设置,用 0 作为连接句柄。
ConnectTimeOut 选项只能在 Visual FoxPro 级上设置,而不能在连接级上使用。所有其他选项既可在连接级,也可在 Visual FoxPro 级上进行设置,每个在 Visual FoxPro 级的设置作为随后连接的默认值。
可用 SQLGETPROP() 返回指定设置的当前值
注意 ODBC 登录对话框必须禁止来支持 SQL pass through 和 Microsoft Transaction Server。使用 SQLSETPROP(cConnectionHandle, 'DispLogin', 3) 来禁止 ODBC 登录对话框。ODBC 登录对话框也可以在 连接设计器 中禁止。
示例
SQLSETPROP() 用于为当前连接设置数据包大小。
* 清除环境
CLOSE ALL
CLEAR ALL
CLEAR
* 显示选定连接或数据源对话框
* 来选择一个连接
nHandle=SQLCONNECT()
* 测试连接, 报告结果
IF nHandle > 0
* Set PacketSize
nSet=SQLSETPROP(nHandle, "PacketSize", 2048 )
* 测试设置并显示结果
IF nSet > 0
=MESSAGEBOX("PacketSize 是设置为 2048",0,"连接结果")
ELSE
=MESSAGEBOX("错误设置 PacketSize",0,"连接结果")
ENDIF
ELSE
=MESSAGEBOX("无连接",0,"连接结果")
ENDIF
=SQLDISCONNECT(nHandle)
Top
7 楼apple_8180(十豆三)回复于 2004-11-04 11:33:18 得分 5
RAT函数:
--------------------------
返回一个字符表达式或备注字段在另一个字符表达式或备注字段内第一次出现的位置,从最右边的字符算起。
RAT(cSearchExpression, cExpressionSearched [, nOccurrence])
返回值
数值型
参数
cSearchExpression
指定 rat( ) 函数要在 cExpressionSearched 中搜索的字符表达式。
cExpressionSearched
指定 rat( ) 函数搜索的字符表达式。字符表达式 cSearchExpression 和 cExpressionSearched 可以是任意大小的备注字段。
nOccurrence
指定 rat( ) 函数在 cExpressionSearched 中从右到左搜索 cSearchExpression 的第几次出现时的位置。默认时,rat( ) 函数搜索 cSearchExpression 的最后一次出现 (nOccurrence=1) 时的位置。如果 nOccurrence 等于 2,rat( ) 函数将搜索倒数第二次出现的位置,依此类推。
备注
与 AT( ) 函数相反,rat( ) 函数在字符表达式 cExpressionSearched 中从右到左搜索另一个字符表达式 cSearchExpression 最近一次出现的位置。
rat( ) 函数返回一个整数,该整数指示 cSearchExpression 的第一个字符在 cExpressionSearched 中的位置。如果在 cExpressionSearched 中没有找到 cSearchExpression,或者 nOccurrence 大于 cSearchExpression 在 cExpressionSearched 中的出现次数,那么 rat( ) 函数返回 0。
rat( ) 函数执行的搜索区分大小写。
示例
STORE 'abracadabra' TO string
STORE 'a' TO find_str
CLEAR
? RAT(find_str,string) && 显示11
? RAT(find_str,string,3) && 显示6
------------------------
返回正在执行的程序文件名。
SYS(16 [, nProgramLevel])
返回值
字符型
参数
nProgramLevel
指示从第几层嵌套中获取程序名。该值范围可以 1 变化到程序嵌套的层数。
如果 nProgramLevel 是 0 或 1,SYS(16) 返回主程序名(第一个执行的程序);如果省略了 nProgramlevel 参数,那么返回当前正在执行的程序名;如果 nProgramlevel 参数大于程序嵌套深度,则返回一个空串。
备注
如果要从错误中恢复过来,该函数很有用。SYS(16) 与 PROGRAM() 相似,然而,SYS(16) 返回带路径的程序名,而 PROGRAM() 只返回程序名。
如果正在执行一个过程或函数,SYS(16) 在过程或函数名之后返回包含该过程或函数的文件名。
当正在执行的程序是应用程序 (.APP) 的一部分,那么 SYS(16) 只返回程序名(路径不和程序名一起返回)。
示例
在下面的小程序示例中返回程序嵌套数目:
STORE 1 TO gnX
DO WHILE LEN(SYS(16,gnX)) != 0
? SYS(16,gnX)
STORE gnX+1 TO gnX
Top
8 楼apple_8180(十豆三)回复于 2004-11-04 11:35:07 得分 5
从字符表达式最左边一个字符开始返回指定数目的字符。
LEFT(cExpression, nExpression)
返回值
字符型
参数
cExpression
指定字符表达式,left( ) 函数从中返回字符。
nExpression
指定从字符表达式中返回的字符个数。若 nExpression 的值大于 cExpression 的长度,则返回字符表达式的全部字符。如果 nExpression 为负值或 0,则返回空字符串。
left( ) 函数与起始位置为 1 的 SUBSTR( ) 函数是等价的。
示例
CLEAR
? LEFT('Redmond, WA', 4) && 显示Redm
------------------------------------------------
指定默认的驱动器、目录或文件夹。
SET DEFAULT TO [cPath]
参数
cPath
指定下列参数
驱动器指示符。
含目录名称或文件夹名称的驱动器指示符。
子目录名称或文件夹名称。
使用 MS-DOS 速记符号(\ 或 ..)的上述各项。
备注
在 Visual FoxPro 中,SET DEFAULT 将默认目录设置为指定的目录。
Visual FoxPro 在默认的 Visual FoxPro 目录或文件夹中搜索文件。默认的目录或文件夹就是启动 Visual FoxPro 的目录或文件夹。不过,可以在启动程序或 Visual FoxPro 配置文件中指定一个不同的默认目录或文件夹。如果 Visual FoxPro 不能在默认的目录或文件夹中找到文件,Visual FoxPro 接着搜寻 Visual FoxPro 路径(如果指定的话)。要指定 Visual FoxPro 路径,可使用 SET PATH。
如果创建文件时没有指定保存位置,则该文件会保存到 Visual FoxPro 的默认目录或文件夹中。
在多线程服务程序中, SET DEFAULT 影响整个进程。也就是说, 如果你实例了多个线程, 并且你在一个线程中使用了 SET DEFAULT TO "MYDIR", 它影响所有的线程和对象载入的进程。
当退出 Visual FoxPro 时,将返回 Windows 中。当退出 Windows 时,将返回到启动 Windows 时所在的目录下。
提示 SYS(5) 返回默认驱动器。SYS(2003) 返回没有驱动器指示符的默认目录或文件夹,SYS(5)+SYS(2003) 返回默认的驱动器及目录或文件夹。
使用下面命令可以将默认驱动器设置为驱动器 A:
SET DEFAULT TO A
SET DEFAULT TO A:
可以指定一个特定的目录:
SET DEFAULT TO A:\sales
SET DEFAULT TO C:\sales\data
可以指定子目录。如果在驱动器 C 上的根目录是默认的 Visual FoxPro 目录,发出下面命令能够将默认目录设置为 C:\SALES:
SET DEFAULT TO sales
可以使用 MS-DOS 速记符号。如果当前目录是 C:\SALES\DATA,发出下面命令可将根目录设置为默认目录:
SET DEFAULT TO \
也可以使用下面命令将默认目录设置为上一层父目录:
SET DEFAULT TO ..
Top
9 楼LAIYANGPJ(小丑)回复于 2004-11-04 12:12:55 得分 0
十豆三还有吗?顶一下......Top
10 楼apple_8180(十豆三)回复于 2004-11-04 12:26:07 得分 0
没有了,多谢!!!
Top
11 楼xiaoya_424()回复于 2004-11-04 13:17:24 得分 0
谢谢!Top




