文章关键字 ‘foxpro’
2012年05月11日,星期五
form.init events code:
thisform.grid1.ActivateCell(2,1) &&显示第二行第1例
thisform.text1.value=tablename.字段1 &&第一列的字段值
2012年05月11日,星期五
**************************************************************
* Md5算法在VFP中的实现
* 调用方法: MD5(要加密的字符串,16) 或 MD5(要加密的字符串,32)
* 第二个参数说明返回加密串的长度,32或16,默认为16
**************************************************************
Function LShift(lValue, iShiftBits)
If iShiftBits = 0
Return lValue
Else
If iShiftBits = 31
If BitAnd(lValue,1)<>0
Return 0×80000000
Else
Return 0
EndIf
EndIf
EndIf
IF BitAnd(lValue,m_l2Power(31 – iShiftBits))<>0
Return BitOr((BitAnd(lValue,m_lOnBits(31 – (iShiftBits + 1))) * m_l2Power(iShiftBits)),0×80000000)
Else
Return (BitAnd(lValue,m_lOnBits(31 – iShiftBits)) * m_l2Power(iShiftBits))
EndIf
EndFunc
Function RShift(lValue,iShiftBits)
If iShiftBits = 0
Return lValue
Else
If iShiftBits = 31
I···
2012年05月11日,星期五
Declare Integer Beep IN kernel32 Integer, Integer
Beep(2000,200)
说明:第一行定义beep,来自系统自带的kernel32.dll。
第二行为发声函数。第一个数字是频率,第二个数字是时长(毫秒)。
频率建议在100-8000之间。不同的主板频率响应情况不同。
2012年05月11日,星期五
这个控件在安装目录的 FFC\下
复制到你的工程目录下,添加到控件工具栏,当作一个控件来使用。
这是一个没有可视界面的类。只有几个方法可以供调用:
EncryptSessionStreamString方法 &&流加密一个字符串。
语法
EncryptSessionStreamString(lcPassWord, lcKey, @lcEncryptedStream)
参数
lcPassWord &&需要流加密的字符串。
lcKey &&加密键值。
@lcEncryptedStream &&加密完成后返回的字符传。
DecryptSessionStreamString方法 &&解密一个流加密过的字符串。
语法
DecryptSessionStreamString(lcPassWord, lcKey, @lcDecryptedStream)
参数
lcPassWord &&需要解密的流加密字符串。
lcKey &&解密键值。
@lcDecryptedStream &&解密完成后返回的字符串。
EncryptSessionBlockString方法 &&块加密一个字符串(块比流的加密强···
2012年05月11日,星期五
应本坛坛友的建议把标题改了一下,增加了“一闪而过”的字样,因太多入门者都会碰到“一闪而过”的问题!最后加了我个人的补充!再次增加补充!
转贴: 了解VFP表单窗口属性
笔者在两年多的新闻组生活中,曾数十次遇到过初学者对VFP的表单窗口属性所提出的问题,特别是“为何系统编译后运行时一闪而过”的问题,更是被频繁地提出。现根据我的经验进行一下总结,以帮助初学者打掉这只拦路虎。
其实,这个问题之所以被频繁地提出,并非是由于初学者的理解能力有问题,而实在是VFP的设计混乱所致,以至于造成初学者理解上的混乱。笔者曾在“济南万千”的“软件、编程、数据库”新闻组就此问题发过“窗口问题到此为止”的帖子,反响很大,现根据该帖进行整理,修正补足该帖中的一些不准确之处及遗漏。
本文所提“表单窗口属性”,是指那些不但影响表单本身的特征(例如长宽等),而且对表单之外、项目之中的其它“元件”有影响的表单属性,它们包括如下三个:
属性 意义 可选值(黑···
2012年05月11日,星期五
最近做foxpro程序发现点击关闭的按钮不能退出程序
最后想的办法是把CLOSABLE属性设为.F.
以防用户点击关闭表单造成程序出错,
强迫用户用点击设计的命令按钮,
其实你可以设计好程序,
让用户点击表单右上角的”关闭”按钮执行你设计的的”关闭”命令按钮的功能.方法十分简单:
1 在表单初始化的时候添加属性:sfclose–值为.F.
2 在”关闭”命令按钮中添加下列代码: THISFORM.sfclose=.t.
3 在表单的QueryUnload事件中设计下列代码
if THISFORM.sfclose=.f.
nodefault
thisform.你的命令按钮.click
endi
这样我们的程序、表单更专业化了….
2012年05月4日,星期五
foxpro 当前目录
今天想设置foxpro的默认工作目录
可是发现个问题:就是你要取得当前表单form的工作目录
在网上找了好多都没有什么用处
最后还是自己动手丰衣足食
写下来以备后用
首先取得表单的目录并保存到变量curpath中
public cCurrent ,nPathStart ,nLenOfPath ,curpath
cCurrent = SYS(16,1)
nPathStart = AT( “:”,cCurrent)- 1
nLenOfPath = RAT( “\”,cCurrent) - (nPathStart)
curpath=SUBSTR(cCurrent, nPathStart, nLenofPath)
设置默认工作目录
SET DEFA TO &curpath
2012年04月24日,星期二
最近做程序用到了foxpro的grid表格,找了些表格grid的方法记录下来
设置GRID列宽,列民初的方法。
WITH thisform.grid名
.RecordSourceType=1 &&别名
.RecordSource=”数据表名” &&表源
.ColumnCount=2 &&表格列数=2
.column1.ControlSource=”表名.字段名1″
.column1.Width=62 &&表格第一列列宽
.column1.BackColor=RGB(243,239,154) &&表格第一列背景色
.Column1.Header1.caption=”表头说明”
.Column1.Header1.Alignment=2 &&表格居中
.column1.ReadOnly=.T. &&表格只读
.column2.ControlSource=”表名.字段名2″
.column2.Width=171 &&表格第二列列宽
.column2.BackColor=RGB(130,215,125) &&表格第二列背景色
.column2.ReadOnly=.F. &&表格读写
.Column2.Header1.caption=”表头说明”
.Column2.Header1.Alignment=2 &&表格居中
ENDWITH
下面的方法也可以···
2012年03月20日,星期二
今天用vf做了个成绩录入的小系统,编译后,
可执行文件exe运行出现错误“不能更新临时表”
查看源代码发现用的两个工作区
没有问题,代码分析发现没有什么问题,表也打开了,直接在vf中运行表单发现可以更新表,不提示“不能更新临时表”
只要已编译运行exe文件就提示“不能更新临时表”
看了问题出现在编译过程,最后在项目管理器中找到下图所示的地方选中排查,重新编译就不出现提示“不能更新临时表”
了,
vf连编以后表不能修改,表示表被包含在exe文件中了,只读。
在项目管理器中把用户表“排除”即可。
试试吧。
每次打开表的时候选择工作区一个工作区 select 1在打开表
就能避免好多的问题
2012年03月18日,星期日
visual foxpro常用命令4–赋值语句(store…to)
赋值语句(store…to)
将一个数据赋给一个变量。
语法:
STORE 表达式 TO 变量名表
参数:
表达式的值即为要赋给变量的数据。
变量名表即为要被赋值的各变量。在这里可以是一个变量,也可以是多个变量,如果有多个变量,其间用“,”(逗号)隔开。
备注:
如果是给一个变量赋值,该语句可写成如下形式:
变量名=表达式
表达式可以是一个数值,也可以是一个算术式。
举例:
例1:将3赋给ab、xyz、jfz三个变量,程序如下:
store 3 to ab,xyz,jfz
例2:将变量gz的值加100赋给yfgz。程序如下:
yfgz=gz+100