|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.10.2008, 16:49 | #11 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
fileStream.Write(KolVL, ... fileStream.Write(KolMN, ... ... |
|
02.10.2008, 17:04 | #12 | |
Пользователь
Регистрация: 19.06.2008
Сообщений: 32
|
Цитата:
То есть я так понимаю, что нереально записать в файл без дополнительной головной боли массив с большой разнородностью внутри элементов? |
|
02.10.2008, 17:38 | #13 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Тогда почему бы не использовать классы вместо record. А если они одинаковые, то в чем проблема ? - цикл по элементам и запись |
|
02.10.2008, 17:43 | #14 |
Пользователь
Регистрация: 19.06.2008
Сообщений: 32
|
Нет, элементы одинаковые. Просто элементы содержат разнородные поля. Ну я сверху привел пример. Насчет использования классов - это уже не сейчас. Надо сохранить и открыть то, что уже есть. Времени нет.
|
02.10.2008, 18:00 | #15 |
Пользователь
Регистрация: 19.06.2008
Сообщений: 32
|
то есть если убрать из рекорда ссылки (а можно их сделать просто nil или таких полей вовсе не должно быть?) а также заменить стринги, то будет работать fileStream.Write(record, sizeof(TPointMN)) ?
И как я понимаю получится множество файлов с отдельными элементами массива? Или их всех можно в единый файл затромбовать? А как их потом разделять при чтении? Последний раз редактировалось _Инженер_; 02.10.2008 в 18:03. |
02.10.2008, 18:12 | #16 | ||
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Цитата:
Write(r[1], sizeof(TPointMN)) Write(r[2], sizeof(TPointMN)) и также чтение: Read(r[1], sizeof(TPointMN)) Read(r[2], sizeof(TPointMN)) Никогда не использовали TFileStream ? Используйте то, к чему привыкли. Assign/Rewrite/WriteBlock - суть не изменится. |
||
02.10.2008, 18:22 | #17 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Ужас. Теория такова: вначале файла пишется таблица.. записи ваших данных верхнего уровня... а так же в заголовке указывается смещение на первую запись и сколько таких записей в данном блоке ( верхний уровень записей ). Для каждой записи, если число или фиксированая длинна строки к примеру array[0..1] of char то пишем сразу, если длина не фиксирована пишем так слово для хранения длины строки и смещение ( ну обычно я делаю записи строк в конце файла ) на строку уже определенной длины. И так далее.... таким образом если данная запись хранит в себе другую то в ней пишем смещение на внутриние записи и их кол-во... переходим и опять в рекурсивном записывании файла )) проходим те же этапы.... и так можно до бессконечности... Я обычно делаю переменную типа текущее смещение на строку к примеру... и когда записуется новая строка присваиваю текущую переменную ( как смещение ) и увеличиваю на длину записанной строки..
врятли конечно вы тут что-то поймете сделал вывод из выше стоящих постов .... |
02.10.2008, 18:32 | #18 |
Пользователь
Регистрация: 19.06.2008
Сообщений: 32
|
|
02.10.2008, 18:36 | #19 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Нет разумеется. Поэтому и отвечаю. Я бы так сделал как описал.
|
02.10.2008, 18:42 | #20 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
а БД не пробовали
таблицв1 . данные об узле электро таблица2 данные об узле нефть таблица3 данные об узле ... таблица 4 id узла электро1 id соседа слева id узла электро1 id соседа справа id узла электро1 id соседа сверху id узла электро2 id соседа справа id узла электро3 id соседа сверху ну и так далее Зачем в программе постоянно держать то, что вполне вероятно не понадобиться ( это я по узлы, которые находятся далеко от просматриваемого в данный момент).
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 02.10.2008 в 18:46. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Загрузка и сохранение в файл | rainbow | Общие вопросы Delphi | 16 | 27.09.2008 11:35 |
сохранение структуры (динамические списки очередей) в файле | AlenaZ | Помощь студентам | 2 | 09.06.2008 20:14 |
Сохранение в файл | Македонский | Общие вопросы Delphi | 4 | 05.09.2007 15:04 |
Сохранение ListView в файл | Scorpeon | Общие вопросы Delphi | 6 | 12.06.2007 15:51 |
Сохранение в файл *.*С | Noor | Общие вопросы C/C++ | 6 | 08.01.2007 22:44 |