//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "stdio.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int iFileHandle;
int iFileLength;
int iBytesRead;
char *pszBuffer;
AnsiString hexBuffer="";
char hexchar[4];
if (OpenDialog1->Execute())
{
Memo1->Clear();
Memo2->Clear();
iFileHandle = FileOpen(OpenDialog1->FileName, fmOpenRead);
iFileLength = FileSeek(iFileHandle,0,2);
FileSeek(iFileHandle,0,0);
pszBuffer = new char[iFileLength+1];
iBytesRead = FileRead(iFileHandle, pszBuffer, iFileLength);
FileClose(iFileHandle);
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
for (int i=0;i<iBytesRead;i++)
{
sprintf(hexchar,"%02x ",int(pszBuffer[i]));
hexBuffer+=AnsiString(hexchar).UpperCase();
}
Memo2->Lines->Add(hexBuffer);
delete [] pszBuffer;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int iFileHandle;
int iLength;
if (SaveDialog1->Execute())
{
if (FileExists(SaveDialog1->FileName))
{
RenameFile(SaveDialog1->FileName,SaveDialog1->FileName+".BAK");
}
iFileHandle = FileCreate(SaveDialog1->FileName);
for (int i=0;i<Memo2->Lines->Count;i++)
{
iLength = Memo2->Lines->Strings[i].Length();
FileWrite(iFileHandle, Memo2->Lines->Strings[i].c_str(), iLength);
}
FileClose(iFileHandle);
}
}
//---------------------------------------------------------------------------