![]() |
|
|
|
|
#1
|
|||
|
|||
|
здравствуйте. горит вопрос. необходимо реализовать прогу, в которую можно загрузить файл (любой) и работать с его двоичным кодом (перестановки бит и т.д.). это из криптографии. ничего полезного не нашел на форумах пока
|
|
#2
|
||||
|
||||
|
Цитата:
|
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
vankai14 (15.04.2014)
| ||
|
#3
|
|||
|
|||
|
Цитата:
спасибо, а примерно несколько строк набросать что и как сделать можете? что бы я уже дальше справку почитал |
|
#4
|
||||
|
||||
|
Цитата:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
fs: TFileStream;
buf: PByteArray;
i: Integer;
begin
fs := TFileStream.Create('Имя открываемого файла', fmOpenReadWrite);
try
fs.Position := 123; // Устанавливаем позицию с которой нужно прочитать
GetMem(buf, 10); // Резервируем память под буфер на 10 байт
try
fs.ReadBuffer(buf^, 10); // Читаем 10 байт из указанной позиции файла в буфер
for i := 0 to 9 do // Что нибудь делаем с этими 10 байтами:
begin
buf^[i] := buf^[i] xor $AA;
end;
fs.Position := 123; // Устанавливаем позицию с которой нужно записать
fs.WriteBuffer(buf^, 10); // Записываем изменённые 10 байт назад в файл
finally
FreeMem(buf); // Освобождаем память занимаемую буфером
end;
finally
fs.Free;
end;
end; |
|
#5
|
|||
|
|||
|
Цитата:
а именно с БИТАМИ, а не байтами? |
|
#6
|
||||
|
||||
|
Цитата:
Код:
and, or, xor, not, shl, shr |