您的位置:程序门 -> vb -> 基础类



网上代码真不好用!报错,我晕!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


网上代码真不好用!报错,我晕!!
发表于:2007-08-15 00:18:36 楼主
option   explicit
'等到某一磁盘分区的信息
'运用***.mdb来控制软件的注册
'getwindowdirectory()返回windows系统路径字符串的长度,lpbuffer存放系统路径字符串,nsize系统路径字符串的长度
private   declare   function   getwindowsdirectory   lib   "kernel32 "   alias   "getwindowsdirectorya "   (byval   lpbuffer   as   string,   byval   nsize   as   long)   as   long
public   spath   as   string   '用于存放系统目录
sub   main()
    dim   ws   as   workspace   '工作区
    dim   db   as   database   '数据库
    dim   tdf   as   tabledef   '数据表
    dim   fld   as   field   '数据字段
    dim   rst   as   recordset   '数据记录
    '*************锁定系统目录************************
    dim   pathsize   as   long
    dim   api_spath   as   string   *   256   '必需256长
    pathsize   =   getwindowsdirectory(api_spath,   len(api_spath))
    spath   =   left$(api_spath,   pathsize)   '从字符串api_spath的左侧开始,取pathsize个字符(去除api_spath的右侧的空格)
    '************更改系统时间,来实现隐藏注册库的修改时间**********
                dim   datetemp
                dim   mydate
                dim   timetemp
                dim   mytime
                mydate   =   #8/1/2007#
                mytime   =   #4:00:00   pm#
                datetemp   =   date
                timetemp   =   time
                date   =   mydate
                time   =   mytime
    '****查找是否存在***库,如不存在创建***库,启动注册窗体************
    if   dir(spath   &   "\***.*** ")   =   " "   then
        set   ws   =   dbengine.workspaces(0)
        set   db   =   ws.createdatabase(spath   &   "\***.mdb ",   dblanggeneral)   'dblanggenral是一个常数,用来确定数据驱动程序支持的语言类别
        set   tdf   =   db.createtabledef( "*** ")
        set   fld   =   tdf.createfield( "*** ",   dbinteger)
        tdf.fields.append   fld
        db.tabledefs.append   tdf
        set   db   =   ws.opendatabase(spath   &   "\***.mdb ")
        set   rst   =   db.openrecordset( "*** ")
        rst.addnew
        rst.fields( "*** ")   =   0
        rst.update
        rst.close
        db.close
        ws.close
        dbencrypt.dbencrypt   (spath   &   "\***.mdb ")   '加密数据库
        'setattr   spath   &   "\***.mdb ",   vbhidden   '更改数据库的属性,当数据库设置为隐藏dir找不到此文件,因此没有通用性,vbsystem数据库设置为系统文件时因win2k中不存在系统文件属性文件找不到,所以也没用通用性。
        name   spath   &   "\***.mdb "   as   spath   &   "\***.** "   '重命名数据库
        frm_zc.show
    else
    '**注册库存在,判断是否已经注册,如已注册启动主窗体,如未注册启动注册窗体**
        dbencrypt.dbexplain   (spath   &   "\***.*** ")   '数据库解密
        set   ws   =   dbengine.workspaces(0)
        set   db   =   ws.opendatabase(spath   &   "\***.** ")
        set   rst   =   db.openrecordset( "*** ")
        rst.movefirst
        if   rst.fields( "*** ")   =   1   then
                frm_yhdl.show   '启动主窗体
        else
              frm_zc.show   '启动注册窗体
        end   if
        rst.close
        db.close
        ws.close
        dbencrypt.dbencrypt   (spath   &   "\***.** ")   '加密数据库
    end   if
        '********************将时间改会原来时间************************
                date   =   datetemp   +   (date   -   mydate)
                time   =   timetemp   +   (time   -   mytime)
    '**************************************************************
end   sub

网上代码   本想引用,报错 " "编绎错误,无效限定符. "
  指针指向   dbencrypt.dbencrypt   (spath   &   "\***.** ")  
  这句话在这里却实有点莫名其妙   dbencrypt是什么东东??
高手,赐教!
发表于:2007-08-15 08:32:431楼 得分:0
应该是一个加密函数,你要找到源码才行呀
发表于:2007-08-15 10:50:102楼 得分:0
应该还有一个叫做   dbencrypt   的类模块。
把有关   dbencrypt.   的语句都注释掉。然后自己写一个加解密函数,以二进制方式读入数据库源文件,加密后,用密文覆盖源文件;解密则是逆过程。
发表于:2007-08-17 17:54:163楼 得分:0
能写具体点么,大哥!
发表于:2007-08-17 20:58:414楼 得分:0
................................


快速检索

最新资讯
热门点击