استفسار حول كود بحث بصيغة hex لقيم
#14
السلام عليكم
إدا كنت ستعدل في بايتات الملف من Memo
سيتوجب عليك تحويل HexStr إلى Byte Array
هده دالتين واحدة لتحويل HexStr و الأخرى لإعادة الكتابة في الملف من جديد

PHP كود :
type
  TByteArray 
= array of Byte;

procedure HexStr2ByteArray(const HexStr: string; out ByteArray: TByteArray);
var
  
I: Integer;
begin
  SetLength
(ByteArray, Length(HexStr) div 2);
  for 
I := 0 to Pred(Length(HexStr) div 2) do
  
begin
    ByteArray
[I] := StrToInt('$' + Copy(HexStr, (I * 2) + 1, 2));
  
end;
end;

procedure WriteHexStrByOffset(const AOldFile, ANewFile: string; const ABuffer:
  
TByteArray;
  const 
AOffsetB, AOffsetE: Integer);
var
  
MS: TMemoryStream;
begin
  MS 
:= TMemoryStream.Create;
  try
    
MS.LoadFromFile(AOldFile);
    
MS.Position := AOffsetB;
    
//MS.Seek(0, 0);
    
try
      
MS.WriteBuffer(ABuffer[0], AOffsetE + 1);
      
MS.SaveToFile(ANewFile);
    
except
      
// Error
    
end;
  finally
    
MS.Free;
  
end;
end;

{
Usage:

var
  
ByteArray: TByteArray;
begin
  HexStr2ByteArray
('FF00EE', ByteArray);
  
WriteHexStrByOffset('Test.exe', 'NewTest.exe', ByteArray, 0, 3);
end;
} 
أيضا مرفق المثال في المشاركة رقم 6
http://www.delphi4arab.net/forum/showpos...ostcount=6
مع إضافة إمكانية إعادة الكثابة


الملفات المرفقة
.7z   HxViewer2.7z (الحجم : 1.99 ك ب / التحميلات : 19)
سبحان الله وبحمده سبحان الله العظيم
الرد


الردود في هذا الموضوع
استفسار حول كود بحث بصيغة hex لقيم - بواسطة Insid3Code - 17-09-2014, 02:02 PM
استفسار حول كود بحث بصيغة hex لقيم - بواسطة Agmcz - 03-10-2014, 03:53 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 2 ) ضيف كريم