Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Многомерный массив в файл [D6, D7]


flaxe ©   (2006-07-02 22:52:00) 

Как лучше всего сохранить многомерный массив array[0..10,0..40,0..40] of string; в файл? Ну и соответственно извлеч его после?


MBo   (2006-07-03 12:06:00) [1]

строки длинные ничем не помешают, если использовать старый, простой, как валенок, и надежный способ - обыкновенный TextFile,  AssignFile, Rewrite, Writeln, при чтении - Readln


tesseract   (2006-07-03 11:03:00) [2]


> тогда строка станет простым массивом, а не динамическим.


не забываем про макс длину в 255 символов.
Если нужно больше - array of char;


flaxe   (2006-07-02 23:53:00) [3]

пасиб... завтра буду разбираться!


Rial   (2006-07-02 23:01:00) [4]

Я так понимаю, потытки были уже ?

1.Сделать array[0..10,0..40,0..40] of string[Len],
тогда строка станет простым массивом, а не динамическим.

2.Следать так:
(Обычный файл)
Write Размер 1
Write Размер 2
Write Размер 3
For I:=0 to Размер1 do
For ...
 L:=Length(A[I,J,K]);
 Write(L,SizeOf(L));
 Write(Pointer(A[I,J,K])^,L);

Чтение -в том же порядке.

Надеюсь, идеяпонятна.

3.
(Тестовый файл)
WriteLn Размер 1
WriteLn Размер 2
WriteLn Размер 3
For I:=0 to Размер1 do
For ...
 WriteLn(Pointer(A[I,J,K]));

Последний способ самый простой, но и самый медленный.


Наверх

Титульная страница Поиск, карта сайта Написать письмо