Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 172

Чтение и запись в бинарный файл

19.12.2020, 00:27. Показов 4587. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую.
Нужна помощь кодом, есть бинарный файл размером 1кб
Мне нужно в Edit1 вывести содержимое из файла вида 8100B362
А в Edit2 например ввести новое значение 7534A514 и заменить 8100B362 в файле.

Пример:
Миниатюры
Чтение и запись в бинарный файл   Чтение и запись в бинарный файл  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.12.2020, 00:27
Ответы с готовыми решениями:

Чтение и запись в бинарный файл
Всем привет. Нужна помощь с решение задачи по программированию. Не могу разобраться как записать и считать назад структуру из бинарного...

Чтение и запись в бинарный файл
Мой код должен решать следующую задачу: Даны два файла f 1 и f 2. Файл f 1-это инвентарный файл, содержащий сведения о том, сколько...

Чтение и запись в бинарный файл
Записываю текст из Memo в бинарный файл, потом в другой программе пытаюсь считать текст из этого бинарного файла в Memo, но при считывании...

48
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 172
19.12.2020, 19:08  [ТС]
Студворк — интернет-сервис помощи студентам
8 байт считывается и пишется без проблем, все супер.
А вот как тогда считать 64 байта в Edit1 одной строк, а Edit2 задать новые значение и записать обратно в файл ?
0
5 / 5 / 1
Регистрация: 09.12.2020
Сообщений: 194
19.12.2020, 19:21
Какая задача была, такой и ответ. Тут без считывания из файла и сразу запись

Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Button2Click(Sender: TObject);
begin
AssignFile (f, '1.bin');
Reset (f, 1);
s:='7534A514'; // s:=Edit2.Text;
Seek (f, $12c);
BlockWrite (f, s[1], 8); // Write
CloseFile (f);
end;
Добавлено через 3 минуты
Цитата Сообщение от Myrus Посмотреть сообщение
считать 64 байта
Delphi
1
2
3
for x:=1 to 64 do s[x]:=' '; // Init 64 symbols
BlockRead (f, s[1], 64); //Read
Edit1.Text:= s;
Но в Едит бинарные нельзя писать, надо преобразовать

Добавлено через 6 минут
И перед записью преобразовать в бинарное из Едит, но тут уже лучше работать с массивами байтов, а не со строками
1
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 172
19.12.2020, 19:22  [ТС]
Цитата Сообщение от West2000 Посмотреть сообщение
И перед записью преобразовать в бинарное из Едит, но тут уже лучше работать с массивами байтов, а не со строками
Ой ) Если не затруднит, а можно кодом как считать и сохранить. Для меня это высшая математика.
0
5 / 5 / 1
Регистрация: 09.12.2020
Сообщений: 194
19.12.2020, 19:28
Наверное так, я же не знаю, что именно требуется

Delphi
1
2
3
4
5
6
7
var
arr: array [0..255] of byte;
begin
BlockRead (f, arr[0], 64);
s:='';
for x:=1 to 64 do s:= s + IntToStr (arr [x] ) + ',' ; // 11, 2222, 34, 4,
end;
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,495
19.12.2020, 19:33
Уже до 64 байтов дошли...

Myrus, считай весь килобайт в память и там меняй что хочешь. Потом запишешь обратно, если надо будет.
0
5 / 5 / 1
Регистрация: 09.12.2020
Сообщений: 194
19.12.2020, 19:36
Цитата Сообщение от West2000 Посмотреть сообщение
С файлом никогда напрямую не работают, считывают сначала в память, а потом уже раскидывают значения в памяти, куда надо
Пришли к исходному "Вест всегда прав (с) Вест"
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,495
19.12.2020, 19:39
Можно ещё файл отобразить в память. Чем не "прямая работа с файлом"?
0
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 172
19.12.2020, 19:39  [ТС]
Цитата Сообщение от AzAtom Посмотреть сообщение
считай весь килобайт в память и там меняй что хочешь. Потом запишешь обратно, если надо будет.
Я думал хватит того что вы ребят написали мне. Извините, не хватило
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,495
19.12.2020, 19:40
Хотя, на самом деле, работа будет всё равно идти в памяти.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.12.2020, 19:40

Чтение и запись в бинарный файл
Ребят nомогите мне nожалуйста. Я хочу nрочитать бинарный файл , в котором заnисаны данные в виде структуры, глянул в инете как читают и...

Чтение и запись в бинарный файл
Добрый день! Помогите разобраться. Надо записать информацию в бинарник, а потом прочесть из него и вывести на экран. Вроде все делаю...

Запись/чтение бинарный файл
Подскажите, пожалуйста, где можно посмотреть оптимальный пример о записи и чтении списка объектов класса в бинарный файл? Да что там...

Чтение и запись информации в бинарный файл
Мне необходимо выполнить задание: Тема: "Бинарные файлы. Файл из структур" Для каждого из вариантов задания необходимо...

Чтение/Запись в текстовый и бинарный файл.
Подскажите в чем ошибка. Функции чтения и записи в бинарный и текстовый файл толком не работают( Вот программа: HEADER.H ...


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

Или воспользуйтесь поиском по форуму:
49
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru