Чтение и запись!!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

Чтение и запись!!

Сообщение DVV » 16.09.2004 (Чт) 20:58

Кто-нибудь знает как можно сохранять настройки в программе!
Если можно по подробнее!Заранее спасибо!!!
Vadim

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

Сообщение GSerg » 16.09.2004 (Чт) 21:11

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

DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

Сообщение DVV » 17.09.2004 (Пт) 19:44

Поподробнее можно!
Vadim

all
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 01.06.2004 (Вт) 18:48

Сообщение all » 17.09.2004 (Пт) 20:13

Код: Выделить всё
Private Sub Form_Load()

  Me.Left = GetSetting(App.EXEName, "Position", "Left", 0)

  Me.Top = GetSetting(App.EXEName, "Position", "Top", 0)

  Me.Caption = GetSetting(App.EXEName, "Other", "Caption", "Проба")

End Sub


Private Sub Form_Unload(Cancel As Integer)

  SaveSetting App.EXEName, "Position", "Left", Me.Left

  SaveSetting App.EXEName, "Position", "Top", Me.Top

  SaveSetting App.EXEName, "Other", "Caption", Me.Caption

End Sub



SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 17.09.2004 (Пт) 20:26

Не нашел ссылку в поиске поэтому цитирую из заранее сохраненного:
moderator писал(а):Visual Basic имеет встроенные операторы и функции для работы с Системным Реестром (в дальнешем - реестр), он позволяет записывать, считывать и удалять данные только в разделе ключа HKEY_CURRENT_USER Software VB and VBA Program Setting.

Операторы:

Оператор SaveSetting – позволяет производить запись запись данных (автоматически создает подключи).

Синтаксис:


SaveSetting VBKeyName, Section, Key, Setting

Где:


SaveSetting имя самого оператора:


VBKeyName строковое значение, которое является именем внутреннего
подраздела VB and VBA Program Setting (иными словами,
создаваемая Вами главная папка);

Section строковое значение, которое является именем внутреннего
подраздела VBKeyName (иными словами, создаваемая Вами
папка находящаяся в Вашей главной папке. Таких Section -
папок у Вас может быть несколько.);

Key строковое значение, которое является именем параметра в
созданном, внутреннем подразделе Section (иными словами,
имя данных в созданной Вами Section - папке. Таких Key –

параметров у Вас может буть несколько.);

Setting строковое значение, которое Вы хотите присвоить созданному
Вами параметру;

Оператор DeleteSetting – позволяет удалять параметры и внутренние подразделы.

Синтаксис:

DeleteSetting VBKeyName, Section, Key

Где:

DeleteSetting имя самого оператора


VBKeyName строковое значение, которое является именем внутреннего
подраздела VB and VBA Program Setting (иными словами,
созданная Вами главная папка);

Section строковое значение, которое является именем внутреннего
подраздела VBKeyName (иными словами, одна из созданных
Вами папок находящихся в Вашей главной папке.);

Key строковое значение, которое является именем параметра в
удаляемом, внутреннем подразделе Section (иными словами,
имя удаляемых данных);

Если Вы захотите удалить сразу весь подраздел, а не некоторые параметры, то для этого используйте следующий синтаксис оператора DeleteSetting :

DeleteSetting VBKeyName, Section

Или, если Вы захотите удалить целиком созданный Вами внутренний подраздел VB and VBA Program Setting используйте следующий синтаксис оператора DeleteSetting :

DeleteSetting VBKeyName

Внимание!!! Пользуйтесь оператором DeleteSetting очень осторожно!

Функции

Функция GetSetting() – позволяет получить значения определенного параметра.

Синтаксис

MySet = GetSetting ( VBKeyName, Section, Key [, Default ] )

Где:

MySet строка для хранения возвращаемого функцией GetSetting значения;

GetSetting имя самой функции;


VBKeyName строковое значение, которое является именем внутреннего подраздела
VB and VBA Program Setting (иными словами, созданная Вами
главная папка);

Section строковое значение, которое является именем внутреннего подраздела
VBKeyName (иными словами, имя папки находящаяся в Вашей
главной папке.);

Key строковое значение, которое является именем параметра в созданном,
внутреннем подразделе Section (иными словами, имя данных
в Section - папке.);

Setting строковое значение, которое Вы хотите считать из данного параметра;

[ Default ] необязательный аргумент, представляющий строковое значение,
которое будет возвращено функцией в случае ошибки
(если такого параметра нет);

Функциа GetAllSettings() – позволяет получить массив значений из определенного подраздела.

Синтаксис:

MySet = GetAllSettings ( VBKeyName, Section)

Где:

MySet строка для хранения возвращаемого функцией GetAllSettings
значения;

GetAllSettings имя самой функции;


VBKeyName строковое значение, которое является именем внутреннего
подраздела VB and VBA Program Setting (иными словами,
созданная Вами главная папка);

Section строковое значение, которое является именем внутреннего
подраздела VBKeyName (иными словами, имя папки
находящаяся в Вашей главной папке.);


Подробнее не напишешь
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сообщение Calvin » 23.09.2004 (Чт) 9:13

У меня что-то не получается. Хочу для начала хотя бы создать папку с сохраненными настройками в папке, где находится мой проект:
Код: Выделить всё
Private Sub Form_Unload(Cancel As Integer)
SaveSetting App.EXEName, "Position", "Left", Me.Left
End Sub

но по-моему никакой реакции..... :roll:
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

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

Сообщение tyomitch » 23.09.2004 (Чт) 9:44

Потому что настройки сохраняются не в папке, а в реестре.
Изображение

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 23.09.2004 (Чт) 11:30

Используй инишники. Ибо рулез ;)
Вложения
clsIni.zip
Работа с ini-файлами. (c) Я :)
(2.94 Кб) Скачиваний: 27
Последний раз редактировалось Sedge 23.09.2004 (Чт) 12:58, всего редактировалось 2 раз(а).

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сообщение Calvin » 23.09.2004 (Чт) 11:32

понятно
дело в том, что я пытаюсь "загрузить" хотя бы одну сохраненную проперть (me.left), но эта проперть не сохраняется. Перед выгрузкой формы я менял меторасположение формы
Вот код:
Код: Выделить всё
Private Sub Form_Initialize()
MySet = GetSetting(App.EXEName, "Position", "Left")
End Sub

'потом сдвигаю в любом направлении

Private Sub Form_Unload(Cancel As Integer)
SaveSetting App.EXEName, "Position", "Left", Me.Left
End Sub

и в конце концов при каждом перезапуске формы проперть left увеличивается на 330....бред какой-то
и после 2310 опять обнуляется :evil:
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сообщение Calvin » 23.09.2004 (Чт) 11:43

2 Sedge ща позырю.....


Всем спасибо большое за помощь - все работает....оба метода хороши :lol:
Последний раз редактировалось Calvin 24.09.2004 (Пт) 9:03, всего редактировалось 1 раз.
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 23.09.2004 (Чт) 12:52

Попробуй, должно работать:
Код: Выделить всё
Private Sub Form_Initialize()
    Me.Left = GetSetting(App.EXEName, "Position", "Left", Me.Left)
    Me.Top = GetSetting(App.EXEName, "Position", "top", Me.Top)
End Sub

Private Sub Form_Unload(Cancel As Integer)
    SaveSetting App.EXEName, "Position", "Left", Me.Left
    SaveSetting App.EXEName, "Position", "top", Me.Top
End Sub
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 3

    TopList