Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];

Вниз

Многомерный массив в файл   Найти похожие ветки 

 
flaxe ©   (2006-07-02 22:52) [0]

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


 
Rial ©   (2006-07-02 23:01) [1]

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

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]));

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


 
flaxe ©   (2006-07-02 23:53) [2]

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


 
tesseract ©   (2006-07-03 11:03) [3]


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


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


 
MBo ©   (2006-07-03 12:06) [4]

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
2-1151690183
resuS
2006-06-30 21:56
2006.07.23
русский язык в консольном приложении


2-1152093456
dan317
2006-07-05 13:57
2006.07.23
проблема с лицензией EhLib


2-1151744556
kernel
2006-07-01 13:02
2006.07.23
Раскладка клавы


2-1151949475
HBreaker
2006-07-03 21:57
2006.07.23
Ошибка CoInitialize has not been called


2-1151897832
learner
2006-07-03 07:37
2006.07.23
BeginThread и CreateThread





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский