Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите почему не может быть, определена ф-я BinByte 
:(
    Опции темы
Jonnik
Дата 9.2.2006, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.2.2006

Репутация: нет
Всего: нет



Подскажите почему не может быть определена ф-я BinByte
может какой-то библиотеке нехватает?
Эта прога должна считывать байт с файла
и преобразовывать его в двоичный код
но она не работает.
Может кто-то еще знает способы как преобразовать
данные в двоичный код и наоборот?
Код
var
  F: File;
  bBuff: Byte;
  sBinary: ShortString;

begin
  AssignFile(F, '1.bin');
  Reset(F, 1);
  BlockRead(F, bBuff, 1); // прочто читаю 1 байт и закрываю файл
  CloseFile(F);
  WriteLn(bBuff); // байт в десятичном представлении
  sBinary := BinByte(bBuff);
  WriteLn(sBinary); // байт в двоичном виде
  WriteLn(Bin(StrToInt(sBinary))); // байт опять в десятичном виде
end;

PM MAIL   Вверх
Albinos_x
Дата 9.2.2006, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(Jonnik @ 9.2.2006, 12:16 Найти цитируемый пост)

почему не может быть определена ф-я BinByte
может какой-то библиотеке нехватает?

скорее всего...
Цитата

WriteLn(Bin(StrToInt(sBinary))

и Bin() тоже ...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Jonnik
Дата 9.2.2006, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.2.2006

Репутация: нет
Всего: нет



Bin тоже не может быть определена
А какая тогда библиотека
PM MAIL   Вверх
Jonnik
Дата 9.2.2006, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.2.2006

Репутация: нет
Всего: нет



С первым вопросом я разобрался
но возник второй в функции BinByte есть непонятное выражение SqrX(2, I)
Помогите определьть что это может быть?

Код
function BinByte(B: Byte): BinString; {преобразует байт в двоичную 
строку}
var
   Temp: BinString;
begin
   Temp[0] := #8;
   Move(BinNibbles[B ShR 4], Temp[1], 4);
   Move(BinNibbles[B And $F], Temp[5], 4);
   BinByte := Temp;
end;

function Bin(W:LongInt): Word; { Преобразует Binary от 0 до 1111111111
 (1023 dec) в десятичное }
var
  I: Byte;
  S: String[12];
  T: Word;
begin
  Str(W, S);
  T := 0;
  for I := 1 to Length(S) do
    if (S[I] <> '1') and (S[I] <> '0') then RunError($FF);
  for I := Length(S) - 1 downto 1 do
    T := T + (SqrX(2, I) * (Ord(S[Length(S) - I]) - Ord('0')));
  if S[Length(S)] = '1' then Inc(T);
  Bin := T;
end;

PM MAIL   Вверх
Snowy
Дата 9.2.2006, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Бред какой-то
Код
function IntToBin(Value: integer; Digits: integer): string; 
var 
  i: integer; 
begin 
  result := ''; 
  for i := 0 to Digits - 1 do begin 
    if Value and (1 shl i) > 0 
      then result := '1' + result 
      else result := '0' + result; 
  end; 
end;

function BinToInt(Value: string): integer;
var
  i: integer;
begin
  result := 0;
  for i := 1 to length(Value) do
    result := result * 2 + (ord(Value[i]) - 49);
end;

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.