Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
vlchuprov
0 / 0 / 0
Регистрация: 30.09.2016
Сообщений: 10
#1

Считывание с бинарного файла большого массива и дальнейшая работа с ним - Delphi

07.10.2016, 18:10. Просмотров 304. Ответов 6
Метки нет (Все метки)

Здравствуйте.

Подскажите пожалуйста.
В общем передо мной стоит задача считать информацию из бинарных файлов разных размеров от 1 Mb,
содержащих переменные типа double.
Как ее считать и как ее преобразовать в привычный массив?
Подскажите про что почитать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2016, 18:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Считывание с бинарного файла большого массива и дальнейшая работа с ним (Delphi):

Открытие файла и работа с ним (opendialog) - Delphi
Здравствуйте. Подскажите пожалуйста каким образом работать с файлом, открытым opendialog ? Если заносить его сначала в мемо, то все...

Открытие файла и работа с ним (opendialog) | TStringList - Delphi
Пытаюсь загрузить из выбранного файла строки в TStringList, делаю это следующим образом: procedure TForm1.Button2Click(Sender:...

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

Считывание большого каталога файлов - Delphi
Нужно считать каталоги с кол-вом файлов от 10,000 тыс до 60,000. Код нашел в инете, обычный цикл по файлам (1 ур. вложенности),...

Считывание двумерного массива из текстового файла - Delphi
Здравствуйте! (turbodelphi). имею текстовый файл с квадратной матрицей(первая строка в файле это размерность), помогите считать этот массив...

Считывание массива чисел из файла и запись их в Memo - Delphi
Помогите пожалуйста Есть файл, в нем в 1 столбик идет массив чисел X,кол-во элементов нам неизвестно, нужно написать программу, которая...

6
BOGG ART
576 / 444 / 130
Регистрация: 09.12.2013
Сообщений: 2,384
Записей в блоге: 2
07.10.2016, 18:39 #2
Накаялкал на коленке, по памяти:
Delphi
1
2
3
4
5
6
7
8
9
Procedure ... ();
Var F: File; AoD: Array Of Double;
Begin
AssignFile(F, 'ArrayOfDouble.dat');
SetLength(AoD, FileSize(F) Div 4);
BlockRead(F, AoD[0], Length(AoD));
CloseFile(F);
...
End;
Могут быть косяки, но общую суть показывает.

Добавлено через 2 минуты
Сейчас придут товарищи, хорошо помнящие сию область - и подскажут не перепутал ли я чего, не забыл ли...
1
northener
пофигист широкого профиля
3246 / 2298 / 498
Регистрация: 15.07.2013
Сообщений: 13,554
07.10.2016, 18:58 #3
Цитата Сообщение от BOGG ART Посмотреть сообщение
перепутал ли я чего
Double - 8 байт, а не 4
1
BOGG ART
576 / 444 / 130
Регистрация: 09.12.2013
Сообщений: 2,384
Записей в блоге: 2
07.10.2016, 19:04 #4
ммм... Спасибо! Вообще сперва порывался написать как положено:
Delphi
1
FileSize(F) Div SizeOf(AoD[0])
но было слегка лень

А каких-нить функций после AssignFile не надо там?
1
northener
пофигист широкого профиля
3246 / 2298 / 498
Регистрация: 15.07.2013
Сообщений: 13,554
08.10.2016, 01:01 #5
Delphi
1
Reset(f,8);
Добавлено через 4 часа 22 минуты
Цитата Сообщение от vlchuprov Посмотреть сообщение
В общем передо мной стоит задача считать информацию из бинарных файлов разных размеров от 1 Mb,
содержащих переменные типа double.
А дальше то что вам нужно делать со считанной из "бинарных файлов разных размеров" информацией?
Просто считать данные из файла - раз плюнуть!
1
x128
175 / 164 / 27
Регистрация: 17.04.2010
Сообщений: 307
08.10.2016, 10:52 #6
Цитата Сообщение от BOGG ART Посмотреть сообщение
подскажут не перепутал ли я чего
Логичней было бы явно указать
Delphi
1
var  f: file of double;
и не думать о размере самого double.
1
vlchuprov
0 / 0 / 0
Регистрация: 30.09.2016
Сообщений: 10
08.10.2016, 12:23  [ТС] #7
Ну я думал, что это сложно...
А дальше надо будет отсортировать массив (данные записаны в виде "время" массив NXYZ "P V T", "время" массив NXYZ "P V T" ) и посчитать средние по "P " но я сам вроде бы должен разобраться.

Спасибо всем ответившим.
0
08.10.2016, 12:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2016, 12:23
Привет! Вот еще темы с ответами:

Результат select в массив и дальнейшая работа с ним - PHP БД
Выбираю с помощью mysql все товары с таблицы, заношу все в постоянный массив. Далее хочу работать с этим массивом через foreach, чтобы не...

Считывание данных из файла в массив и дальнейшая их сортировка - C++
Здравствуйте! В общем, задача такая: есть файл с двумя столбцами из чисел (числа с запятой). Нужно считать числа из второго столбца, затем...

Чтение файла в массивы и дальнейшая работа с ними - C#
Здравствуйте! Столкнулся с проблемой чтения массивов из файла. Задача следующая: необходимо считать из файла, в котором 4 столбца и n...

Считывание большого файла частями - C++ Builder
Здравствуйте. Задача почитать и обработать (парсить) большой файл, состоящий из строк. Для файла ~200мб всё работает. для файла ~600мб...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru