![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Необходимо временное сохранение данных при перезапуске математической программы. Данные довольно разнородны несколько матриц 4х4, 100х100, такие же вектора, отдельные числа. При каждом перезапуске программа считает их по новой тратя 99,9% времени, но они не меняются. Можно ли временно соханить их значение без компонент и файлов?
|
|
#2
|
||||
|
||||
|
Если без файлов, то разве что в буффер обмена. А чем файлы не устраивают?
|
|
#3
|
|||
|
|||
|
я писал для каждого нужного типа процедуры записи в файл и загрузки, не сохранились
|
|
#4
|
||||
|
||||
|
Я, например, все сейчас сохраняю через TMemoryStream. До этого использовал класс File, но почему-то он стал сохранять данные в 5(!) раз большие за размером файлы, чем TMemoryStream. Например, если через File файл занимал 600 мб, то через TMemoryStream - 65-80 мб. И в обох случаях все прекрасно читалось. Ну, еще параллельно использую модуль ZLib для сжатия - файл вообще занимает в таком случае 3-4 мб. И через TMemoryStream надежнее, кажись.
|
|
#5
|
|||
|
|||
|
Программа для других юзеров и писать лишние файлы без его согласия неприлично. Ну а буфер обмена, так ведь компонент Memo не обнуляется при перезапуске и хранить в нем - это единственное видимое мной решение.
(Данные нужны только самой программе). Но можно ли перезапускать без обнуления переменных Real, Array of Real? |
|
#6
|
|||
|
|||
|
Под перезапуском я имею в виду не повторное открытие .exe а просто новый расчет OnEvent.
|
|
#7
|
|||
|
|||
|
без компонент и файлов – да
|
| Этот пользователь сказал Спасибо Pyro за это полезное сообщение: | ||
smpsmath (19.08.2012)
| ||
|
#8
|
|||
|
|||
|
Ответ, конечно, буквальный. А как?
|
|
#9
|
||||
|
||||
|
Обьявлять нужные данные глобально. Тогда они будут "висеть" в памяти до кончания работы программы.
|
| Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение: | ||
smpsmath (19.08.2012)
| ||
|
#10
|
|||
|
|||
|
могут быть проблемы, если легко не определяется, какие данные пересчитывать заново, а какие взять из сохранённых
|
|
#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).
|