Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Пррверьте пожалуйста есть ли ошибки   Найти похожие ветки 

 
Hamertime   (2005-10-25 18:30) [0]

ниже написан исходник для расшифровки двоичного кода проверьте плиз правильно или нет
function GetCharFromBinary(const s : string) : char;
var i : integer;
   a : byte;
begin
   a := 0;
   for i := 1 to length(s) do
    if s[i] = "1" then a := a + Binary[i];
   Result := chr(a)
end;

function GetTextFromBinary (const s : string) : string;
var i : integer;
begin
   if length(s) mod 8 > 0 then Exception.Create("Eaeoa ia ?a!");
   SetLength(Result, length(s) div 8);
   for i := 1 to length(Result) do
     Result[i] := GetCharFromBinary(Copy(s,(i-1) shl 3 + 1,8))
end;

вот вроде так будет не могли проверить правильно или нет а то нету делфи


 
pasha_golub ©   (2005-10-25 18:43) [1]


>  if length(s) mod 8 > 0


Я бы тут впереди нулей добавлял сам.


> Binary[i];


А это простите, что за структура такая?


 
Defunct ©   (2005-10-25 19:17) [2]

> Hamertime

Намудрили Вы тут что-то:
if s[i] = "1" then a := a + Binary[i];

i - индекс символа в строке, какое отношение он имеет к некой структуре Binary?

Полагаю должно было быть хотя бы так:

if S[i] = "1" then
  a := (a shl 1) + 1
else
  if S[i] = "0" then
     a := (a shl 1)
  else
     raise EConvertError.Create( "Wrong binary data at pos: "+IntToStr(i) );

опять же нет проверки, при переводе из бинарной строки в Char:
function GetCharFromBinary(const s : string) : char;
...
if Length(S) > 8 then
 raise ....



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.054 c
2-1131017434
W
2005-11-03 14:30
2005.11.20
Ошибки компиляции


11-1111951017
DeimosX7
2005-03-27 23:16
2005.11.20
проблема с передачей параметров


5-1110834320
kmi
2005-03-15 00:05
2005.11.20
Как совместить несовместимое?


14-1130486099
Igorek
2005-10-28 11:54
2005.11.20
Мой любимец распускает пятый листочек


3-1128449971
Piter
2005-10-04 22:19
2005.11.20
Primary Key и Unique key