1 2 //--------------------------------------------------------------------------- 3 4 #include <vcl.h> 5 #pragma hdrstop 6 7 #include "Unit1.h" 8 //--------------------------------------------------------------------------- 9 #pragma package(smart_init) 10 #pragma resource "*.dfm" 11 TForm1 *Form1; 12 //--------------------------------------------------------------------------- 13 __fastcall TForm1::TForm1(TComponent* Owner) 14 : TForm(Owner) 15 { 16 } 17 void RemoveCDXByte( String dbFile ){ 18 const Value = 0; 19 const CDXoffSet = 28; 20 int handle; 21 char buffer; 22 handle = FileOpen( dbFile,fmOpenReadWrite+fmShareExclusive ); 23 if( handle > 0 ){ 24 try{ 25 FileSeek( handle,CDXoffSet,0 ); 26 FileRead( handle,&buffer,1); 27 if ( buffer == '\x01' ) { //checks if index marker exists 28 FileSeek( handle,CDXoffSet,0); 29 buffer = '\x00' ; //sets detach marker file 30 FileWrite( handle,&buffer,1 );//writes detach marker in table file 31 } 32 } 33 catch (Exception &exception) 34 { 35 36 } 37 FileClose(handle); 38 } 39 } 40 //--------------------------------------------------------------------------- 41 42 void __fastcall TForm1::Button1Click(TObject *Sender) 43 { 44 if(OpenDialog1->Execute()){ 45 RemoveCDXByte(OpenDialog1->FileName); 46 } 47 } 48 //---------------------------------------------------------------------------