PDA

View Full Version : طرز استفاده کردن از تابع bintohex



ali reza omid ali
یک شنبه 12 تیر 1384, 09:10 صبح
طفا طرز استفاده کردن از تابع bintohexرا برای من شرح دهید... ::نوشتن:: ...

دنیای دلفی
یک شنبه 12 تیر 1384, 10:01 صبح
کاری نداره ورودی را باینری بده خروجی هگزادسیمال خواهد شد . :موفق:

ali reza omid ali
یک شنبه 12 تیر 1384, 17:40 عصر
کاری نداره ورودی را باینری بده خروجی هگزادسیمال خواهد شد . :موفق:
لطفا یک دفعه شما امتحا ن کن
اگر توانستی کد رو برایم بنویس
:گیج:

ali reza omid ali
دوشنبه 13 تیر 1384, 17:17 عصر
ما رو گرفتی ها :mad:
یکبار شما نگاه کن و بعد نظر بده
من اگر می تونستم که سوالم رو برای شما نمی فرستادم :mad:

vcldeveloper
سه شنبه 14 تیر 1384, 03:04 صبح
بجاش از این تابع استفاده کن:


function BinaryToHex(BinStr: string): string;
{ABSTRACT : Source = http://www.greatis.com/delphicb/tips/lib/mathematics-bin2hex.html
PURPOSE : Convert a binary number to hex
PARAMETERS : BinStr = binary number
OUTPUT : Hex number as string type
REVISED :
}
const
BinArray: array[0..15, 0..1] of string =
(('0000', '0'), ('0001', '1'), ('0010', '2'), ('0011', '3'),
('0100', '4'), ('0101', '5'), ('0110', '6'), ('0111', '7'),
('1000', '8'), ('1001', '9'), ('1010', 'A'), ('1011', 'B'),
('1100', 'C'), ('1101', 'D'), ('1110', 'E'), ('1111', 'F'));
var
j: Integer;
BinPart: string;
begin
Result:='';

try
for j:=1 to Length(BinStr) do
if not (BinStr[j] in ['0', '1']) then
raise Exception.Create('Invalid binary number');

case Length(BinStr) mod 4 of
1: BinStr:='000'+BinStr;
2: BinStr:='00'+BinStr;
3: BinStr:='0'+BinStr;
end;

while Length(BinStr)>0 do
begin
BinPart:=Copy(BinStr, Length(BinStr)-3, 4);
Delete(BinStr, Length(BinStr)-3, 4);
for j:=1 to 16 do
if BinPart=BinArray[j-1, 0] then
Result:=BinArray[j-1, 1]+Result;
end;
except
Result := '';
end;
end;