怎样用delphi实现给paradox表加密码?

解决方案 »

  1.   

    delphi 自己带的desktop就可以加上密码呀
      

  2.   

    我的意思是用delphi程序编写一段代码给paradox表加密码
      

  3.   


    procedure AddMasterPassword(Table: TTable;pswd: string);
    const
    RESTRUCTURE_TRUE=WordBool(1);
    var
    TblDesc: CRTblDesc;
    hDb: hDBIDb;
    begin
    {表打开?表是独占吗?}if (Table.Active=False) or (Table.Exclusive=False) then
    raise EDatabaseError.Create('数据表必须在独占方式才可以添加口令');{初始化表描述区}
    FillChar(TblDesc, SizeOf(CRTblDesc), 0);
    with TblDesc dobegin
    {把表名放到描述区}
    StrPCopy(szTblName, Table.TableName);
    {把表类型放到描述区}
    StrCopy(szTblType, szPARADOX);
    StrPCopy(szPassword, pswd);{设置BPROTECTED为TRUE}
    bProtected :=RESTRUCTURE_TRUE;
    end;{从当前的HANDLE里得到DATABASE的HANDLE}
    Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE,
    hDBIObj(hDb)));
    {关闭表}
    Table.Close;
    {添加主口令到PARADOX表里}
    Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, FALSE));
    {添加一个新口令到SESSION}
    Session.AddPassword(pswd);{重新打开表}
    Table.Open;
    end;
    你可以根据你的情况修改某些代码,别忘了use Bde,DBTables