日期:2012-03-10  浏览次数:20465 次

#include <vcl.h>
#pragma hdrstop

#include "dolACCESS.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tform1 *form1;
//---------------------------------------------------------------------------
__fastcall Tform1::Tform1(TComponent* Owner)
       : Tform(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tform1::SpeedButton1Click(TObject *Sender)
{
  if( OpenDialog1->Execute())
      edtFileName->Text=OpenDialog1->FileName;
  else
      Application->MessageBoxA("没有选定有效的文件名!","消息",IDOK);     
              
}
//---------------------------------------------------------------------------
void __fastcall Tform1::Button1Click(TObject *Sender)
{
   int iFileHandle;
   int iByteRead;
   int i,j;
   char *pszBuffer;
   char Code[0x27]={0x10,0xEC,0xCB,0x9C,0x50,0x28,0x85,0x8A,0xC2,0x7B,
                    0x63,0xDF,0xE1,0x13,0x59,0xB1,0xA2,0x79,0x04,0x7C};
   if(edtFileName->Text.Length()!=0)
   {
       try
       {
               iFileHandle=FileOpen(edtFileName->Text,fmOpenRead);
               FileSeek(iFileHandle,0x42,0);
               pszBuffer=new char[0x27];
               iByteRead=FileRead(iFileHandle,pszBuffer,0x27);
               FileClose(iFileHandle);
               i=iByteRead/2;
               for(j=0;j<=i;j++)
               {
                  Code[j]=Code[j]^pszBuffer[2*j];
               }
               delete [] pszBuffer;
               edtPassword->Text=Code;
               if(edtPassword->Text.Length()==0)
                  edtPassword->Text="此数据库未设置密码!";
       }
       catch(const Exception& e)
       {
               Application->MessageBoxA("读取文件错误!!!","错误!",IDOK);
       }
   }
   else