PDA

View Full Version : اشکال در تبدیل هگز



joker
یک شنبه 05 دی 1395, 20:42 عصر
سلام
نسخه دلفی xe5 دارم استفاده میکنم.
یک تابع دارم برای تبدیل


function String2Hex(const Buffer: Ansistring): string;
begin
SetLength(result, 2*Length(Buffer));
BinToHex(@Buffer[1], PWideChar(@result[1]), Length(Buffer));
end;



var
S:STRING;

کارکرد تابع بی مشکل هست تا زمانی که به کد $fd برنخورده !!! اینو موقع تبدیل به 3F تبدیل میکنه ولی برای بقیه موارد کارکردش بدون اشکال هست... مغزم دیگه کار نمیده :(

تست



S :=String2Hex(chr($fd));
showmessage(S);


کسی میدونه چطوری باید حلش کنم ؟:ناراحت:
چطوری و رو چه حساب داره این خطا پیش میاد آخه ؟ :(

loo30fer
یک شنبه 05 دی 1395, 21:54 عصر
سلام
میتونید از این تابع استفاده کنید:
function StringtoHex(Data: string): string;
var
i, i2: Integer;
s: string;
begin
i2 := 1;
for i := 1 to Length(Data) do
begin
Inc(i2);
if i2 = 2 then
begin
s := s + ' ';
i2 := 1;
end;
s := s + IntToHex(Ord(Data[i]), 2);
end;
Result := s;
end;