您现在的位置: 捷凌网安 >> 编程语言 >> VFP编程 >> 正文
在VFP中怎样做出象IE4中的那样的浮动按钮

作者:佚名 责任编辑:左决 点击数: 更新时间:2008-2-16 6:45:36

  先放上按钮,将按钮的visible设为.f.,再用一image(其中图形与按钮一样)放在按钮的位置,在图片的mousemove事件中写入将按钮visible设为.t.的语句,在表单的mousemove事件中写入将按钮visible设为.f.的语句。

[返回]

2.使用 SQL,我正在设法将一个表与多个表建立左联接。当查询需要的所有表打开时,该查询可以工作。但是当有些表没有打开时,就会产生错误。而且当所有表打开时,尽管没有产生错误信息,但结果不正确。为什么?

  当试图建立一个表对多个表的左联接时,您也许使用了下面语句,该语句用表别名进行了“自联接”。您的 SQL 语句可能如下所示:

 select one.firstname as first, one.lastname as second,;

    two.firstname as third, two.lastname as fourth;

    from FirstTable; left outer join SecondTable one;

    left outer join SecondTable two; left outer join ThirdTable;

    on ThirdTable.ThirdID=FirstTable.FirstID;

    on Two.SecondID=FirstTable.FirstID;

    on one.SecondID=FirstTable.FirstID;

    order by 4,3,2,1

这里的查询试图将临时表 One、Two 以及 ThirdTable 左联接到 FirstTable 上,但是没有得到预期的效果。查询分析器从最里面的联接开始分析查询(在上面语句中为 "left outer join ThirdTable"),但是不能定位 FirstTable 表,该表名字位于此语句的上面。因此,如果没有打开表,您就会发现错误,如 "SQL: Column `ThirdID` 没有找到",同时输出也不正确。当表打开时,"couple.coupleid" 绑定到外部(非SQL)临时表 "couple" 的字段上。此查询也是合法的,但是得不到预期的效果。为了避免此错误,并能够得到正确结果,可以使用类似如下的 SQL 语句:

 select one.firstname as first, one.lastname as second,;

     two.firstname as third, two.lastname as fourth;

     from (((FirstTable;

     left outer join SecondTable One;

     on one.SecondID = FirstTable.FirstID);

     left outer join SecondTable Two;

     on Two.SecondID = FirstTable.FirstID);

     left outer join ThirdTable;

     on ThirdTable.ThirdID = FirstTable.FirstID);

     order by 4,3,2,1

语句中的括号不是必须的,但推荐您加上它。通过如上的语句结构,如果所有的表全部是关闭的,也不会出错,结果也是正确的。

[返回]

3.如何加密表DBF文件数据

 本人用VFP代码编了一个DBF加密小程序,以供大家参考:

 入口参数说明:

    filename 表文件名

    jm    =1 加密 =0 解密

 加密思想:用低级文件函数改写数据库第一个字节

 程序代码如下:

 parameters filename,jm

 *处理文件名

 if at('.',filename)=0

  filename=filename+'.dbf'

 endif

 if jm=1 &&加密

  handle=fopen(filename,2) &&打开文件

  keybITe=fread(handle,1) &&读表头第一个字节

  =fseek(handle,0) &&指针移回第一个字节

  =fwrite(handle,chr(asc(keybITe)+2)) &&用比原来高2的ASCII字符改写

  =fclose(handle) &&关闭文件

 else &&解密

  handle=fopen(filename,2)

  keybITe=fread(handle,1)

  =fseek(handle,0)

  =fwrite(handle,chr(asc(keybITe)-2)) &&用比原来低2的ASCII字符改写

  =fclose(handle)

 endif

 经过这样处理过的表就不能用USE打开,优点是加密速度快,但不彻底但用

 一个文本编辑器打开还是可以看到一些东西,怎样进一步加密还有待探讨。
  • 上一篇文章:

  • 下一篇文章:
  •  
    最进更新
    普通文章VC++设计超强仿QQ自动伸缩窗04-17
    推荐文章基于HOOK和MMF的Win密码渗透04-17
    推荐文章几种VC++数据库开发技术的相04-17
    普通文章多线程、Socket技术及委托技04-11
    推荐文章VB.Net连接各种数据库的几种04-11
    普通文章VB.NET中的多窗体编程:升级04-11
    普通文章用VB.NET定制Windows控件04-11
    普通文章VB.NET中监视文件夹的变化04-11
    普通文章VB.NET中对象的克隆04-11
    推荐文章VB.NET中的TextBox控件详解04-11
     
    推荐文章
    推荐文章基于HOOK和MMF的Win密码渗透04-17
    推荐文章几种VC++数据库开发技术的相04-17
    推荐文章VB.Net连接各种数据库的几种04-11
    推荐文章VB.NET中的TextBox控件详解04-11
    推荐文章在VB.NET中进行抓屏04-11
    推荐文章VB.Net开发的长内容自动分页04-11
    推荐文章VB.NET中快速访问注册表技巧04-11
    推荐文章PHP5手动最简安装方法03-07
    推荐文章完全讲解PHP+MySQL的分页显示03-07
    推荐文章Linux Shell元字符知识笔记02-21
     
    热点文章 
    普通文章VC++设计超强仿QQ自动伸缩窗04-17
    推荐文章基于HOOK和MMF的Win密码渗透04-17
    推荐文章几种VC++数据库开发技术的相04-17
    普通文章VB.NET中的多窗体编程:升级04-11
    普通文章用VB.NET定制Windows控件04-11
    普通文章VB.NET中对象的克隆04-11
    推荐文章VB.NET中的TextBox控件详解04-11
    普通文章VB/VB.NET/C#导出到Excel的方04-11
    普通文章如何通过VB.NET获取网卡地址04-11
    普通文章VB.NET中使用ListView控件的04-11

    | 设为首页 | 加入收藏 | 联系站长 | 广告服务 | 友情链接 | 版权申明 | 网站地图 |

    在线交流 捷凌网安主群:51649627
    Copyright 2007-2008 © 捷凌网安. All rights reserved.
    备案序号:蜀ICP备08001812号