Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.10.2010, 01:37   #1
DedBoroda
Пользователь
 
Аватар для DedBoroda
 
Регистрация: 15.08.2010
Сообщений: 49
Вопрос Побайтовое чтение с редактированием

Всем доброго времени суток.
Столкнулся с такой проблемой:
программа должна воспроизводить изображение. Изображение хранится в зашифрованном виде(побайтовый сдвиг).
Как можно прочитать файл побайтово в динамический массив(с возможностью работать с каждым байтом) с последующей выгрузкой в поток и выводом на экран?

Примерная функция кодирования/декодирования:
Код:
procedure Codek(fl:string);
var i:integer;
    buf:byte;
begin
assignfile(f2,fl+'x');
rewrite(f2);
assignfile(f1,fl);
reset(f1);
while not eof(f1) do
  begin
    Read(f1,buf);
    buf := Ord(Chr(255-buf));
    Write(f2,buf);
  end;
closefile(f1);
closefile(f2);
end;
Нашел вот такой кусок кода:
Код:
var
  F : File;
  Arr : array of Byte;
  Len : Integer;
  Stream : TMemoryStream;
Код:
AssignFile(F, Fn);
  Reset(F, 1);
 
  Len := FileSize(F);
  SetLength(Arr, Len);
  BlockRead(F, Pointer(Arr)^, Len);
 
  CloseFile(F);
Но не вижу(или невозможно) как можно работать с самими байтами.
DedBoroda вне форума
Старый 22.10.2010, 02:48   #2
DedBoroda
Пользователь
 
Аватар для DedBoroda
 
Регистрация: 15.08.2010
Сообщений: 49
По умолчанию

Всё сам уже разобрался
Код:
assignfile(f1,fl);
reset(f1);
Len := FileSize(f1);
SetLength(Arr, Len);
while not eof(f1) do
  begin
    BlockRead(f1, buf, 1);
    buf := Ord(Chr(255-buf));
    arr[i] := buf;
    inc(i);
  end;
closefile(f1);
DedBoroda вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простая программа с работой строки и редактированием её. Sergey_O Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 20.12.2009 12:38
Чтение, чтение и еще раз чтение Alex Cones Общие вопросы Delphi 3 07.06.2009 15:28
Помогите с редактированием! kotre Microsoft Office Excel 4 25.05.2009 11:47
Форум PHPbb 3 помогите с редактированием формы опроса Python PHP 0 18.11.2008 00:14
Чтение subsonic Общие вопросы Delphi 1 30.05.2008 08:06