|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Сохранение данных пользовательской переменной в файл
Доброго времени суток всем!
Появилась следующая проблема: надо написать серию программ для расчетов. При том каждая последующая использует данные предыдущий. А их куча и количество определяется при запуске счета (задается пользователем) При расчете данные структурированы в трехмерные, двухмерные и одномерные динамические массивы (их несколько), а исходные данные при этом хранятся в одномерном динамическом массиве и простых переменных. Как все это записать в один файл? создавать собственную структуру файла не хочется.. Создал пользовательский тип: Код:
Tmymesh = record xprof, yprof, Lprof: Array of real; np,nlob, ig,jg,kg,napr: integer; rp1,rp2,dlrp,hr,lr,rmax, lmax, T1, T2, teta: real; mksi,meta,mzeta: array of real; mx,my,mz,Jcob: array of array of array of real; mxdksi,mydksi,mzdksi: array of array of array of real; mxdeta,mydeta,mzdeta: array of array of array of real; mxdzeta,mydzeta,mzdzeta: array of array of array of real; ksix,ksiy,ksiz: array of array of array of real; etax,etay,etaz: array of array of array of real; zetax,zetay,zetaz: array of array of array of real; ncx,ncy,ncz: array of array of real; end; А что с ним делать дальше как записать в файл, ума не приложу.... Структура file of из-за динамических массивов не годится. Есть какие-нибудь идеи? Последний раз редактировалось Admin, 20.11.2013 в 20:15. |
#2
|
||||
|
||||
Простейшее решение - пишем размерность массива, потом длину каждого измерения, потом элементы. И так для всех.
jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
Цитата:
Она перемена. И по-большому счету определяется ресурсами компьютера и терпением пользователя от 90х20х20 до 360х50х50 и выше). А каждый раз лезть и менять синтаксисе в данном случае не дело. А задавать с запасом тоже не хочется. или я не правильно понял? |
#4
|
||||
|
||||
Не правильно. Во время выполнения программы длина каждого измерения известна. Допустим, сейчас массив 100х40х40. Вот мы и пишем в файл:
3 100 40 40 <100 * 40 * 40 чисел> Естественно в бинарном виде. Чтоб загрузить - читаем эти 4 числа, выделяем массив, читаем элементы. jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
|||
|
|||
Цитата:
|
#6
|
||||
|
||||
blockread/blockwrite, TFileStream.
jmp $ ; Happy End! The Cake Is A Lie. |
Этот пользователь сказал Спасибо Bargest за это полезное сообщение: | ||
mustimur (21.11.2013)
|