كيف اقوم بقلب string 32 bit
#8
أو من أول بايت إلى أخر بايت

PHP كود :
function Swap(A: Integer): Integer;
asm
  
{$IFDEF CPUX64}
  
MOV EAX,ECX
  
{$ENDIF !CPUX64}
  
BSWAP EAX
end
;

procedure TForm1.Button1Click(Sender: TObject);
var
  
MS: TMemoryStream;
  
P, I: Integer;
  
FileSize: Integer;
  
Buffer: array of Byte;
  
sByte: string;
begin
  
if not OpenDialog1.Execute then
    
Exit;
  
Edit1.Text := ExtractFileName(OpenDialog1.FileName);
  
MS := TMemoryStream.Create;
  try
    
MS.LoadFromFile(OpenDialog1.FileName);
    
FileSize := MS.Size;
    
SetLength(Buffer, FileSize);
    
//MS.Position := 0; // B Position
    
MS.Read(Buffer[0], FileSize);
    
I := 0;
    for 
P := 0 to Pred(FileSize) do
    
begin
      Inc
(I);
      
sByte := sByte + IntToHex(Buffer[P], 2);
      if 
I mod 4 = 0 then
      begin
       sByte 
:= IntToHex(Swap(StrToInt('$' + sByte)), 8);
       
Memo1.Lines.Add(sByte);
       
sByte := '';
      
end;
    
end;
  finally
    
MS.Free;
  
end;
end; 

بالتوفيق
سبحان الله وبحمده سبحان الله العظيم
الرد


الردود في هذا الموضوع
كيف اقوم بقلب string 32 bit - بواسطة salah07230 - 24-04-2014, 06:06 PM
كيف اقوم بقلب string 32 bit - بواسطة SMP3 - 24-04-2014, 10:57 PM
كيف اقوم بقلب string 32 bit - بواسطة salah07230 - 24-04-2014, 11:14 PM
كيف اقوم بقلب string 32 bit - بواسطة SMP3 - 24-04-2014, 11:21 PM
كيف اقوم بقلب string 32 bit - بواسطة salah07230 - 24-04-2014, 11:26 PM
كيف اقوم بقلب string 32 bit - بواسطة SMP3 - 25-04-2014, 11:50 AM
كيف اقوم بقلب string 32 bit - بواسطة Agmcz - 25-04-2014, 12:35 PM
كيف اقوم بقلب string 32 bit - بواسطة Agmcz - 25-04-2014, 01:09 PM
كيف اقوم بقلب string 32 bit - بواسطة salah07230 - 25-04-2014, 02:29 PM

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


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