ByteToHex как использовать?

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

ByteToHex как использовать?

Сообщение Cube » 04.10.2008 22:59:58

ByteToHex Подскажите как использовать эту функцию или это процедура?

Заранее спасибо

С уважением Антон
Cube
незнакомец
 
Сообщения: 7
Зарегистрирован: 04.10.2008 18:53:14

Re: ByteToHex как использовать?

Сообщение Logo » 05.10.2008 00:03:21

Вы имели ввиду IntToStr?
Это функция: IntToStr(255{целое число}, 2{количество возвращаемых символов})
Возвращает "FF"
IntToStr(255, 4) Возвратит "00FF"
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: ByteToHex как использовать?

Сообщение Cube » 06.10.2008 09:40:32

Logo писал(а):Вы имели ввиду IntToStr?
Это функция: IntToStr(255{целое число}, 2{количество возвращаемых символов})
Возвращает "FF"
IntToStr(255, 4) Возвратит "00FF"


а какой uses надо активировать для IntToStr?
Cube
незнакомец
 
Сообщения: 7
Зарегистрирован: 04.10.2008 18:53:14

Re: ByteToHex как использовать?

Сообщение Logo » 06.10.2008 15:40:56

Logo писал(а):Вы имели ввиду IntToStr?
Это функция: IntToStr(255{целое число}, 2{количество возвращаемых символов})
Возвращает "FF"
IntToStr(255, 4) Возвратит "00FF"


Ну и написал :oops: :oops: :oops:
Извините :oops: :oops: :oops:

не IntToStr а IntToHex
IntToHex(255{целое число}, 2{количество возвращаемых символов})
Модуль sysutils

Еще раз извиняюсь :oops:
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: ByteToHex как использовать?

Сообщение Cube » 06.10.2008 20:33:03

Да не чего страшнего вот не могу написать это: :cry:

Вот можете помочь у меня такая задача есть файл fail.bin мне из него надо брать символ и значение символа записывать в массив в двоичном коде или в строку что бы в дальнейшем я мог его кодировать по определенному алгоритму
Cube
незнакомец
 
Сообщения: 7
Зарегистрирован: 04.10.2008 18:53:14

Re: ByteToHex как использовать?

Сообщение Attid » 06.10.2008 20:41:42

не знаю может есть что стандартное использую это :
Код: Выделить всё
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;
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: ByteToHex как использовать?

Сообщение Cube » 09.10.2008 18:57:38

Я не много не правильно проблему свою описал.. Проблема в том что бы получить и поместить двоечный код символа в массив для дальнейшей работы.
Cube
незнакомец
 
Сообщения: 7
Зарегистрирован: 04.10.2008 18:53:14

Re: ByteToHex как использовать?

Сообщение Михаил Крамер » 09.10.2008 19:50:29

Перевести числовой код символа в двоичную систему, что ли? Это что, должно быть как массив символов, или как? Чтой-то не понятно, что вам надо? Символы всегда вроде в двоичных кодах передаются.
Михаил Крамер
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2008 14:26:40

Re: ByteToHex как использовать?

Сообщение Cube » 09.10.2008 22:29:44

Михаил Крамер писал(а):Перевести числовой код символа в двоичную систему, что ли? Это что, должно быть как массив символов, или как? Чтой-то не понятно, что вам надо? Символы всегда вроде в двоичных кодах передаются.


Проблема в том что я не знаю как поместить двоичный код символа в массив, то есть конечной цель массив с двоичным кодом определенного символа из файла
Cube
незнакомец
 
Сообщения: 7
Зарегистрирован: 04.10.2008 18:53:14

Re: ByteToHex как использовать?

Сообщение Михаил Крамер » 10.10.2008 12:19:54

Эм.... Покажите пример массива, который должен получиться. Массив данных какого типа?
Михаил Крамер
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2008 14:26:40

Re: ByteToHex как использовать?

Сообщение ev » 10.10.2008 12:32:30

может имеется ввиду использование функций chr / ord ?
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Re: ByteToHex как использовать?

Сообщение Михаил Крамер » 10.10.2008 13:21:06

Ev, а тады при чём здесь какой-то массив?
Михаил Крамер
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2008 14:26:40

Re: ByteToHex как использовать?

Сообщение ev » 10.10.2008 13:44:01

попробую поработать телепатом :)

с файлом работается через массив (так удобнее и быстрее по идее)
но массив возможно объявлен что-то типа array of char
а работать то надо с кодами... вот и можно юзать chr / ord для конвертирования туда и обратно

хотя это все догадки ;)
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Re: ByteToHex как использовать?

Сообщение Padre_Mortius » 10.10.2008 14:43:45

тогда уж file of byte удобнее будет
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

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.
Михаил Крамер
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2008 14:26:40

След.

Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru