С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 04.01.2013
Сообщений: 4

Пытаюсь перевести файл в двоичный код

04.01.2013, 22:18. Показов 2147. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пожалуйста кто может помогите...
Ситуация такая нужно открыть файл в двоичном коде 10101110... и вывести в мемо...
вот делаю так... выходят 101010101 но код не правильный!
вместо этого 7897282529= выходят 1 и 0 которые обозначают это 085087085
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
////////////////////////////////////
function HexToBin(Hexadecimal: string): string;
const
  BCD: array [0..15] of string =
    ('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111',
    '1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111');
var
  i: integer;
begin
  for i := Length(Hexadecimal) downto 1 do
    Result := BCD[StrToInt('$' + Hexadecimal[i])] + Result;
end;
///////////////////////
///////батон
Var    f:file;
    oneByte   : byte;
  s: string;
begin
   Memo1.Clear;
   AssignFile(f,'123.txt');//7897282529
  Reset(f, 1);
  while not Eof(f) do
  begin
    BlockRead(f, oneByte, 1);
    s:=s+ HexToBin(IntToStr(oneByte));
  end;
     Memo1.Text:=s;
  CloseFile(f);
  Edit1.Text:=inttostr(length(Memo1.Text));
Добавлено через 8 минут
вот так все работает Edit1.Text:= HexToBin(Edit1.Text); F=1111

Добавлено через 43 секунды
но нужно файл весь...

Добавлено через 32 секунды
что я не правильно делаю?
 Комментарий модератора 
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку: "DELPHI".
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.01.2013, 22:18
Ответы с готовыми решениями:

Перевести слово в двоичный код
как перевести слово в двоичный код? Например, слово ПРИМЕР программа выведет на экране как 011110 111010 001101 000010 010101 111010.

Текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый
Всем привет. Есть такая задачка: "текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый"...

Перевести строку в двоичный код
Доброго времени суток. Я ввожу строку например: string str = "Hello world"; Как мне теперь узнать как она записана в двоичном коде...

9
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.01.2013, 22:42
Цитата Сообщение от Mentis Посмотреть сообщение
7897282529
Это что, шестнадцатеричный код что ли ?
0
0 / 0 / 0
Регистрация: 04.01.2013
Сообщений: 4
04.01.2013, 22:46  [ТС]
Это внутри текстого редактора... а файлы в виндовсе в 16 сохраняются?

Добавлено через 1 минуту
ведь так...блин а что все правильно работает?
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.01.2013, 22:53
Цитата Сообщение от Mentis Посмотреть сообщение
Это внутри текстого редактора
Оно с луны туда, в редактор, свалилось ?
Ведь кто-то набирал там эту строку)
И этот кто-то, полагаю, при наборе должен был отдавать себе отчет в том что он набирает - то ли шестнадцатеричный код, то ли просто какие-то бессмысленные символы..


Цитата Сообщение от Mentis Посмотреть сообщение
а файлы в виндовсе в 16 сохраняются?
они сохраняются так как пожелает разработчик программы, создающей эти файлы.
0
0 / 0 / 0
Регистрация: 04.01.2013
Сообщений: 4
04.01.2013, 22:57  [ТС]
Что не так в коде?
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.01.2013, 23:09
Цитата Сообщение от Mentis Посмотреть сообщение
Что не так в коде?
Всё.
0
0 / 0 / 0
Регистрация: 04.01.2013
Сообщений: 4
04.01.2013, 23:14  [ТС]
аххааххахахаахха..... так функция работает... я видел на каком то форуме листинга нет.... там подобным кодом выводили в 10тичной....

Добавлено через 49 секунд
у меня тут BlockRead(f, oneByte, 1);
s:=s+ HexToBin(IntToStr(oneByte));
проблемы
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.01.2013, 23:53
Цитата Сообщение от Mentis Посмотреть сообщение
так функция работает
Ему задали простой и понятный уточняющий контрвопрос, от которого напрямую зависит ответ на "что я не правильно делаю" - является ли исходная строка "7897282529" последовательностью неких значений в шестнадцатеричном представлении , а он понес про "ахаха", про "функция работает", про "форумы" и прочую ахинею.

ппц.
0
4189 / 1837 / 220
Регистрация: 06.10.2010
Сообщений: 4,124
05.01.2013, 08:34
Массив байт в бит
0
 Аватар для Alexandr_
9 / 9 / 0
Регистрация: 20.08.2012
Сообщений: 79
08.01.2013, 11:41
Цитата Сообщение от Mentis Посмотреть сообщение
Пожалуйста кто может помогите...
Ситуация такая нужно открыть файл в двоичном коде 10101110... и вывести в мемо...
вот делаю так... выходят 101010101 но код не правильный!
вместо этого 7897282529= выходят 1 и 0 которые обозначают это 085087085
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var
  Form1: TForm1;
  F:file of Byte;
  b:Byte;
implementation
 
{$R *.dfm}
 
function inttobin(value:Byte):string; //Функция для превращения байта в двоичный код
var I,p:Integer;
begin
Result:='';
for i:=7 downto 0 do begin
if value and (1 shl i)<>0 then Result:=Result+'1'
else Result:=Result+'0';
end;
if Result='' then Result:='0';
end;
 
procedure TForm1.btn1Click(Sender: TObject);
begin
if dlgOpen1.Execute then begin
 AssignFile(f,dlgOpen1.FileName);
 Reset(f);
  while not Eof(f) do
  begin
    read(f,b);
    Form1.mmo1.Lines.Add(inttobin(b));
  end;
end;
end;
Это мой вариант. Если что-то не понял прошу не ругать, а вежливо объяснить.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.01.2013, 11:41
Помогаю со студенческими работами здесь

Перевести двоичный код в текст
Добрый день! Мне нужно перевести двоичный код из txt файла в текст на c# Нашел один метод, подскажите как его использовать на примере? ...

как перевести двоичный код в десятичный?
У меня есть код, который переводит двоичный в десятичный Вот код: def bin_to_dec(digit): dlina=len(digit) chislo_dec=0 for...

Перевести ASCII код в двоичный формат
Я считываю с файла слова.Оно переводится в ASCII код. Не получается перевести ASCII код в двоичный формат. У меня должно получится что-то...

Перевести введенное пользователем число в двоичный код
Добрый день. Подскажите, пожалуйста.. тип данных int unsigned long. у этого типа 32 bits. диапазон чисел от 0 до 4,294, 967,295. ...

Как перевести изображение в двоичный код и обратно?
УВАЖАЕМЫЕ ТОВАРИЩИ! Подскажите, пожалуйста или лучше объясните как нужно написать код программки . Есть исходный файл в виде картинки. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru