|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Сохранение данных при перезапуске
Необходимо временное сохранение данных при перезапуске математической программы. Данные довольно разнородны несколько матриц 4х4, 100х100, такие же вектора, отдельные числа. При каждом перезапуске программа считает их по новой тратя 99,9% времени, но они не меняются. Можно ли временно соханить их значение без компонент и файлов?
|
#2
|
||||
|
||||
Если без файлов, то разве что в буффер обмена. А чем файлы не устраивают?
|
#3
|
|||
|
|||
я писал для каждого нужного типа процедуры записи в файл и загрузки, не сохранились
>woweook< |
#4
|
||||
|
||||
Я, например, все сейчас сохраняю через TMemoryStream. До этого использовал класс File, но почему-то он стал сохранять данные в 5(!) раз большие за размером файлы, чем TMemoryStream. Например, если через File файл занимал 600 мб, то через TMemoryStream - 65-80 мб. И в обох случаях все прекрасно читалось. Ну, еще параллельно использую модуль ZLib для сжатия - файл вообще занимает в таком случае 3-4 мб. И через TMemoryStream надежнее, кажись.
|
#5
|
|||
|
|||
Программа для других юзеров и писать лишние файлы без его согласия неприлично. Ну а буфер обмена, так ведь компонент Memo не обнуляется при перезапуске и хранить в нем - это единственное видимое мной решение.
(Данные нужны только самой программе). Но можно ли перезапускать без обнуления переменных Real, Array of Real? |
#6
|
|||
|
|||
Под перезапуском я имею в виду не повторное открытие .exe а просто новый расчет OnEvent.
|
#7
|
|||
|
|||
без компонент и файлов – да
>woweook< |
Этот пользователь сказал Спасибо Pyro за это полезное сообщение: | ||
smpsmath (19.08.2012)
|
#8
|
|||
|
|||
Ответ, конечно, буквальный. А как?
|
#9
|
||||
|
||||
Обьявлять нужные данные глобально. Тогда они будут "висеть" в памяти до кончания работы программы.
|
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение: | ||
smpsmath (19.08.2012)
|
#10
|
|||
|
|||
могут быть проблемы, если легко не определяется, какие данные пересчитывать заново, а какие взять из сохранённых
>woweook< |
#11
|
|||
|
|||
Все что выдал HELP: "Variables declared within a procedure or function are sometimes called local, while other variables are called global."
Т.е. необходимо их обьявить до uses? и вроде для global есть еще синтаксис? |
#12
|
|||
|
|||
Спасибо. Обьявил var в разделе interface и вроде получилось для real. Я догадывался, что есть путь проще чем через Memo, поэтому и спрашивал.
|
#13
|
||||
|
||||
Наверное удобнее сохранять не в var, а в запись (record).
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |