Страница 1 из 2
ByteToHex как использовать?
Добавлено:
04.10.2008 22:59:58
Cube
ByteToHex Подскажите как использовать эту функцию или это процедура?
Заранее спасибо
С уважением Антон
Re: ByteToHex как использовать?
Добавлено:
05.10.2008 00:03:21
Logo
Вы имели ввиду IntToStr?
Это функция: IntToStr(255{целое число}, 2{количество возвращаемых символов})
Возвращает "FF"
IntToStr(255, 4) Возвратит "00FF"
Re: ByteToHex как использовать?
Добавлено:
06.10.2008 09:40:32
Cube
Logo писал(а):Вы имели ввиду IntToStr?
Это функция: IntToStr(255{целое число}, 2{количество возвращаемых символов})
Возвращает "FF"
IntToStr(255, 4) Возвратит "00FF"
а какой uses надо активировать для IntToStr?
Re: ByteToHex как использовать?
Добавлено:
06.10.2008 15:40:56
Logo
Logo писал(а):Вы имели ввиду IntToStr?
Это функция: IntToStr(255{целое число}, 2{количество возвращаемых символов})
Возвращает "FF"
IntToStr(255, 4) Возвратит "00FF"
Ну и написал
Извините
не IntToStr а
IntToHexIntToHex(255{целое число}, 2{количество возвращаемых символов})Модуль
sysutilsЕще раз извиняюсь
Re: ByteToHex как использовать?
Добавлено:
06.10.2008 20:33:03
Cube
Да не чего страшнего вот не могу написать это:
Вот можете помочь у меня такая задача есть файл fail.bin мне из него надо брать символ и значение символа записывать в массив в двоичном коде или в строку что бы в дальнейшем я мог его кодировать по определенному алгоритму
Re: ByteToHex как использовать?
Добавлено:
06.10.2008 20:41:42
Attid
не знаю может есть что стандартное использую это :
- Код: Выделить всё
function BinToHex(const BinStr: string): string;
const BS: array[0..15] of string[4] =
('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111', '1000', '1001',
'1010', '1011', '1100', '1101', '1110', '1111');
HS: array[0..15] of Char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F');
var s, h: string;
i: Integer;
Err: Boolean;
begin
Result := '';
s := BinStr;
if (s[Length(s)] = 'b') or (s[Length(s)] = 'B') then
Delete(s, Length(s), 1);
// дополнение строки нулями, пока ее длина не кратна 4
while (Length(s) mod 4) <> 0 do s := '0' + s;
while Length(s) > 0 do
begin
Err := True;
h := Copy(s, 1, 4);
Delete(s, 1, 4);
for i := 0 to 15 do
if h = BS[i] then
begin
Result := Result + HS[i];
Err := False;
break;
end;
if Err then
begin
Result := '00';
Exit;
end;
end;
end;
Re: ByteToHex как использовать?
Добавлено:
09.10.2008 18:57:38
Cube
Я не много не правильно проблему свою описал.. Проблема в том что бы получить и поместить двоечный код символа в массив для дальнейшей работы.
Re: ByteToHex как использовать?
Добавлено:
09.10.2008 19:50:29
Михаил Крамер
Перевести числовой код символа в двоичную систему, что ли? Это что, должно быть как массив символов, или как? Чтой-то не понятно, что вам надо? Символы всегда вроде в двоичных кодах передаются.
Re: ByteToHex как использовать?
Добавлено:
09.10.2008 22:29:44
Cube
Михаил Крамер писал(а):Перевести числовой код символа в двоичную систему, что ли? Это что, должно быть как массив символов, или как? Чтой-то не понятно, что вам надо? Символы всегда вроде в двоичных кодах передаются.
Проблема в том что я не знаю как поместить двоичный код символа в массив, то есть конечной цель массив с двоичным кодом определенного символа из файла
Re: ByteToHex как использовать?
Добавлено:
10.10.2008 12:19:54
Михаил Крамер
Эм.... Покажите пример массива, который должен получиться. Массив данных какого типа?
Re: ByteToHex как использовать?
Добавлено:
10.10.2008 12:32:30
ev
может имеется ввиду использование функций chr / ord ?
Re: ByteToHex как использовать?
Добавлено:
10.10.2008 13:21:06
Михаил Крамер
Ev, а тады при чём здесь какой-то массив?
Re: ByteToHex как использовать?
Добавлено:
10.10.2008 13:44:01
ev
попробую поработать телепатом
с файлом работается через массив (так удобнее и быстрее по идее)
но массив возможно объявлен что-то типа
array of charа работать то надо с кодами... вот и можно юзать
chr / ord для конвертирования туда и обратно
хотя это все догадки
Re: ByteToHex как использовать?
Добавлено:
10.10.2008 14:43:45
Padre_Mortius
тогда уж file of byte удобнее будет
Re: ByteToHex как использовать?
Добавлено:
10.10.2008 19:24:01
Михаил Крамер
Могет, чтой-то такое (String - это массив символов, если очень грубо говорить)
- Код: Выделить всё
function ByteToBin(c: Byte): String;
const BS: array[0..15] of string[4] =
('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111', '1000', '1001',
'1010', '1011', '1100', '1101', '1110', '1111');
begin
ByteToBin:= BS[(c and $F0) shr 4] + BS[c and $0F];
end;
begin
Writeln(ByteToBin($f1));
Writeln(ByteToBin(Ord('A'));
end.