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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2014, 22:35   #1
Ale}{ander
Пользователь
 
Регистрация: 17.07.2013
Сообщений: 92
По умолчанию Нужно получить двоичный код файла

Пишу свой архиватор, алгоритм есть, но не могу получить двоичный код файла. Сейчас пробую так
Код:
  var bin: array[0..1023] of char;

  F:=TFileStream.Create('djo.avi',fmOpenRead,fmShareExclusive);
  F.Read(bin, 1024);
  F.Free;
Вопрос такой, как получить двоичный код любого файла?
Ale}{ander вне форума Ответить с цитированием
Старый 08.01.2014, 22:43   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Что такое двоичный код файла? Любой байт любого файла и представляет из себя 8 двоичных цифр. По теме - если уж читать, то лучше в массив Byte, а не Char. Если речь о произвольных файлах
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2014, 22:53   #3
Ale}{ander
Пользователь
 
Регистрация: 17.07.2013
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Что такое двоичный код файла? Любой байт любого файла и представляет из себя 8 двоичных цифр. По теме - если уж читать, то лучше в массив Byte, а не Char. Если речь о произвольных файлах
Возможно я не правильно выразился, эти самые 8 двоичных циферок каждого байта в файле мне и нужно получить. Но как???

п.с: Вообще я использовал byte, char я поставил из-за того, что TFileStream в byte не может загружать.
Ale}{ander вне форума Ответить с цитированием
Старый 08.01.2014, 23:04   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

IntToBin есть в IdGlobal или аналогичную сделать. Еще http://www.sources.ru/delphi/algorit...bintoint.shtml
А читать в массив байт F.Read(bin[0], 1024); и в цикле, пока до конца не прочитаешь

PS сомневаююсь, что упакованный файл впоследствии будет короче исходного, если так подходить к битам
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 08.01.2014 в 23:11.
Аватар вне форума Ответить с цитированием
Старый 08.01.2014, 23:08   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ale}{ander Посмотреть сообщение
п.с: Вообще я использовал byte, char я поставил из-за того, что TFileStream в byte не может загружать.
что за ересь?!!
с чего это вдруг?!


Код:
program Project7;

{$APPTYPE CONSOLE}

uses
  SysUtils, Classes;

var
  bin: array[0..1023] of byte;
  F : TFileStream;
  r : integer;
begin

  F:=TFileStream.Create('djo.avi',fmOpenRead,fmShareExclusive);
  r := F.Read(bin, sizeof(bin));
  F.Free;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.01.2014, 23:16   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
что за ересь?!!
И правда. Пошел на поводу ТС. Читать в статический массив байтов можно указывая bin или bin[0]
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2014, 23:27   #7
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от Ale}{ander Посмотреть сообщение
Возможно я не правильно выразился, эти самые 8 двоичных циферок каждого байта в файле мне и нужно получить. Но как???
Есть обоснованные сомнения что "эти самые 8 двоичных циферок" вам действительно нужны.
northener вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать данные из текстового файла, в двоичный код StE111 Общие вопросы Delphi 7 28.11.2013 07:39
перевод в ASCII код и в двоичный код Randy.Mandy Microsoft Office Excel 0 27.02.2012 21:40
Нужно получить данные из wav-файла в массив. sazca C# (си шарп) 1 22.02.2012 12:08
Нужно получить html код страницы NEOkill Работа с сетью в Delphi 2 01.03.2007 16:49