Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - [решено] Visual basic 6.0 сохранить изменения в текстовом поле

Ответить
Настройки темы
VBA - [решено] Visual basic 6.0 сохранить изменения в текстовом поле

Пользователь


Сообщения: 105
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg Безымянный.jpg
(44.5 Kb, 3 просмотров)
Добрый день! Хотел написать программу, в качестве шаблона использовал базу данных biblio.mdb. Есть 2 текстовых поля и два поля со списком бд, они связаны кнопкой "применить" так:

Private Sub Command1_Click()
Text1.Text = DBCombo1.Text
Text2.Text = DBCombo2.Text
End Sub
Также есть кнопки сохранить и выход.

Хотел спросить как сохранить изменения в текстовых полях - Text1.Text и Text2.Text (чтобы программа открылась с теми же значениями, что и были выбраны при закрытии)?

Заранее спасибо!

Отправлено: 12:07, 28-08-2018

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата artemu88:
Хотел спросить как сохранить изменения в текстовых полях - Text1.Text и Text2.Text (чтобы программа открылась с теми же значениями, что и были выбраны при закрытии)? »
Сохраните их в ini-файле, например:
Скрытый текст
Код: Выделить весь код
Option Explicit

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ( _
    ByVal lpApplicationName As String, _
    ByVal lpKeyName As Any, _
    ByVal lpString As Any, _
    ByVal lpFileName As String _
) As Long

Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" ( _
    ByVal lpApplicationName As String, _
    ByVal lpKeyName As Any, _
    ByVal lpDefault As String, _
    ByVal lpReturnedString As String, _
    ByVal nSize As Long, _
    ByVal lpFileName As String _
) As Long
                        
Public strPath2Ini As String

Private Sub Form_Initialize()
    strPath2Ini = App.Path & "\" & App.EXEName & ".ini"
End Sub

Private Sub Form_Load()
    Text1.Text = INIRead("Global", "TextBox1", strPath2Ini)
    Text2.Text = INIRead("Global", "TextBox2", strPath2Ini)
End Sub

Private Sub Form_Unload(Cancel As Integer)
    INIWrite "Global", "TextBox1", Text1.Text, strPath2Ini
    INIWrite "Global", "TextBox2", Text2.Text, strPath2Ini
End Sub

Public Function INIWrite(sSection As String, sKeyName As String, sNewString As String, sINIFileName As String) As Boolean
    Call WritePrivateProfileString(sSection, sKeyName, sNewString, sINIFileName)
    INIWrite = (Err.Number = 0)
End Function

Public Function INIRead(sSection As String, sKeyName As String, sINIFileName As String) As String
    Dim sRet As String
    
    sRet = String(255, Chr(0))
    INIRead = Left(sRet, GetPrivateProfileString(sSection, ByVal sKeyName, "", sRet, Len(sRet), sINIFileName))
End Function

Вместо того, чтобы сохранять в процедуре Form_Unload, Вы можете делать это в процедуре обработки нажатия кнопки «Сохранить».

Отправлено: 12:32, 28-08-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 105
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я хотел, чтобы эти значения (в текстовых полях) подтягивались с помощью кнопки применить, а потом сохранялись по закрытии программы и загружались при новом открытии. Или это то же самое?

Отправлено: 12:44, 28-08-2018 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата artemu88:
чтобы эти значения (в текстовых полях) подтягивались с помощью кнопки применить »
Э… Поясните, какой смысл Вы вкладываете в «эти значения … подтягивались»?

Цитата artemu88:
а потом сохранялись по закрытии программы и загружались при новом открытии. »
При выгрузке формы значения текстовых полей сохраняются в ini-файл, одноимённый имени исполняемого файла приложения, расположенного рядом с с последним:
Скрытый текст

При загрузке формы значения из ini-файла загружаются и присваиваются текстовым полям.

Отправлено: 13:23, 28-08-2018 | #4


Пользователь


Сообщения: 105
Благодарности: 0

Профиль | Отправить PM | Цитировать


Теперь понял
А для того, чтобы появился ini нужно скомпилировать программу при помощи Package & Deployment Wizard?
И писать все нужно код такой же как вы сказали?
Я просто хотел на кнопку сделать (кнопка сохранить).
При сохранении проекта у меня никакого файла ini нет

Отправлено: 13:48, 28-08-2018 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата artemu88:
При сохранении проекта у меня никакого файла ini нет »
Естественно. Запустите проект на исполнение хотя бы один раз — ini-файл появится. Конечно, расположение его должно быть не рядом с исполняемым файлом проекта (это я только для простоты сделал, туда у пользователя тупо может не быть прав на запись), а в профиле текущего пользователя.

Цитата artemu88:
Я просто хотел на кнопку сделать (кнопка сохранить). »
Помещаете:
Код: Выделить весь код
    INIWrite "Global", "TextBox1", Text1.Text, strPath2Ini
    INIWrite "Global", "TextBox2", Text2.Text, strPath2Ini
не в процедуру выгрузки формы Form_Unload(), а в процедуру обработки нажатия кнопки «Сохранить», только и всего.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:18, 28-08-2018 | #6


Пользователь


Сообщения: 105
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо большое, все заработало!
Не подскажете, какие книги по vb6 можно почитать, чтобы изучить в полном объеме?

Отправлено: 11:24, 29-08-2018 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Любые. Главное — объём: желательно не менее 1200~1500 страниц, чтобы худо-бедно были рассмотрены основные вопросы и технологии.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:49, 29-08-2018 | #8


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Хотя нет, одну таки посоветую: Dan Appleman's Visual Basic Programmer's Guide to the Win32 API: Dan Appleman: 9780672315909: Amazon.com: Books, (есть перевод на русский язык, ищите по: Дэн Эпплман, «Win32 API и Visual Basic»). Помогает понять внутреннюю кухню VB, что на самом деле происходит «за кадром» при исполнении приложения, написанного на VB.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:50, 29-08-2018 | #9


Пользователь


Сообщения: 105
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо, скачал! Заказал еще одну книгу по vb6 Сайлер Б. Использование Visual Basic 6. Классическое издание, правда 800 страниц, но по описанию вроде как ничего, потому как мой самоучитель даже бд не рассматривает

Отправлено: 13:15, 30-08-2018 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - [решено] Visual basic 6.0 сохранить изменения в текстовом поле

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Спасайте! Замена первой строки в текстовом поле eus_deus AutoIt 21 06-09-2013 22:01
visual basic 6 guma Программирование и базы данных 1 26-04-2007 20:41
Visual Basic MaxFactor Программирование и базы данных 56 06-10-2004 15:01
Visual Basic !!! skulida Программирование и базы данных 2 06-04-2003 12:13
Visual Basic Anton R Программирование и базы данных 2 03-04-2003 16:35




 
Переход