ByteToHex как использовать?
 Добавлено: 04.10.2008 22:59:58
Добавлено: 04.10.2008 22:59:58ByteToHex Подскажите как использовать эту функцию или это процедура?
Заранее спасибо
С уважением Антон
			Заранее спасибо
С уважением Антон
форум
http://lazarus.freepascal.ru/forum/
http://lazarus.freepascal.ru/forum/viewtopic.php?f=23&t=3703
 Добавлено: 04.10.2008 22:59:58
Добавлено: 04.10.2008 22:59:58 Добавлено: 05.10.2008 00:03:21
Добавлено: 05.10.2008 00:03:21 Добавлено: 06.10.2008 09:40:32
Добавлено: 06.10.2008 09:40:32Logo писал(а):Вы имели ввиду IntToStr?
Это функция: IntToStr(255{целое число}, 2{количество возвращаемых символов})
Возвращает "FF"
IntToStr(255, 4) Возвратит "00FF"
 Добавлено: 06.10.2008 15:40:56
Добавлено: 06.10.2008 15:40:56Logo писал(а):Вы имели ввиду IntToStr?
Это функция: IntToStr(255{целое число}, 2{количество возвращаемых символов})
Возвращает "FF"
IntToStr(255, 4) Возвратит "00FF"
 
   
   
  
   
   
 
 Добавлено: 06.10.2008 20:33:03
Добавлено: 06.10.2008 20:33:03 
  Добавлено: 06.10.2008 20:41:42
Добавлено: 06.10.2008 20:41:42function 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;
 Добавлено: 09.10.2008 18:57:38
Добавлено: 09.10.2008 18:57:38 Добавлено: 09.10.2008 19:50:29
Добавлено: 09.10.2008 19:50:29 Добавлено: 09.10.2008 22:29:44
Добавлено: 09.10.2008 22:29:44Михаил Крамер писал(а):Перевести числовой код символа в двоичную систему, что ли? Это что, должно быть как массив символов, или как? Чтой-то не понятно, что вам надо? Символы всегда вроде в двоичных кодах передаются.
 Добавлено: 10.10.2008 12:19:54
Добавлено: 10.10.2008 12:19:54 Добавлено: 10.10.2008 12:32:30
Добавлено: 10.10.2008 12:32:30 Добавлено: 10.10.2008 13:21:06
Добавлено: 10.10.2008 13:21:06 Добавлено: 10.10.2008 13:44:01
Добавлено: 10.10.2008 13:44:01

 Добавлено: 10.10.2008 14:43:45
Добавлено: 10.10.2008 14:43:45 Добавлено: 10.10.2008 19:24:01
Добавлено: 10.10.2008 19:24:01function 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.