Главная страница
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.048 c
14-1130388039
Ega23
2005-10-27 08:40
2005.11.20
С днем рождения! 27 октября


1-1130508623
Dimedrol
2005-10-28 18:10
2005.11.20
TWebBrowser. Не копируется текст.


6-1122662292
Gamer
2005-07-29 22:38
2005.11.20
Скриншоты по сетке


4-1127113502
Diane
2005-09-19 11:05
2005.11.20
Работа с Dialog Box из файла ресурсов


9-1120200139
Pasechnick
2005-07-01 10:42
2005.11.20
GLScene и ATI