Сохранение настроек программы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сохранение настроек программы

Сообщение xolod » 12.11.2004 (Пт) 20:36

Господа, будьте любезны, подскажите...

Как сохранить образ программы (отображаемый в памяти) в файл, а потом грузить его из этого файла.
А если проще: программа в процессе работы меняет значение переменных и прочие данные (все это же храниться в памяти и/или в подкачке). Так вот чтобы не сохранять настройки в реестр (или файл) хочеться сохранить все в файл и потом из него восстановить =)..

ЗЫ: Видел где-то такое на дельфи (но я в нем полный 0 и внимание посему не обратил) а теперь сделать хочеться, а как не знаю

ЗЗЫ: Благодарю за ответ заранее :lol:

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 12.11.2004 (Пт) 21:04

Можно сохранить настройки в ini-файл. Для работы с этим есть API-функции типа WritePrivateProfileString и другие.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 12.11.2004 (Пт) 22:00

INI - самый простой способ, хотя идея интересная но не очень нехорошо лишнюю копию файла создавать каждый раз.
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 13.11.2004 (Сб) 1:14

Господа, вы думаете что я не умею пользоваться INI или реестром?!
Вы не правы :D. Либо вы не внимательно читали вопрос.

Мне необходимо сохранять программу целиком (как образ памяти) и восстанавливать состояние при запуске!
Что-то похожее делает Windows при переходе в спящий режим 8), но как это реализовать, я не знаю.

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.11.2004 (Сб) 8:11

Это извращение :)

Указатель на начало образа - это hInstance. Берёшь его, смотришь в заголовке PE, по какому RVA загрузчик должен поместить секцию .text и какого она размера.
Ох изврат, ох изврат...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

skord
Китаец
Китаец
 
Сообщения: 572
Зарегистрирован: 14.10.2004 (Чт) 15:36
Откуда: Иркутск

Сообщение skord » 13.11.2004 (Сб) 8:18

А зачем тебе именно так? Я бы не парился и записал все в ini...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.11.2004 (Сб) 8:53

GSerg, .text-то зачем? Или у него код самомодифицирующийся? :-)
Достаточно сохранять .data и (если есть) .bss
Но безусловно, это изврат ещё тот...
Изображение

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 14.11.2004 (Вс) 16:41

Это изврат, согласен :D
Но настроек столько, что сохранять их в реестр или свой файл (типа INI) лень.. В дельфях это делается при помощи двух строк, в C# - 4
А в vb опять гемор :cry:

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.11.2004 (Вс) 16:54

Предъявите-ка строки, уважаемый :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.11.2004 (Вс) 17:20

xolod, я же вижу, что ты на форуме. Давай код, мне очень интересно узреть эти две-четыре строчки :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 14.11.2004 (Вс) 17:28

Search at: D:\Programm\Archive\PDF\Delphi
D:\Programm\Archive\PDF\C#
Please, wait...
:D

Напишу скоро...

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 14.11.2004 (Вс) 17:36

Во, для дельфина нашел 8)

У каждого объекта есть методы SaveToStream и LoadFromStream
Соответсвенно, сохраняющий и загружающий состояние этого объекта в файл и из файла :lol:

Кроме того, даже у формы есть эти медоты, и если их вызвать, то сохраниться не только состояние, но и всех компонентов, присутствующих на форме :D

ЗЫ: Для C# поиск продолжается. Точно помню - где-то видел...
ждем-с..

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.11.2004 (Вс) 17:53

А, дык делай activex exe, ставь классам persistable=true и вперёд...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 14.11.2004 (Вс) 18:16

Дык не пойдет :!:
Мне программа нормальная нужна, а не Активно-выполняемая :D
В смысле, просто exe...

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.11.2004 (Вс) 18:25

xolod, если ты считаешь, что ActiveX EXE тебя в чём-то ограничивает по сравнению со Standard EXE, то ты не прав.
Оно только лишь предоставляет дополнительные возможности.

В частности, ActiveX EXE можно запускать, как и любую другую нормальную программу.
Изображение

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 14.11.2004 (Вс) 18:32

... и ActiveX EXE саморегистрирующийся компонент ;-)
свои преимущества:)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 14.11.2004 (Вс) 18:33

тема истертая до дыр

1. Пользуем XML

2. http://www.mvps.org/emorcillo/vb6/com/index.shtml
см. Using Structured Storage Files

3. В MSDN вагон примеров на C++


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: PetalBot и гости: 2

    TopList  
cron