Главная страница
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.045 c
3-1128617563
Michael5
2005-10-06 20:52
2005.11.20
Скролл "колесиком" в DBGrid работает только в видимой части грида


14-1130069809
Profi
2005-10-23 16:16
2005.11.20
Просто приколы какие-то!


14-1130305048
SergP.
2005-10-26 09:37
2005.11.20
СПАМ. Что делать?


2-1130427607
Unknown
2005-10-27 19:40
2005.11.20
Активность программы и SystemTray


14-1130748519
Gydvin
2005-10-31 11:48
2005.11.20
UserGate - Help me