delphi4arab منتديات دلفي للعرب
البحث عن قيم hex - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : البحث عن قيم hex (/showthread.php?tid=8704)



البحث عن قيم hex - salah07230 - 27-05-2017

السلام عليكم
رمضان كريم على الجميع
عندي هذا الكود الخاص بالبحص عن قيم بالهكس موجودة في ملف
كود :
function FindByHexStr(const AFile, AHexStr: string): Integer;  function HexStr2ChrStr(HexStr: string): string;  var    I: Integer;    S: string;  begin    for I := 1 to Length(HexStr) do    begin      S := S + HexStr[I];      if I mod 2 = 0 then      begin        Result := Result + Chr(StrToInt('$' + S));        S := '';      end;    end;  end; var  MS: TMemoryStream;  FileSize: Integer;  Buffer: string; begin  Result := -1;  MS := TMemoryStream.Create;  try    MS.LoadFromFile(AFile);    FileSize := MS.Size;    SetLength(Buffer, FileSize);    MS.Read(Buffer[1], FileSize);    try      Result := Pos(HexStr2ChrStr(AHexStr), Buffer) - 1;    except      // Error    end;  finally    MS.Free;  end; end; Usage: Edit1.Text := IntToStr(FindByHexStr('C:\Test.exe', '4D5A500002'));

الكود يعمل جيدا ولكن اريد التعديل عليه
memo2.Lines.Add(IntToStr(FindByHexStr(opendialog1.FileName, (edit2.text))));
جربت هذا لكن يعطي النتيجة -1
فهل من حل للمشكل
وهل يمكن تطوير الكود لجلب اوفيس جميع القيم لانه يتوقف عند القيمة الاولى
وشكرا