imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 24.03.2004, 14:45     # 1
ReapeR
Advanced Member
 
Аватар для ReapeR
 
Регистрация: 08.08.2002
Адрес: Nab. Chelny, Tatarstan
Сообщения: 447

ReapeR МолодецReapeR МолодецReapeR Молодец
Delphi: Сохранение дин. 3D массива в файле

Подскажите как сохранить динамический трехмерный массив в файл прямо из памяти (блоком).
массив определяется как:
M3D : array of array of array of double;

пробовал через blockwrite, но в файл попадает левая информация.
blockwrite(f,M3D,4,WriteBlocks) //4 блока по 1024 байта
__________________
-=Nomen est Omen=-
ReapeR вне форума  
Старый 24.03.2004, 14:52     # 2
ReapeR
Advanced Member
 
Аватар для ReapeR
 
Регистрация: 08.08.2002
Адрес: Nab. Chelny, Tatarstan
Сообщения: 447

ReapeR МолодецReapeR МолодецReapeR Молодец
если в blockwrite поставить M3D^ то дельфи ругаются на несовпадение типов.
__________________
-=Nomen est Omen=-
ReapeR вне форума  
Старый 01.04.2004, 02:31     # 3
t_G_M_
Guest
 
Сообщения: n/a

Левая информация какого типа? В этой информации хотя бы часть твоего массива присутствует?

Да, кстати, ты хэлп по процедуре BlockWrite смотрел?
Сейчас у меня нет времени разбираться, но вот часть кода оттуда:

var
FromF, ToF: file;
NumRead, NumWritten: Integer;
Buf: array[1..2048] of Char;

begin
........................

repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);

........................
end;

Ну а если не будет другого выхода, то придется делать перебором элементов.
 
Старый 01.04.2004, 11:34     # 4
ReapeR
Advanced Member
 
Аватар для ReapeR
 
Регистрация: 08.08.2002
Адрес: Nab. Chelny, Tatarstan
Сообщения: 447

ReapeR МолодецReapeR МолодецReapeR Молодец
t_G_M_
Левая информация - это например названия компонент использованные в программе.
Хелп смотрел, куда уж без него.

Я уже сделал перебором элементов, работает достаточно быстро, но все же хочется разобраться с этим моментом (на будущее так сказать)
__________________
-=Nomen est Omen=-
ReapeR вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 15:31.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.