Показать сообщение отдельно
  #5  
Старый 18.01.2011, 22:03
kampeador kampeador вне форума
Прохожий
 
Регистрация: 18.01.2011
Сообщения: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Ну примерно так:
Код:
Const
 ZipToV: Array[0..15] of Byte = (5,4,7,6,1,0,3,2,$D,$C,$F,$E,9,8,$B,$A);
Var
 V,Zip: File of byte;
 B: Byte;
begin
 AssignFile(Zip, 'Input.zip');
 Reset(Zip);
 AssignFile(V, 'Output.v');
 Rewrite(V);
 while not Eof(Zip)
 do begin
     Read(Zip, B);
     Write(V, ZipToV[b]);
     end;
 CloseFile(V);
 CloseFile(Zip);
end.

Переписал немного программу:
Код:
procedure TForm3.Button2Click(Sender: TObject);
Const
 ZipToV: Array[0..15] of Byte = (5,4,7,6,1,0,3,2,$D,$C,$F,$E,9,8,$B,$A);
Var
 V: File of byte;
 B: Byte;
begin
 AssignFile(V, '1.v');
 Reset(V);
 while not Eof(V)
 do begin
     Read(V, B);
     case B of
       0:Write(V, ZipToV[0]);
       1:Write(V, ZipToV[1]);
       2:Write(V, ZipToV[2]);
       3:Write(V, ZipToV[3]);
       4:Write(V, ZipToV[4]);
       5:Write(V, ZipToV[0]);
       6:Write(V, ZipToV[6]);
       7:Write(V, ZipToV[7]);
       8:Write(V, ZipToV[8]);
       9:Write(V, ZipToV[9]);
       $A:Write(V, ZipToV[10]);
       $B:Write(V, ZipToV[11]);
       $C:Write(V, ZipToV[12]);
       $D:Write(V, ZipToV[13]);
       $E:Write(V, ZipToV[14]);
       $F:Write(V, ZipToV[15]);
     end;
     end;
 CloseFile(V);
end;
end.
Оригинал:
http://s39.radikal.ru/i083/1101/52/27d51aa8cee1.jpg
Стало после работы программы:
http://s013.radikal.ru/i325/1101/b2/8d133f5e259a.jpg

Но мне нужно, чтобы проверяло каждую цифру:
Например(см первый скрин)
Программа начинается на:
05 1E 56 51 41 55 55 55 и так далее...
После работы программы должно быть:
50 4B 03 04 14 00 00 00 и так далее...

В чем может быть проблема?
Ответить с цитированием